为什么web.xml welcome-file可以位于WEB-INF中

Hak*_*kim 1 jsp web.xml java-ee

我已经读过jsp内部的文件WEB-INF无法从外部访问(必须从a调用Servlet).

但是,为什么welcome-filein web.xml文件,指向WEB-INF目录中的文件?因为这样可以从外面访问文件:

<welcome-file-list>  
    <welcome-file>WEB-INF/page.jsp</welcome-file>  
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

我正在使用Google App engine默认的Servlet容器进行测试Jetty 6.

Bal*_*usC 5

这是因为欢迎文件是通过RequestDispatcher#forward()电话提供的.作为证据,您是否看到/WEB-INF/page.jsp出现在浏览器的地址栏中?没有?然后它绝对不是直接请求.如果您尝试直接申请,您会看到自己获得404.

也可以看看:


具体问题无关,你似乎基本上滥用<welcome-file>了"主页文件".那里没有意图.它intented到指定文件夹的文件的唯一文件名,你想就可以提供时中被请求的文件夹,如/,/foo/,/foo/bar/,等.如果你指定index.jsp,那么/index.jsp,/foo/index.jsp,/foo/bar/index.jsp,等会被透明的由前担任了没有更改URL.