[JSP&Servlet] ServletException的問題

看板java作者 (rrrl)時間18年前 (2008/05/23 00:37), 編輯推噓4(403)
留言7則, 3人參與, 最新討論串1/1
小弟我最近開始學做動態網頁,看的書是head first系列的Servlet&Jsp, 看書的過程中遭遇了一些小小問題,希望大大們能耐心看完! -- 書上一開始要先建一個html檔名form.html原始碼如下: <html> <body> <h1>啤酒選擇畫面</h1> <form method="POST" action="SelectBeer.do"> 選出想喝的啤酒<p> 顏色; <select name="color" size="1"> <option>light <option>amber <option>brown <option>dark </select> <br> <br> <input type="SUBMIT"> </form> </body> </html> -- -- 接著又照著書上打了一個Servlet,原始碼如下:檔名是BeerSelect.java import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class BeerSelect extends HttpServlet{ public void doPost(HttpServletRequest req,HttpServletResponse res) throws IOException,ServletException{ res.setContentType("text/html;charset=big5"); PrintWriter out = res.getWriter(); out.println("啤酒建議清單<br>"); String c = req.getParameter("color"); out.println("<br>你輸入的顏色是"+c); } } -- -- 然後設定web.xml <web-app xmlns="http://java.sun.com/xml/ns/j2se" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="" rel="nofollow">http://java.sun.com/xml/ns/j2se/web-app_2_4.xsd"> <servlet> <servlet-name>Ch3 Beer</servlet-name> <servlet-class>com.example.web.BeerSelect</servlet-class> </servlet> <servlet-mapping> <servlet-name>Ch3 Beer</servlet-mame> <url-pattern>/SelectBeer.do</url-pattern> </servlet-mapping> </web-app> -- 檔案配置的方式是在tomcat的webapp下建立一個Beer-v1,配置如下 Beer-v1/WEB-INF/classes/com/example/web/BeerSelect.class \ \ form.html web.xml -- 接著去火狐那開那個localhost 第一個form.html會出現,但按下SUBMIT後卻跳出了HTTP Status 500 - exception: javax.servlet.ServletException: Error allocating a servlet instance (下略) root cause java.lang.NoClassDefFoundError: com/example/web/BeerSelect(wrong name: BeerSelect)                           (下略) 請問這究竟發生什麼事了呢QQ" 我有用Error allocating a servlet instance去估狗過 還找到了作者的網站,發現他們有些人也有一樣的問題, 裡面還提到了是jdk版本不一樣之類的答案XD 不過我還是不了解這之中怎麼運作的,要怎樣解決這個問題呢? -- 奇妙的是: 如果我沒有用那些com/example/web/資料夾, 直接把BeerSelect.class放在classes裡面,修改一下web.xml的設定, 他就可以跑了XD 請問大大們這之中發生了什麼問題呢? 在這邊先謝謝看完的大大們了! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.196.111

05/23 01:15, , 1F
java.lang.NoClassDefFoundError 不就說你的class找不到嗎?
05/23 01:15, 1F

05/23 01:19, , 2F
可是我的確是放在那個下面了啊= = 是classpath的問題嗎??
05/23 01:19, 2F

05/23 02:04, , 3F
我想有可能是這個原因
05/23 02:04, 3F

05/23 10:16, , 4F
所以我該怎麼做= =? 可以說詳細一點嗎?
05/23 10:16, 4F

05/23 14:42, , 5F
個人電腦中沒有 J2EE 沒辦法測
05/23 14:42, 5F

05/23 18:04, , 6F
那接下來該怎麼做啊QQ"
05/23 18:04, 6F

05/24 14:23, , 7F
依照小弟的看法...你的Servlet中好像沒有package...
05/24 14:23, 7F
文章代碼(AID): #18DQ5YPt (java)
文章代碼(AID): #18DQ5YPt (java)