Java Tomcat6响应。sendRedirect()404错误
我想知道是否有人经历过这个问题,如果有,他们是否能为我提供一个解决方案 我有一个“index.jsp”页面,它位于WEB-INF文件夹之外,由以下代码组成:Java Tomcat6响应。sendRedirect()404错误,java,jsp,http-status-code-404,tomcat6,Java,Jsp,Http Status Code 404,Tomcat6,我想知道是否有人经历过这个问题,如果有,他们是否能为我提供一个解决方案 我有一个“index.jsp”页面,它位于WEB-INF文件夹之外,由以下代码组成: <html> <body> <%response.sendRedirect("home.htm");%> </body> </html> 页面应该重定向到位于WEB-INF文件夹中的“home.jsp” 我遇到的问题是,当我使用Eclipse在tomc
<html>
<body>
<%response.sendRedirect("home.htm");%>
</body>
</html>
页面应该重定向到位于WEB-INF文件夹中的“home.jsp”
我遇到的问题是,当我使用Eclipse在tomcat中部署我的应用程序时,重定向工作正常
但是,当我在tomcat中通过在tomcat/bin文件夹中运行'startup.sh'启动应用程序时,我得到了一个'HTTP Status 404'错误
我正在使用tomcat 6.0.33如果要重定向到“home.jsp”,必须将“home.jsp”作为sendRedirect参数来编写。首先,要转到的初始页面由元素在web.xml文件中控制。在独立的Tomcat中,默认为/index.html,然后是/index.htm,最后是/index.jsp 这可能是因为当您从Eclipse中启动tomcat时,web插件使用默认的web.xml做自己的事情,因此默认值可能略有不同 其次,如果您只想将index.jsp重定向到home.htm,那么不应该用HTML标记来包装scriptlet。如果tomcat决定在执行scriptlet之前刷新输出,sendRedirect()方法将被忽略,因为HTTP头已经被写入
最后,我假设您在web应用程序中设置了某种映射,用于处理“home.htm”请求并转发到home.jsp?当
sendRedirect
的参数为home.htm
时,您为什么希望它重定向到home.jsp
?有打字错误吗?如果文件实际上位于WEB-INF
下,浏览器将无法访问该文件。向全世界公开WEB-INF
的内容将打开许多潜在的安全漏洞。如果希望home.jsp
包含WEB-INF/home.htm
的内容,则需要执行以下操作:
<jsp:include page="/WEB-INF/home.htm" />
/WEB-INF
文件夹中的文件不可公开访问。该文件夹用于webbrowser不应该直接访问的资源,例如JSP包含文件、需要预处理(前端控制器)的JSP文件等
您的home.jsp
似乎只是一个普通的jsp文件,打算通过URL直接访问。所以,把它放在/WEB-INF
文件夹之外。这样的话,你就可以买到
至于您的具体需求,让index.jsp
重定向到其他内容是毫无意义的。只需将web.xml
中的
设置更改为home.jsp
,而不是index.jsp
home.jsp
这样,当最终用户直接访问文件夹而不指定任何资源文件时,将打开home.jsp
哦,请注意,.htm
扩展与.jsp
扩展不同。如有必要,也要相应地解决这个问题