2010-02-22 92 views

回答

89

什么是web.xml文件,然后我什么都东西可以做呢?

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

请注意,您提到的引用很旧(Java EE 1.4),在Java EE 5中有few changes,在Java EE 6中有更多(这使得web.xml“可选”并且引入Web Fragments)。

有没有像鼠疫一样应该避免的配置参数?

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

不,这些东西没有在应用层配置,而是在容器层。

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

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

7
  1. 没有,没有任何应避免
  2. 相关性能参数不在web.xml他们是在servlet容器的配置文件(server.xml在Tomcat)
  3. 号但是,默认的servlet(映射在servlet容器中公共位置的web.xml中)最好禁用文件列表(以便用户看不到您的Web文件夹的内容):

    列表 true

6

我想弄清楚它是如何工作的。此网站可能对您有所帮助。它具有web.xml的所有可能标记以及每个标记的示例和说明。

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

+0

小心一点但是因为我发现了一个地方,其中一个短划线被替换为下划线(需要很长时间才能调试)。 – sixtyfootersdude 2010-03-09 21:22:54

+1

为什么不添加注释到您的答案? – Bozho 2010-03-09 21:23:57

25

,我应该知道的web.xml 除了元素的名字和他们 使用什么呢?

ALL TIME最重要的JSP配置参数是在你的web.xml中。女士们,先生们,我给你... TRIM指导WHITESPACES选项!

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

这消除空白行,你会得到你生成的HTML,如果你使用任何标签库的所有数百或数千(循环特别难看&浪费)。

另一大一个是默认的网页(你会自动发送到时,你不请在网址的网页的页面):如果使用Struts

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list>  
3

,我们禁用直接访问在JSP文件通过在web.xml中使用这个标签

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

0

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

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

0

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd” 版本= “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> 

0
<?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> 
相关问题