这实际上是一个非常相同的问题,但是发生在不同的情况下,也就是我使用<jsp:forward>标签时
<jsp:forward>
为了使您处于这种状态,我有一个表格,要求用户并通过以执行登录。这将重定向到执行检查,更新会话的新页面(checklogin.jsp),如果一切正常,则如下所示:
if (con.comprobarUserPass(passmd5)) { // We check everything is OK sesion.setAttribute("conexion", con); sesion.setAttribute("pass", passmd5); %> <jsp:forward page="index.jsp"/> //forwards to the index <% } else { %> <jsp:forward page="login.jsp"> // user/pass error, goes back to the login.jsp page <jsp:param name="error" value="<strong><span style=\"color:red;\">Usuario y/o clave incorrectos. <br>Vuelve a intentarlo.</span></strong>"/> </jsp:forward> <% } } catch (userPassIncorrectoException e) { %> <jsp:forward page="login.jsp"> <jsp:param name="error" value="<strong><span style=\"color:red;\">Usuario y/o clave incorrectos. <br>Vuelve a intentarlo.</span></strong>"/> </jsp:forward> <% } %>
好了,即使我被重定向到index.jsp页面或login.jsp页面,这里的问题仍然出现:
http://localhost:8084/myContext/checklogin.jsp
任何想法为什么会这样?这使得调试过程确实比应有的难。
通过response.sendRedirect("pageToGo");在表单提交和提交后需要进入的实际页面之间插入和插入页面来解决我的问题。
response.sendRedirect("pageToGo");
这样,表单将调用中间网站,该中间网站仅重定向到用户在提交表单后必须看到的页面。