zoukankan      html  css  js  c++  java
  • SpringMVC总结

    一、基本原理:

     

    1、用户发送请求至DispatcherServlet;

    2、DispatcherServlet请求HandlerMapping查找Handler;

    3、HandlerMapping向DispatcherServlet返回Handler;

    4、DispatcherServlet请求HandlerAdapter执行Handler;

    5、HandlerAdapter执行Handler;

    6、Handler返回一个ModelAndView对象给HandlerAdapter,ModelAndView中包含模型数据和逻辑视图名;

    7、HandlerAdapter返回ModelAndView给DispatcherServlet;

    8、DispatcherServlet请求ViewResolver将逻辑视图名解析为具体的View;

    9、ViewResolver将解析出的具体的View返回给DispatcherServlet;

    10、     View根据传过来的Model数据进行渲染,Model实际上是一个Map;

    11、     视图渲染完毕后最终由DispatcherServlet响应给用户;

    二、编写业务逻辑处理Handler类:

    public class ItemsControllerA implements Controller

    {

        @Override

        public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)

        {

                  ModelAndView mv = new ModelAndView(); 

                 //添加模型数据 可以是任意的POJO对象 

                mv.addObject("message", "Hello World!"); 

                //设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面 

                mv.setViewName("hello"); 

                return mv; 

           }

    }

    三、配置(非注解方式):

    1、在web.xml文件中配置:

    <servlet>

        <servlet-name>DispatchServlet</servlet-name>

        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>

            <param-name>contextConfigLocation</param-name>

            <param-value>classpath:spring-mvc.xml</param-value>

        </init-param>

    </servlet>

    <servlet-mapping>

        <servlet-name>DispatchServlet</servlet-name>

        <url-pattern>*.action</url-pattern>

    </servlet-mapping>

    2、spring-mvc.xml文件配置:

    <!-- Handler -->

    <bean id="ItemsControllerA" name="/queryItems.action" class="com.dstudiow.ssm.controller.ItemsControllerA"/>

    <!-- BeanNameUrlHandlerMapping: 将bean的name作为url查找,需在配置Handler指定bean name,即url -->

    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    <!-- SimpleControllerHandlerAdapter: 要求Handler实现Controller接口 -->

    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

    <!-- ViewResolver -->

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

    <property name="prefix" value="/WEB-INF/jsp/"/>

    <property name="suffix" value=".jsp"/>

       </bean>

    四、配置(注解方式):

    1. 在web.xml文件中配置:

    <servlet>

        <servlet-name>DispatchServlet</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>

            <param-name>contextConfigLocation</param-name>

            <param-value>classpath:spring-mvc.xml</param-value>

        </init-param>

    </servlet>

    <servlet-mapping>

        <servlet-name>DispatchServlet</servlet-name>

        <url-pattern>*.action</url-pattern>

    </servlet-mapping>

          2.spring-mvc.xml配置:

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> 

    <context:component-scan base-package="com.demo2do" /> 

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 

        <property name="prefix" value="/" /> 

        <property name="suffix" value=".jsp" /> 

    </bean>

    或者:

    <!-- 支持mvc注解驱动 -->

    <mvc:annotation-driven /> 

    <context:component-scan base-package="com.demo2do" /> 

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 

        <property name="prefix" value="/" /> 

        <property name="suffix" value=".jsp" /> 

    </bean> 

    五、参考资料:

    http://downpour.iteye.com/category/196182

  • 相关阅读:
    用例图设计
    第二次结队作业
    第一次结对作业
    第二次个人编程作业
    简易的中文语言翻译器
    第一次博客作业
    个人总结
    第三次个人作业——用例图设计
    第二次结对作业
    第一次结对作业
  • 原文地址:https://www.cnblogs.com/laoxia/p/8602821.html
Copyright © 2011-2022 走看看