什么是web.xml文件,我可以用它做什么?

Rav*_*pta 72 web.xml web-applications

Oracle BEA WebLogic Server 8.1文档中的web.xml部署描述符元素几乎总结了web.xml文件中的每个元素.但我也对以下几点感到好奇:

  1. 是否有任何配置参数应该像瘟疫一样避免?
  2. 任何与性能或内存使用相关的参数?
  3. 常见错误配置导致安全相关风险?

除了元素名称及其用法之外,我还应该了解web.xml?

Pas*_*ent 100

什么是web.xml文件以及我可以用它做什么?

/WEB-INF/web.xml文件是应用程序的Web应用程序部署描述符.此文件是定义你的应用程序的一切,一个服务器需要知道(除非上下文路径,这是由指定的一个XML文档应用程序部署和管理应用程序时部署):servlet和其他组件,如过滤器或监听器,初始化参数,容器管理的安全性约束,资源,欢迎页面等.

请注意,您提到的引用很旧(Java EE 1.4),Java EE 5中的更改很少,甚至Java EE 6中的更改(这使得web.xml"可选"并引入Web片段).

是否有任何配置参数应该像瘟疫一样避免?

没有.

任何与性能或内存使用相关的参数?

不,这样的事情没有在应用程序级别配置,而是在容器级别配置.

常见错误配置导致安全相关风险?

好吧,如果您想使用容器管理的安全性约束并且无法正确配置它们,那么资源显然不会得到适当的保护.除此之外,最大的安全风险来自您将部署IMO的代码.


小智 27

除了元素名称及其用法之外,我还应该了解web.xml的所有内容?

ALL TIME的SINGLE最重要的JSP配置参数位于您的web.xml中.女士们,先生们,我给你们...... TRIM-DIRECTIVE-WHITESPACES选项!

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <trim-directive-whitespaces>true</trim-directive-whitespaces>
    </jsp-property-group>
</jsp-config>
Run Code Online (Sandbox Code Playgroud)

如果您使用任何标记库(循环特别难看且浪费),这将删除您在生成的HTML中获得的所有数百或数千行空白行.

另一个重要的是默认网页(当您未在URL中输入网页时自动发送到的页面):

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


Boz*_*zho 8

  1. 不,没有什么是应该避免的
  2. 与性能相关的参数不在web.xmlservlet容器配置文件中(server.xml在tomcat上)
  3. 不可以.但默认的servlet(映射到servlet容器中公共位置的web.xml中)最好禁用文件列表(这样用户就不会看到你的web文件夹的内容):

    清单真实


six*_*ude 6

我试图弄清楚它是如何工作的.这个网站可能对您有所帮助.它包含web.xml的所有可能标记以及每个标记的示例和描述.

http://wiki.metawerx.net/wiki/Web.xml