springMVC的流程
Posted yufengwang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springMVC的流程相关的知识,希望对你有一定的参考价值。
1. 写一个简单的springmvc的demo.
1.1 引入springmvc相关的jar包。
1.2 配置DispatcherServlet 在web.xml
1.2 配置springmvc的配置文件。
1.3 Controller
Springmvc的流程.
- 客户发出请求。http://localhost:8080/springmvc-01/my.do
- 到达web.xml文件中 DispatcherServlet.查看是否符合url的要求
- DispatcherServlet就会查询springmvc的配置文件。找HandlerMapping.
根据bean的名称查找相应的controller.
找到我的MyController类。执行该类中handleRequestInternal方法。
根据返回的modelAndView在找springmvc配置文件中视图解析器。
把viewName和prefix以及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 根据bean的id查找对应的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 使用注解来替代配置信息。
- 额外aop的jar包
- 在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>
以上是关于springMVC的流程的主要内容,如果未能解决你的问题,请参考以下文章
不得不看的SpringMVC篇!!!(概述+SpringMVC运行流程+SpringMVC搭建)