在学servlet,事情是这样的,简单的模拟登陆用户,然后action跳转servlet处理后请求转发到另一个页面,但是如果web.xml里配置了 <url-pattern>/servlet/loginServlet</url-pattern>,请求转发的页面的路径也会带上 /servlet详细信息如下:
--------------------------此为映射配置
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/servlet/loginServlet</url-pattern>
</servlet-mapping>---------------------------下面为action
<form action="${pageContext.request.contextPath}/servlet/loginServlet" method="post">---------------------------下面是servlet部分代码
if(username==null||"".equals(username)){
request.setAttribute("error", "kong");
request.getRequestDispatcher("message.jsp").forward(request, response);-------------------------------------
如果密码或用户名为空 就让它转发到 messages.jsp ,但是转发后会出现404错误
HTTP Status 404 - /test1/servlet/message.jsp
这里带上了/servlet 这个路径如果<url-pattern>/loginServlet</url-pattern> 这里不加/servlet的话,就转发正常Servletweb.xml
--------------------------此为映射配置
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/servlet/loginServlet</url-pattern>
</servlet-mapping>---------------------------下面为action
<form action="${pageContext.request.contextPath}/servlet/loginServlet" method="post">---------------------------下面是servlet部分代码
if(username==null||"".equals(username)){
request.setAttribute("error", "kong");
request.getRequestDispatcher("message.jsp").forward(request, response);-------------------------------------
如果密码或用户名为空 就让它转发到 messages.jsp ,但是转发后会出现404错误
HTTP Status 404 - /test1/servlet/message.jsp
这里带上了/servlet 这个路径如果<url-pattern>/loginServlet</url-pattern> 这里不加/servlet的话,就转发正常Servletweb.xml
非常感谢,这个是相对路径和绝对路径的问题吧?一般如果配置servlet的话,是否都不会像我这样写,我这个是生成servlet时自带的参数
<url-pattern>/servlet/loginServlet</url-pattern>
而是写成
<url-pattern>/loginServlet</url-pattern>
吗?