84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
从网上下了一个小项目,其中一段代码不删除或者注释掉,服务器就会启动失败。如图所示:
注释之后,服务器能正常启动,但是jsp跳转失败。
具体代码和配置如下:
form
xml
项目结构
哪里有错误呢?
先解决问题,你的jsp跳转失败原因确实如伊森所说,form 中的 action 指定的 url 与 web.xml 配置的Servlet 不匹配,写为 "/ServletLearningChapter1_3/LoginServlet" 就好了
"/ServletLearningChapter1_3/LoginServlet"
另外拓展来说,之所以你在网上看到的代码会把 action 值写做 "/LoginServlet" 是因为 @WebServlet是Servlet3.0规范所支持的一种简化配置,他和你在 web.xml 中配置 <servlet><url-pattern>/LoginServlet</url-pattern></servlet>是一个作用。
action
"/LoginServlet"
@WebServlet
<servlet><url-pattern>/LoginServlet</url-pattern></servlet>
所以当你注释掉@webServlet的时候,url映射的值就应该以web.xml为准。
@webServlet
最后,报错的话希望下次你能把报错具体信息打出来,不然因为我们并不掌握你的环境信息,也没法猜出具体问题。
嗯,就是这样了,祝好:D
有两个问题:
LoginServlet上的注解应该是某种框架的写法,在缺少框架jar包或配置不正确的情况下,注解就会报错导致启动失败
LoginServlet
表单action中指定的url 与 web.xml中配置的Servlet 不匹配,按照web.xml中配置,你的action应该写成这样
web.xml
Servlet
<form action="/ServletLearningChapter1_3/LoginServlet" ...>
楼主问了两个问题 粗略的看了一下 目测:问题一:定义重复?问题二:项目路径缺失?未必正确
先解决问题,你的jsp跳转失败原因确实如伊森所说,form 中的 action 指定的 url 与 web.xml 配置的Servlet 不匹配,写为
"/ServletLearningChapter1_3/LoginServlet"
就好了另外拓展来说,之所以你在网上看到的代码会把
action
值写做"/LoginServlet"
是因为@WebServlet
是Servlet3.0规范所支持的一种简化配置,他和你在 web.xml 中配置<servlet><url-pattern>/LoginServlet</url-pattern></servlet>
是一个作用。所以当你注释掉
@webServlet
的时候,url映射的值就应该以web.xml为准。最后,报错的话希望下次你能把报错具体信息打出来,不然因为我们并不掌握你的环境信息,也没法猜出具体问题。
嗯,就是这样了,祝好:D
有两个问题:
LoginServlet
上的注解应该是某种框架的写法,在缺少框架jar包或配置不正确的情况下,注解就会报错导致启动失败表单
action
中指定的url 与web.xml
中配置的Servlet
不匹配,按照web.xml
中配置,你的action应该写成这样楼主问了两个问题 粗略的看了一下 目测:
问题一:定义重复?
问题二:项目路径缺失?
未必正确