表单标记操作属性中的路径

时间:2014-02-13 11:01:56

标签: java jsp java-ee servlets

在jsp中考虑以下表单标记:

<form action="/sampleServlet" method="get">

之间有什么区别
<form action="/sampleServlet" method="get">

<form action="sampleServlet" method="get"> <!--no leading slash-->

2 个答案:

答案 0 :(得分:0)

代码<form action="/sampleServlet" method="get">将提交表单并在web.xml中调用由别名/sampleServlet映射的servlet的doGet()

如果在以后的情况下提交将抛出错误(可能是404)。

答案 1 :(得分:0)

/ sampleServlet - 绝对路径

此路径对于基本URL(协议,ip(或主机名)和端口)是绝对的

current page: http://127.0.0.1:8080/context/test

target page:  http://127.0.0.1:8080/sampleServlet

sampleServlet - 相对路径

此路径相对于当前页面的路径,例如

current page: http://127.0.0.1:8080/context/test

target page:  http://127.0.0.1:8080/context/test/sampleServlet

在JSP中,您应该使用绝对路径,但请记住自动添加上下文路径并考虑URL重写(如果需要,将会话ID添加到URL)。

使用JSTL时,请使用&lt; c:url value =“/ sampleServlet”/&gt;:

<form action="<c:url value="/sampleServlet"/>" method="get">
...
</form>