表单action与servlet的对应关系

初学java web,在使用servlet处理jsp时发现很多提交表单时发生的错误都是因为提交路径出错造成的。

现以自己为例说明:

项目目录结构如下:

web.xml文件主要内容如下:

This is the description of my J2EE component This is the display name of my J2EE component RegisterLoginServlet RegisterLoginServlet RegisterLoginServlet /servlet/RegisterLoginServlet index.jsp

1、在主页index.jsp或者pages/login.jsp中

使用如下语句:

... 都可以正常跳转到目标servlet,链接如下:

2、而如此使用则会报404错误(在最前面加了一个 : /):

... 浏览器报错如下(重点注意链接):

链接中缺失了项目名!

3、再将代码改为:

... 测试通过,与第1次测试相同

出错原因分析:

/代表根目录,如果使用/开头,对于Tomcat而言就是webApp那个目录,直接找相应的servlet当然找不到,只要再加上项目名即可。

总结:

JSP页面提交表单给servlet时有两种写法:

(一). 相对路径: …

(二). 绝对路径:

  1. ...

    其实绝对路径还有第二种方法:

  2. <formaction="<%=request.getContextPath()%>/servlet/RegisterLoginServlet " method=post>…

原文:https://blog.csdn.net/ss1221yy/article/details/70745611
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/a1_s2_c3_/article/details/86483470
今日推荐