第一步:在web.xml文件中定义前端控制器
(front controller)DispatcherServlet来拦截用户请求,在web.xml文件中配置(文件配置核心部分)如下:
<!-- 定义前端控制器--->
<servlet>
<servlet-name>springmvc</servlet-name> <servleclass>org.springframework.web.servlet.DispatcherServlet</servletclass>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 让spring MVC的前端控制器拦截所有请求 -->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
如果需要一post方式提交请求,则定义包含表单数据的JSP页面,如果仅仅是以get方式提交请求则无需经过这一步
第二步:定义处理用户请求的Handle1类
,可以实现Controller类或者使用@Controller注解
配置Handle
在spring MVC配置文件中配置handle
在spring2.5之前采用注入方式来配置handle,举例如下:
<bean name="/pathname" class="the path of the handleclass"/>
在spring2.5之后推荐使用注解来配置handle,举例如下:
<context:component-scan base-package="org.fkit.controller"/><.context>
<beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
下面来讲解一下spring--MVC请求响应的完整过程如下:
【1】用户向服务器发送请求,请求被spring的前端控制器DispatchServlet拦截下来
【2】DispatchServlet对请求的URL进行解析,得到URI,根据该URI,调用HandlerMapping获得该handler配置的所有相关对象,包括handler对象以及handler对象对应的拦截器
【3】DispatchServlet根据获得的handler,选择一个合适的handlerAdapter,HandlerAdapter会调用handler实际处理请求的方法
【4】提取请求的模型数据
【5】Handler执行完成后,向DispatchServlet返回一个ModelAndView对象
【6】根据ModelAndView对象,选择一个合适的ViewResolver
【7】ViewResolver结合model和View来渲染视图
【8】将视图渲染结果返回给客户端
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。