spring中web.xml配置文件解析

1、web.xml配置文件:
          <?xml version="1.0" encoding="gb2312"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<!--
   - Location of the Log4J config file, for initialization and refresh checks.
   - Applied by Log4jConfigListener.
   -->
<context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>/WEB-INF/classes/log4j.xml</param-value>
</context-param>

<!-- 为了能够加载日志文件,故需要配置一个日志监听器 -->
<listener>  
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>


<!-- 设置Ioc配置文件的名称为
        /WEB-INF/applicationContext.xml,
         /WEB-INF/classes/jdbc.xml,
         /WEB-INF/spring-config.xml,
         /WEB-INF/config/spring/*.xml
         如果不配置,则它会读取默认的文件名/WEB-INF/action-servlet.xml-->
  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
         /WEB-INF/applicationContext.xml,
         /WEB-INF/classes/jdbc.xml,
         /WEB-INF/spring-config.xml,
         /WEB-INF/config/spring/*.xml
        </param-value>
    </context-param>

<!-- 为了能够加载Spring的Bean配置,故配置一个监听器 -->
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

   
    <!-- filters -->
    <filter>
  <filter-name>encodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- spring Dispatcher -->
<servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
   
       <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
   
     <!-- 异常处理 -->
    <error-page>
  <error-code>404</error-code>
  <location>/commons/404.jsp</location>
</error-page>
<!--
<error-page>
  <error-code>500</error-code>
  <location>/commons/error.jsp</location>
</error-page>-->
    <!-- 没有数据的异常处理
    <error-page>
  <exception-type>org.springframework.dao.EmptyResultDataAccessException</exception-type>
  <location>/commons/nodata.jsp</location>
</error-page>
  -->
    
    <welcome-file-list>
     <welcome-file>login.jsp</welcome-file>
     <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>
2、视图解析器的配置
     <!-- Defination of view Resolver -->
<!-- 视图解析器的配置InternalResourceViewResolver
      它支持InternalResourceView(对servlet和jsp的包装),以及其子类JstlView和TilesView
      通过setViewClass方法,可以指定用于该解析器生成视图使用的视图类。如下为:JstlView视图类。
  -->
<bean id="viewResolver"
   class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass">
   <value>org.springframework.web.servlet.view.JstlView</value>
  </property>
</bean>

3、处理器的配置<!-- Controller配置 -->
<!-- 登录演示
     为了选择不同的方法入口,我们需要定义方法解析器。ParameterMethodNameResolver为最常用的。
     ParameterMethodNameResolver 为默认的解析器实现类,并指定提取方法名的参数为action,
     默认的方法名为showLoginForm。
-->
<bean id="loginAction" class="com.ztes.sl.rmtes.action.demo.LoginAction">
  <property name="methodNameResolver">
   <bean  class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
    <property name="paramName"><value>action</value></property>
    <property name="defaultMethodName"><value>showLoginForm</value></property>
   </bean>
  </property>
  <property name="formView" value="/pages/demo/login.jsp"/>
  <property name="successView" value="/pages/demo/loginSuccess.jsp"/>
</bean>


4、处理器映射的配置
<!--  1. SimpleUrlHandlerMapping是最常用的HandlerMapping处理器映射,
         它在应用上下文中可以进行配置,并且有Ant风格的路径匹配功能。
      2.其中定义了一个拦截器(spring的处理器映射支持拦截器),它必须实现HandlerInterceptor
      接口,这个接口定义了3个方法,一个在处理器执行前被调用,一个在处理器执行后被调用,另一个在
      整个请求处理完成后被调用。
      3.下面的例子提供了一个拦截器RequestHandlerInterceptor,它拦截mappings中的所有请求。
-->
<bean id="urlMappingAlarmRight" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="interceptors">
   <list>
    <ref bean="RequestHandlerInterceptor" />
   </list>
  </property>
  <property name="mappings">
   <props>
    <!-- 列表 -->
    <prop key="/alarm/forecast.do">forecastAction</prop>
</props>
  </property>
</bean>

猜你喜欢

转载自yucang52555.iteye.com/blog/1933107