今天在做一个web试验时发现一个奇怪现象。在tomcat5中运行正常的示例,使用tomcat6时出现问题。当访问该项目时,Tomcat5能将旗下所有的JSP文件列出来,而Tomcat6则报如下错误:
The requested resource (/javaweb_test2_strutsLoginByDb/) is not available.
经过研究发现:
tomcat5的conf下web.xml中内容为:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>
true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
tomcat6的conf下web.xml中内容为:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>
false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
通过对比发现,原来tomcat6tomcat5增加了安全设置,不允许访问项目的根目录。所以,如果想访问根目录文件,可以将false改为true即可。