zoukankan      html  css  js  c++  java
  • Springmvc 配置--web.xml配置

    先将配置文件内容列出:

        <!-- 配置spring 核心监听器-->
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <!-- spring 的配置文件 -->
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>WEB-INF/applicationContext*.xml</param-value>
        </context-param>
    
        <!-- 定义Spring MVC的前端控制器 -->
        <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>WEB-INF/springmvc-config*.xml</param-value>
            </init-param>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    

    ContextLoaderListner

    spring核心监听器,他实现了ServletContextListener,他会监听Servlet容器的初始化,在服务器启动时,会发生Servlet的初始化,从而触发ContextLoaderListener中spring IOC容器-XmlWebApplicationContext的初始化。初始化使用的配置文件为applicationContext.xml。

    DispatcherServlet

    为springmvc的前端控制器,其对应的配置文件为springmvc-config.xml。其拦截所有的客户端请求。

    他会在WebApplicationContext 初始化完成后,初始化MultipartResolver,localeResolver,handlerMapping,handlerAdapter viewResolver等信息。DispatcherServlet在springmvc运行过程中主要完成一下工作:

    • 用户向服务端发送请求,请求被spring的前端控制器DispatcherServlet拦截。

    • DispatcherServlet 对请求的URL进行解析得到URI,然后根据URI,调用handlerMapping获得处理请求的Handler以及handler对应的拦截器,这些对象会被封装到一个HandlerExecutionChain对象中

    • DispatcherServlet 根据获取的handler,选择一个合适的handlerAdapter,调用handler中实际处理请求的方法

    • 提取请求中的模型数据,开始执行handler(Controller),在填充handler处理方法的参数值是,spring做了一些额外的事情:

      消息转换。将请求消息(Json,xml等)转换成一个对象。

      数据转换。对请求消息进行数据转换,如String转换为Integer、double等。

      数据格式化。对请求消息进行格式化,如日期和货币的格式化。

      数据验证。验证请求中消息的合法性。

    • Handler执行完成后,向DispatcherServlet返回一个ModelAndView对象,其中包含视图或视图名和模型。

    • ViewResolver结合Model,View渲染视图。

    • 将视图渲染结构返回给客户端。

    I am chris, and what about you?
  • 相关阅读:
    remove white space from read
    optimize the access speed of django website
    dowload image from requests
    run jupyter from command
    crawl wechat page
    python version 2.7 required which was not found in the registry windows 7
    health
    alternate rows shading using conditional formatting
    word
    【JAVA基础】static 关键字
  • 原文地址:https://www.cnblogs.com/arax/p/8413699.html
Copyright © 2011-2022 走看看