浅谈web.xml配置详解

阅读更多

写了一年多项目了,今天来整理一下web.xml中的一些配置

首先要了解wel.xml包含了哪里东西,简单的项目来说 就是spring的配置,springMvc(servlet)的一些配置,现在很多的项目都是ssm开发,所以servlet一般都是springMvc框架,然后就是一些listener监听器,拦截器filter,

还有一些其他的包括欢迎页面,session时间,error-page页面等

 

首先我们先要知道web.xml里面的一些加载顺序

 

 1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取两个结点。 

2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 

3、容器将转换为键值对,并交给servletContext。 

4、容器创建中的类实例,创建监听器。

 

加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:ServletContext -> listener -> filter -> servlet

 

首先要讲一下load-on-startup这个标签

 

Load-on-startup 元素在web应用启动的时候指定了servlet被加载的顺序,它的值必须是一个整数。如果它的值是一个负整数或是这个元素不存在,那么容器会在该servlet被调用的时候,加载这个servlet 。如果值是正整数或零,容器在配置的时候就加载并初始化这个servlet,容器必须保证值小的先被加载。如果值相等,容器可以自动选择先加载谁。

 


    
      org.springframework.web.context.ContextLoaderListener
    
  

  
  
    contextConfigLocation
    classpath:spring/applicationContext.xml
  

 看上面代码就知道了跟标签的顺序是没有关联的

这里我们将sping放到listener标签中,让它更优先加载,因为spring其实是最后加载的是排在在servlet之后的,如果那样的话,有一些filter 是需要调用配置一些bean的,这样的话那些bean就会bean实体就变成null了

 

接下来就是日志

  
    
      org.springframework.web.util.Log4jConfigListener
    
  
  
    log4jConfigLocation
    classpath:log4j.properties
  

 

下面要的filter是一个重点

因为在平时的项目中乱码一直都是经常存在并且让很多人很头疼的一些问题

现在的这个编码filter就可以解决post提交的一些乱码


  CharacterEncodingFilter
  org.springframework.web.filter.CharacterEncodingFilter
  
    eccoding
    utf-8
  
  
    forceEncoding
    true
  

  
  
    CharacterEncodingFilter
    /*
  

 

在springMvc请求的时候,有时候我们会用到ResquestMethod=PUT或者是DELETE等方法,但浏览器一些只识别get,post请求,所以我们配置一个filter就ok

  
    HiddenHttpMethodFilter  
    org.springframework.web.filter.HiddenHttpMethodFilter  
  
  
  
    HiddenHttpMethodFilter  
    /  

 

接下俩是springMvc servlet的配置

 
    springmvc
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:springmvc/springmvc.xml
    
    
    1
  

 

 
    springmvc
    /
  

 

最后加载servlet

 

最后就是一些Session 跟一些欢迎,或者跳转的页面

  
    index.jsp
  

  
    30
  

 错误页面

 <error-page>
2      <error-code>404error-code>
3      <location>/error404.jsplocation>
4  error-page>
5  <error-page>
6      <exception-type>java.lang.Exceptionexception-type>
7      <location>/exception.jsplocation>
8  error-page>

 

 

你可能感兴趣的:(servlet,web)