当我在appengine开发服务器上访问这样的jsp页面时:
本地主机:8888 / index.jsp的/
它在浏览器中显示index.jsp的源代码。如果您在没有尾部斜杠(即index.jsp)的情况下访问它然后呈现jsp但是使用尾部斜杠(即index.jsp /)它会显示源代码
知道为什么会这样吗?以及如何解决它?
它似乎只发生在开发服务器而不是生产中。生产给出了404 Not Found错误,这很好。
我正在使用SDK 1.6.4
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>RegisterPage</servlet-name>
<jsp-file>/register.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>RegisterPage</servlet-name>
<url-pattern>/signup</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
==========
所以...
index.jsp - &gt;渲染页面
index.jsp / - &gt;返回源代码
register.jsp / - &gt;返回源代码
register.jsp - &gt;渲染jsp
注册/ - &gt;渲染register.jsp
注册 - &gt;渲染register.jsp
所以好像是带有* .jsp /的网址有问题
答案 0 :(得分:1)
您应该将所有* .jsp文件移动到/ WEB-INF目录中,并更新您的web.xml。
这样,* .jsp文件将无法直接访问,源代码将被隐藏。
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>RegisterPage</servlet-name>
<jsp-file>/WEB-INF/register.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>RegisterPage</servlet-name>
<url-pattern>/signup</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>IndexPage</servlet-name>
<jsp-file>/WEB-INF/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>IndexPage</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/index</welcome-file>
</welcome-file-list>
答案 1 :(得分:0)
当我使用“redirect”和apache tomcat 7时,我遇到了一些问题,因为新版本的apache不支持重定向。为了解决您在您的页面中使用的标签的更新日志中的搜索新闻(如果您使用它),或者发布您的页面代码以便能够建议其他解决方案。可能是您正在使用已弃用的标签。另外,请检查文件localhost [DATE] .log以获取更多详细信息