[JSP ] 找不到Servlet類別

看板java作者 (知足常樂)時間9年前 (2015/10/20 10:13), 9年前編輯推噓6(6018)
留言24則, 5人參與, 最新討論串1/1
各位好,小弟有兩個檔案,一個是tryJSP.jsp,另一個是servlet檔(TryServlet.java) JSP檔裡面有個按鈕,點下去後會用$.ajax post的方式連到Servlet檔 $.ajax post的url是 "/Eclipse專案的名稱/TryServlet", Servlet檔裡面有宣告一個字串(String ss = "Hello"), 然後Servlet會傳回該字串到JSP檔案,JSP檔案會將該字串使用alert的方式顯示出來。 只是現在按下去後沒有success,而是跑到$.ajax的error區段,且console顯示下列訊息: java.lang.ClassNotFoundException: TryServlet 想請問該怎麼解決這個問題,有把url改成"/TryServlet",但結果還是一樣 ~"~ 程式碼如下: 【TryServlet.java】 import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TryServlet extends HttpServlet { private static final long serialVersionUID = 1L; public TryServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String send_back = "Hello"; PrintWriter out = response.getWriter(); out.print(send_back); out.flush(); out.close(); } } 【tryJSP.jsp】 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "" rel="nofollow">http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.min.js"></script> <title>Insert title here</title> </head> <body> <input type="button" id="query" value="Click me" /> <script type="text/javascript"> $("#query").click(function() { $.ajax({ type : "POST", url : " /MyProjectName/TryServlet", data : { }, dataType : "text", success : function(string_back) { alert(string_back); }, error : function(xhr, textStatus, error) { console.log(xhr); alert("連線錯誤,請重新查詢"); console.log(error); }, //請求完成時執行的函式(不論結果是success或error) complete : function() { alert("done"); } }); }); </script> </body> </html> 【web.xml】 .. .. <servlet> <description></description> <display-name>TryServlet</display-name> <servlet-name>TryServlet</servlet-name> <servlet-class>TryServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>TryServlet</servlet-name> <url-pattern>/TryServlet</url-pattern> </servlet-mapping> <servlet> .. .. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.208.196.50 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1445307189.A.40D.html

10/20 10:32, , 1F
你的路徑設定在xml還是跟本沒設呢?
10/20 10:32, 1F

10/20 11:26, , 2F
路徑是設在web.xml,剛加上web.xml的設定文章裡了
10/20 11:26, 2F

10/20 11:51, , 3F
servlet-class要用全名吧,含package
10/20 11:51, 3F

10/20 13:48, , 4F
package是(default package),實體路徑上無該資料夾
10/20 13:48, 4F

10/20 14:10, , 5F
你的意思是package放在src資料夾下面嗎?
10/20 14:10, 5F

10/20 15:41, , 6F
" /MyProjectName/TestServ", ??
10/20 15:41, 6F

10/20 15:42, , 7F
只是這裡打錯而已嗎
10/20 15:42, 7F

10/20 16:51, , 8F
servlet-class 要打package name, com.ooxx.TryServlet
10/20 16:51, 8F

10/20 23:43, , 9F
src目錄底下是TryServlet.java 該目錄底下無其他資料夾
10/20 23:43, 9F
※ 編輯: qazsd (123.195.53.137), 10/20/2015 23:44:30

10/20 23:45, , 10F
回gpc大大, 已更正post的url為專案名稱/TryServlet
10/20 23:45, 10F

10/21 08:43, , 11F
那問題還是一樣嗎?!
10/21 08:43, 11F

10/21 08:47, , 12F
console還是顯示ClassNotFoundException嗎?!
10/21 08:47, 12F

10/21 16:49, , 13F
對 還是class not found
10/21 16:49, 13F

10/21 18:41, , 14F
假設說你的JQuery url 只打 TryServlet ?!?!
10/21 18:41, 14F

10/21 18:42, , 15F
就”TryServlet” 這樣咧?!
10/21 18:42, 15F

10/21 19:42, , 16F
你的TryServlet有compile成.class檔嗎
10/21 19:42, 16F

10/21 21:44, , 17F
回gpc大大,jQuery url打/TryServlet
10/21 21:44, 17F

10/21 21:44, , 18F
或是打/專案名稱/TryServlet好像都不行
10/21 21:44, 18F

10/21 21:45, , 19F
另外沒有.class檔,按了Eclipse的build project後還是沒有
10/21 21:45, 19F

10/21 23:05, , 20F
沒有class!!如果你連斜線都不打咧?!
10/21 23:05, 20F

10/22 19:51, , 21F
url改成./TryServlet,然後將servlet放在package,
10/22 19:51, 21F

10/22 19:52, , 22F
servlet-class改成org.xx.TryServlet後就可以了
10/22 19:52, 22F

10/22 20:58, , 23F
good
10/22 20:58, 23F

10/22 21:04, , 24F
好喔那就結案囉~_~
10/22 21:04, 24F
文章代碼(AID): #1M9QCrGD (java)
文章代碼(AID): #1M9QCrGD (java)