zoukankan      html  css  js  c++  java
  • springMVC学习笔记二(dispatcherServlet)

    =========================dispatcherServlet============================
    中文乱码解决方案(web.xml)
    <!-- 解决中文乱码问题 -->
    <filter>
    <filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>




    配置dispatcherServlet前置控制器是第一步
    其主要任务:
    1 如果请求类型为multipart通过multipartResolver进行文件上传解析
    2 通过handlerMapping将请求映射到处理器
    3 通过handlerAdapter适配多种处理器
    4 通过viewResolver解析视图
    5 本地化解析
    6 渲染具体的视图
    7 通过handlerExceptionResolver来解析异常






    web.xml中配置,依据规则分发到目标controller(类action)


    示例代码如下:<!-- 配置DispatcherServlet -->
    <!-- 方式一 -->
    <servlet>
    <!-- 名称,有自已的webApplicationContext -->
    <servlet-name>example</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- 拦载*.form请求 -->
    <servlet-mapping>
    <servlet-name>example</servlet-name>
    <url-pattern>*.form</url-pattern>
    </servlet-mapping>




    <!-- 方式二 -->
    <!-- 使用springMVC.xml配置文件 -->
    <servlet>
    <!-- 名称,有自已的webApplicationContext -->
    <servlet-name>springMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <!-- 1 不写,/WEB-INF/<servlet-name>-servlet.xml 2 <param-value>/WEB-INF/classes/springMVC.xml</param-value> 
    3、<param-value>classpath*:springMVC-mvc.xml</param-value> 4、多个值用逗号分隔 -->
    <param-value>classpath*:/springMVC.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- 拦载*.form请求 -->
    <servlet-mapping>
    <servlet-name>springMVC</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>


    dispatcherServlet也可以配置自已的初始化参数
    contextClass :实现webApplicationContext接口,用它来创建上下文,如果没有指定
                  默认使用xmlWebApplicationContext
    contextConfigLocation :指定上下文的位置,多个用逗号分隔
    nameSpace:




    <servlet> 
      <servlet-name>springMVC</servlet-name> 
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
      <load-on-startup>1</load-on-startup> 
      <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>classpath:springMVC-servlet.xml</param-value> 
      </init-param> 
     </servlet> 
    如果指定初始化参数,默认 DispatcherServlet不会从 WEB-INF/[DispatcherServlet 的 Servlet 名 字]-servlet.xml加载 配 置 文 件,而是从指定目录




    <!--初始化通用上下文,即加载的bean是整个应用共享-->
    <listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener>
    <!--dispapcherServlet初始化springMVC上下文,即加载的bean只对springMVC有效-->








    dispatcherServlet中用到的bean:
    1 controller 页面控制器
    2 handlerMapping: 请求到处理器的映射,返回一个 HandlerExecutionChain 对象(包 含一个 Handler处理器(页面控制器)对象、多个 HandlerInterceptor 拦截器)对象
    3 handlerAdapter:将处理器(控制器)转化为适配器,从而支持多种类型的处理器
    4 viewResolver:将逻辑视图名解析为具体的view
    5 localResover:本地化解析
    6 themeResovler:主题解析,类似于皮肤效果
    7 multipartResolver:文件上传解析
    8 handlerExceptionResolver:处理器异常解析
    9 requestToViewNameTranslator:如果处理器没有返回逻辑视图名,它会自动将请求url映射为逻辑视图名

    10 flashMapManager:存储一个请求的输出,作为另一个请求的输入,用于重定向


    参考:http://jinnianshilongnian.iteye.com/blog/1752171 

  • 相关阅读:
    jsp mysql 配置线程池
    服务端 模拟 检测 攻击。。乱写
    硕思闪客精灵 7.2 破解版
    unity UnityAwe 插件
    smartfoxserver 2x 解决 Math NAN
    unity 断点下载
    java 监听文件目录修改
    wind7 64 setup appjs
    sfs2x 修改jvm 内存
    unity ngui 解决图层问题
  • 原文地址:https://www.cnblogs.com/retacn-yue/p/6194266.html
Copyright © 2011-2022 走看看