【问题标题】:reponse.Redirect() generates 404 error on tomcat7response.Redirect() 在 tomcat 7 上生成 404 错误
【发布时间】:2014-01-29 04:33:34
【问题描述】:

我有一个为登录项目分派 jsp 文件的 servlet,逻辑工作正常,但我没有得到正确的 jsp,而是出现错误:

            if (user.isValid())//isValid UserDAO
            { 
                HttpSession session = request.getSession(true);
                session.setAttribute("currentSessionUser",user);


                response.sendRedirect("/Logggedin.jsp"); //logged-in page
                //System.out.println("You are logged in");

            }
             else 
             {
                 response.sendRedirect("/InvalidLogin.jsp"); //error page } 

                 //System.out.println("You are not logged in");
             }

请注意,我的基本路径是/ClassGrading/*,我尝试了两种路径:ClassGradking/Loggedin.jsp 和上面的路径,在 index.jsp 页面中我有以下代码:

          <form action="LoginServlet">

【问题讨论】:

  • 尝试删除路径名中的斜杠,例如“Logggedin.jsp”n“InvalidLogin.jsp”
  • 应该是Logggedin.jsp,还是Loggedin.jsp?您的 SO 问题中是否有错字,在您的实际代码中,两者都没有?

标签: java jsp servlets response


【解决方案1】:

404 表示找不到文件。我不知道 Logggedin.jsp 和 InvalidLogin.jsp 的位置

但我认为你应该这样做response.sendRedirect("Logggedin.jsp"); //logged-in pageresponse.sendRedirect("InvalidLogin.jsp"); //error page }

删除/

来自 OP 的 comment

jsp 和 html 文件应该在 WEB-INF 文件夹之外

假设您的项目名称是 test,那么所有类文件(.class)文件都将在 WEB-INF/classes 中。

所有jar文件都应该在WEB-INF/lib.Web.xml里面应该在WEB-INF里面并且所有jsp/html文件都应该在WEB-INF之外

Apache tomcat file deployement

【讨论】:

  • 参考 javadoc 会有所帮助。
  • login.jsp 位于动态 j2ee 应用程序的 WebContent 中,使用响应对象是否有问题?
  • @user1712095 试试我的方法。如果仍然发现错误,请发布文件结构
  • 我试过你的方法,文件结构:WebContent/WEB-INF/Loggedin.jsp, LoginServlet/ClassGrading /*
  • jsp文件存放在哪个文件夹?
猜你喜欢
  • 2010-11-30
  • 2017-02-13
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 2016-06-29
  • 2023-03-04
  • 2014-10-27
  • 2010-11-12
相关资源
最近更新 更多