springMVC的流程

1. 写一个简单的springmvcdemo.

1.1 引入springmvc相关的jar包。

1.2 配置DispatcherServlet web.xml

1.2 配置springmvc的配置文件。

 

 1.3 Controller

Springmvc的流程.

  1. 客户发出请求。http://localhost:8080/springmvc-01/my.do
  2. 到达web.xml文件中 DispatcherServlet.查看是否符合url的要求
  3. DispatcherServlet就会查询springmvc的配置文件。找HandlerMapping.

根据bean的名称查找相应的controller.

 

     找到我的MyController类。执行该类中handleRequestInternal方法。

 

     根据返回的modelAndView在找springmvc配置文件中视图解析器。

 

viewNameprefix以及suffix做了一个拼接。把拼接的页面展示给客户。

 

 

2. 常见的HandlerMapping

2.1 BeanNameUrlHandlerMapping 根据bean标签的名称找到对应的Controller

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/a.do">my1</prop>
                <prop key="/b.do">my2</prop>
            </props>
        </property>
    </bean>
    <bean id="my1" class="com.zhiyou100.wyf.controller.MyController1"></bean>
    <bean id="my2" class="com.zhiyou100.wyf.controller.MyController2"></bean>

2.2 SimpleUrlHandlerMapping 根据beanid查找对应的Controller类。

 

2.3 ControllerClassNameHandlerMapping 根据controller类的名字找到对应的Controller

 

 <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
    <bean class="com.zhiyou100.wyf.controller.MyController3"></bean>

 

 

2.4 使用注解来替代配置信息。

  1. 额外aopjar
  2. springmvc配置文件中加入如下代码。

 

 创建Controller类。

 

 

通过springmvc来完成接受参数。

1.1 

 

接受参数时出现乱码。使用过滤器。(自定义的过滤器 也可以使用springmvc提供的过滤器)

 

 <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>
原文地址:https://www.cnblogs.com/yufengwang/p/11455812.html