首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat 7 /WEB-INF/目录映射

Tomcat 7 /WEB-INF/目录映射
EN

Stack Overflow用户
提问于 2013-06-21 07:50:55
回答 2查看 8.7K关注 0票数 0

我希望将所有请求映射到特定的servlet,但Tomcat不允许我映射/WEB-INF/目录。

我的web.xml文件。

代码语言:javascript
复制
<servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>mypackage.TestServlet</servlet-name>
</servlet>
<servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

在您请求/WEB-INF/目录中的页面之前,这种方法工作得很好(给出的值是404)。有没有办法将所有内容都映射到servlet,包括/WEB-INF/目录?

我还尝试使用/WEB-INF/*映射servlet,但没有效果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-21 07:53:05

不是的。不能从外部直接访问WEB-INF中的文件。

您必须在外部有一个htmljsp文件,它会将请求重定向到WEB-INF文件夹内的文件。

票数 1
EN

Stack Overflow用户

发布于 2013-06-21 08:27:25

根据tomcat标准,您需要将所有的*.html、*.jsp等放在应用程序根目录中。WEB-INF目录主要用于包含web.xml、类和库,而不是jsp/htmls。您不能直接导航到WEB-INF目录(对于META-INF也有效)下的任何文件/工件。

这是servlet引擎的一个安全特性: WEB-INF下的内容是受保护的,不能通过URL从“外部”访问。否则,任何人都可以通过组装适当的URL来读取敏感的细节,如应用程序/数据库配置等。

您需要遵循打包web应用程序的指导原则,请在此处阅读更多内容:

http://tomcat.apache.org/tomcat-6.0-doc/appdev/deployment.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17225691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档