标签:
Spring Web MVC DispatcherServlet 的请求处理的工作流程如下图所示:

(1)收到一个 HTTP 请求后, DispatcherServlet 根据HandlerMapping来选择并且调用适当的控制器 。
(2)控制器接受请求,并基于使用的 GET 或 POST 方法来调用适当的 service 方法。Service 方法将设置基于定义的业务逻辑的模型数据,并返回视图名称到 DispatcherServlet 中。
(3)DispatcherServlet 会从 ViewResolver 获取帮助,为请求检取定义视图。
(4)一旦确定视图, DispatcherServlet 将把模型数据传递给视图,最后呈现在浏览器中。
<servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><!-- struts习惯使用/*,在springmvc不管用 --><url-pattern>*.do</url-pattern></servlet-mapping>
2.2 配置spring.xml文件
<!-- 一旦有扫描器的定义,mvc:annotation-driven不需要,扫描器中包含驱动--><context:component-scan base-package="cn.itcast.controller"/><!-- 前缀+ viewName +后缀 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- webroot到某一指定的文件夹的路径 --><property name="prefix" value="/WEB-INF/jsp/"/><!-- 视图名称的后缀 --><property name="suffix" value=".jsp"/></bean>
2.3 添加注解
添加@RequestMapping(“/xxx.do”)以此标明访问控制层的方法 @RequestMapping(“/xxxxx”)也可以来在类上声明命名空间
2.4 模型数据处理
方法的返回值可采用ModelAndView,newModelAndView(“XXX”,map);相当于把结果数据放到request
2.5 重定向
return "redirect:homenews-list.do";return "redirect:/homenews/homenews-list.do";2.6 拦截器的使用
<!-- 拦截器--><mvc:interceptors><mvc:interceptor><mvc:mapping path="/**/*"/><bean class="com.hmaccelerate.interceptors.LoginInterceptor"/></mvc:interceptor></mvc:interceptors>
标签:
原文地址:http://www.cnblogs.com/hmaccelerate/p/5371300.html