java - jsp跳轉(zhuǎn)到servlet,出現(xiàn)404
問題描述
從網(wǎng)上下了一個小項目,其中一段代碼不刪除或者注釋掉,服務(wù)器就會啟動失敗。如圖所示:
注釋之后,服務(wù)器能正常啟動,但是jsp跳轉(zhuǎn)失敗。
具體代碼和配置如下:
form
xml
項目結(jié)構(gòu)
哪里有錯誤呢?
問題解答
回答1:先解決問題,你的jsp跳轉(zhuǎn)失敗原因確實如伊森所說,form 中的 action 指定的 url 與 web.xml 配置的Servlet 不匹配,寫為 '/ServletLearningChapter1_3/LoginServlet' 就好了
另外拓展來說,之所以你在網(wǎng)上看到的代碼會把 action 值寫做 '/LoginServlet' 是因為 @WebServlet是Servlet3.0規(guī)范所支持的一種簡化配置,他和你在 web.xml 中配置 <servlet><url-pattern>/LoginServlet</url-pattern></servlet>是一個作用。
所以當(dāng)你注釋掉@webServlet的時候,url映射的值就應(yīng)該以web.xml為準(zhǔn)。
最后,報錯的話希望下次你能把報錯具體信息打出來,不然因為我們并不掌握你的環(huán)境信息,也沒法猜出具體問題。
嗯,就是這樣了,祝好:D
回答2:有兩個問題:
LoginServlet上的注解應(yīng)該是某種框架的寫法,在缺少框架jar包或配置不正確的情況下,注解就會報錯導(dǎo)致啟動失敗
表單action中指定的url 與 web.xml中配置的Servlet 不匹配,按照web.xml中配置,你的action應(yīng)該寫成這樣
<form action='/ServletLearningChapter1_3/LoginServlet' ...>回答3:
樓主問了兩個問題 粗略的看了一下 目測:問題一:定義重復(fù)?問題二:項目路徑缺失?未必正確
相關(guān)文章:
1. apache - ubuntu環(huán)境下安裝bugzilla,執(zhí)行成功,但是訪問時候出現(xiàn)404 not found2. Java Jersey Rest:找不到提供程序類(訪問URL時出現(xiàn)404錯誤)3. java - springmvc 請求無法到達(dá)controller,出現(xiàn)404錯誤4. java - 圖片上傳后,立即訪問出現(xiàn)404,重新部署項目后正常可以訪問5. Java Jersey Rest:找不到提供程序類。(訪問URL時出現(xiàn)404錯誤)6. nginx反向代理 使用多個location url 匹配到不同主機的不同服務(wù),出現(xiàn)404問題
