代码之家  ›  专栏  ›  技术社区  ›  Ravi Gupta

web.xml文件是什么?我能用它做什么?

  •  71
  • Ravi Gupta  · 技术社区  · 14 年前

    这个 web.xml Deployment Descriptor Elements 在Oracle的bea weblogic server 8.1文档中,几乎汇总了web.xml文件中的每个元素。但我也很好奇以下几点:

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

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

    8 回复  |  直到 7 年前
        1
  •  98
  •   Pascal Thivent    14 年前

    web.xml文件是什么?我能用它做什么?

    这个 /WEB-INF/web.xml 文件是应用程序的Web应用程序部署描述符。此文件是一个XML文档,它定义了服务器需要知道的关于应用程序的所有信息(上下文路径除外,上下文路径由 应用程序部署人员和管理员 部署应用程序时):servlet和其他组件,如过滤器或侦听器、初始化参数、容器管理的安全约束、资源、欢迎页面等。

    注意,您提到的引用相当旧(Java EE 1.4),已经有 few changes 在Java EE 5中,甚至更多地在Java EE 6中(这使得 web.xml “可选”并介绍 Web Fragments )

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

    不。

    是否有与性能或内存使用相关的参数?

    不,这些东西不是在应用程序级别配置的,而是在容器级别配置的。

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

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

        2
  •  27
  •   Civil Disobedient    14 年前

    关于web.xml我应该知道些什么 除了元素名及其 用法?

    一直以来最重要的JSP配置参数都在web.xml中。女士们先生们,我给你们…这个 修剪-定向-空白 选择!

    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <trim-directive-whitespaces>true</trim-directive-whitespaces>
        </jsp-property-group>
    </jsp-config>
    

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

    另一个较大的网页是默认网页(当您不在URL中输入网页时自动发送到的网页):

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>    
    
        3
  •  8
  •   Bozho    14 年前
    1. 不,没有什么可以避免的
    2. 与性能相关的参数不在 web.xml 它们在servlet容器配置文件中( server.xml 在Tomcat上
    3. 没有。但是默认servlet(在servlet容器的公共位置映射到web.xml中)最好禁用文件列表(这样用户就看不到web文件夹的内容):

      清单 真

        4
  •  6
  •   sixtyfootersdude    14 年前

    我也在努力弄清楚这是如何运作的。此网站可能对您有所帮助。它具有web.xml的所有可能标记以及每个标记的示例和描述。

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

        5
  •  3
  •   JoseK    14 年前

    如果使用struts,我们将通过在web.xml中使用这个标记来禁用对jsp文件的直接访问。

     <security-constraint>
    <web-resource-collection>
      <web-resource-name>no_access</web-resource-name>
      <url-pattern>*.jsp</url-pattern>
    </web-resource-collection>
    <auth-constraint/>
    

        6
  •  1
  •   Kalaiselvan Velmurugan    7 年前
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
      <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet>
        <description></description>
        <display-name>pdfServlet</display-name>
        <servlet-name>pdfServlet</servlet-name>
        <servlet-class>com.sapta.smartcam.servlet.pdfServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>pdfServlet</servlet-name>
        <url-pattern>/pdfServlet</url-pattern>
      </servlet-mapping>
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
      </context-param>
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    
        7
  •  0
  •   A_BOSS    10 年前

    部署描述符文件 “web.xml”:通过正确使用 部署描述符文件web.xml,可以控制 Web应用程序行为,从预加载servlet到限制 资源访问,用于控制会话超时。

    Web.XML :用于控制Web应用程序的多个方面。 使用web.xml,可以为调用servlet分配自定义URL,指定初始化 整个应用程序以及特定servlet、控件的参数 会话超时、声明筛选器、声明安全角色、限制对Web的访问 基于声明的安全角色的资源,等等。

        8
  •  0
  •   mohan    8 年前

    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd“ version=“3.0”>

    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
    </context-param>
    
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>