Servlet跳转失败问题:HTTP Status 404 not found



背景:

1、servlet Java文件路径:src/com.Servlet/xx.java

url-pattern路径:/RegisterServlet

2、jsp页面路径:Webcontent/thirdTest/register.jsp

绿叶网上书店会员信息注册

logo 用户名: 用户名不能为空!
密码: 密码不能为空!
年龄: 请保持年龄在3~149之间!
电邮: 电邮格式错误!
@WebServlet("/RegisterServlet")
public class RegisterServlet extends HttpServlet {
 //doGet
 //doPost
 //...
}

解决过程:

1、运行Servlet文件,得到浏览器的地址栏上的地址:localhost:8080/Javaee/RegisterServlet

2、运行jsp文件,得到浏览器地址栏上的地址:localhost:8080/Javaee/thirdTest/register.jsp

3、跳转失败的地址(出现404的地址):localhost:8080/Javaee/thirdTest/RegisterServlet

这里可以注意到,第一个地址和第三个地址不同,这就是导致了not found问题:本来jsp要跳转的是第一个地址,但是跳转到了第三个地址,所以当然找不到servlet了。所以,如果第一和第三个地址是相同的则不会出现not found问题了,这样看来就找到了解决问题的方法了。

解决方法:

1、修改jsp页面

的action属性的路径(此例:设置action="/RegisterServlet")

2、修改servlet文件的url-pattern 映射地址

3、若使用servlet注解,同理修改映射地址(此例:设置注解@WebServlet("/thirdTest/RegisterServlet"))

三者取一即可。

你可能感兴趣的:(JSP)