最近做好了一个项目,Web服务器是Tomcat,已大部分完成.但有一个问题需要大家解决!  如: 通过地址http://localhost/bbs 可以访问到首页,但是如果别人知道我网站其中的一个目录(如:Test目录)的,就能这样http://localhost/bbs/Test 直接看到我Test目录下的所有Jsp文件,如何防止这种情况出现呢?????????

解决方案 »

  1.   

    服务器内部使用的文件可以放在web-inf目录下,对外界屏蔽的
      

  2.   

    方法1:
    修改TomcatHome\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>      ->这里的true改为false
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
    ...保存->重启 OK!
    方法2:
    在你的默认的test目录下面放一个index.jsp或者index.html内容可以都为空 这种比较简单
      

  3.   

    最简单的办法:
        你也知道别人无法直接访问你WEB-INF下的文件,你可以把你不想让别人直接访问到的东西放到WEB-INF下,只是,你得修改所有的提交目录,看你们的项目快做完了,估计不合适,以后你可以试一下.
    第二中方法:
        你可以在过滤器里做一些处理,比如:没有登录然后返回啊什么的.如果你是Struts架构,你可以重写RequestProcess类,做一些处理.最笨的方法:
        你可以在每一个页面做判断.