1、首先来配置一下DispatcherServlet:
spring mvc和大部分mvc框架一样,底层也是依赖servlet api的,所以spring mvc的请求处理也是从一个servlet开始,这个servlet就是DispatcherServlet. 以下是在web.xml中DispatcherServlet的配置:
<!--配置Sring MVC的核心控制器DispatcherServlet -->
<servlet>
<description>spring mvc DispatcherServlet</description>
<display-name>spring mvc</display-name>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!--为DispatcherServlet建立映射 -->
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
根据servlet-name的配置,我们还要在/WEB-INF/目录下面建一个*-servlet.xml的配置文件,在这里我们的文件名就是DispatcherServlet-servlet.xml. 以后关于spring mvc的配置信息就将在这个xml里进行.
2、下面说一下DispatcherServlet对一个请求的处理过程:(见附件)
这里先后涉及几个对象:
1:Handler Mapping 映射控制器,负责将url映射成对应的Controller.
2:Controller spring 的控制器,相当于servlet或struts 的action,负责主要的业
务处理,并返回一个ModelAndView给DispatcherServlet.
3:ModelAndView 包含着一个页面文件(jsp和html等)的逻辑视图名,
4:ViewResoler 视图解析器,根据ModelAndView提供的视图对象,查找对应的视图文件,并把他响应给客户.
在获得请求以后,DispatcherServlet首先会查询Handler Mapping对象(一个或多个).
Handler Mapping的主要工作是将请求的url映射成对应的Controller对象.
接着,DispatcherServlet根据Handler Mapping对象找到的结果,把请求分发给对应的Controller对象来处理,Controller负责处理具体的业务逻辑,并返回一个带有下一个页面信息的ModelView对象,最后ViewResoler 对象根据ModelAndView的信息查找对应的视图页面,并响应给用户.
3、为了完成以上的过程,必须在DispatcherServlet-servlet.xml中配置所有相关的组件,大体的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- ***** 映射处理器 handler mapping *****-->
<!-- 映射处理器的主要作用是将请求的url映射成对应的Controller -->
<!-- spring 提供了多个handler mapping 的实现,在这里可以配置一个或多个映射处理器,如果配置多个映射处理器,则需要配置order属性来指定他们的顺序,order的值越小,优先权越高 ,这里只用BeanNameUrlHandlerMapping来做示例 -->
<bean id="beanNameUrlMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="order"><value>1</value></property>
</bean>
<!-- ***** 视图解析器 ****** -->
<!-- 视图解析器 负责根据ModelAndView提供的视图信息查找对应的视图页面(.jsp或.html等)-->
<!-- 根据这里的配置,我们把视图文件都放在/WEB-INF/jsp/目录下,ModelView对象会提供该目录下的一个文件名,视图解析器会根据该文件名在/WEB-INF/jsp/目录下查找对应的文件,并把发返回给DispatcherServlet,DispatcherServlet再把他响应给客户 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<!-- ***** 控制器 **** -->
<!-- 控制器 不多说了 把他当servlet或action就行了-->
<bean name="/register.htm" class="spring.controller.Register">
</bean>
<bean name="/newuser.htm" class="spring.controller.Newuser">
</bean>
</beans>
发表评论
-
Spring三种事务处理方式
2011-05-31 18:03 7691、用原始的transactionfactorybean的,代 ... -
面向对象四大特征
2011-05-31 17:53 989计算机软件系统是现实生活中的业务在计算机中的映射,而现实生活中 ... -
Hibernate工作流程图
2011-05-31 17:48 2227如果只是单独的说一个Hibernate的流程主要分为以下八个步 ... -
Struts 2工作流程
2011-05-31 17:42 644Struts 2框架本身大致可以分为3个部分: 1. 核心控 ... -
Struts 1工作流程
2011-05-31 17:41 1605一个用户的请求是通ActionServlet来处理和转发的。那 ... -
SQL数据库优化的经验总结
2011-05-31 17:31 704[摘要] 缺省情况下建立 ... -
触发器的作用,什么时候用触发器,创建触发器的步骤,触发器里是否可以有commit, 为什么?
2011-05-31 17:06 1466触发器是可以由事件来启动运行的,存在于数据库服务器中的一个过程 ... -
Oracle各种版本之间的区别
2011-05-31 16:52 1451Oracle 9i比8i多了哪些新特性?简要说:9i更易于管理 ... -
数据库三大范式
2011-05-31 14:23 728数据库的建立必须遵循一定的规则。在关系数据库中,这种规则就是范 ... -
UML中对象关系及线条表示
2011-05-31 14:04 861一、继承下有两种关系: 1、一般化关系用 ... -
Struts1与Struts2的区别,它们常用到哪几个类, 以及工作流程?
2011-05-18 12:35 889常用到的类:Struts1:ActionServlet[pro ... -
ejb是基于哪些技术实现的?并说出sessionbean和entitybean的区别,statefulbean和statelessbean的区别
2011-05-18 11:29 808ejb包括session bean、entity bean、m ...
相关推荐
spring mvc执行流程 Spring工作流程描述
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring MVC4中,我们将会从头开始构建一个有用的Web应用。本书共计10章,分别介绍了...
Spring mvc工作流程.m4a
Spring MVC 核心流程图,清晰介绍了spring mvc中的控制流程
spring mvc4.1.4 源代码 spring mvc4.1.4 源代码spring mvc4.1.4 源代码spring mvc4.1.4 源代码spring mvc4.1.4 源代码
三、spring mvc 核心流程图 四、spring mvc DispatcherServlet说明 五、spring mvc 双亲上下文的说明 六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring mvc...
第4篇是Spring MVC与MyBatis的项目整合实战,通过对水果网络销售平台的需求分析、功能设计、数据库设计以及模块详细编码实现,让读者了解整合项目开发的整体流程。 《Spring MVC+MyBatis开发从入门到项目实战》对...
首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController ...
三、spring mvc 核心流程图 四、spring mvc DispatcherServlet说明 五、spring mvc 双亲上下文的说明 六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring mvc...
1.创建第一个 Spring MVC 程序案例 2.Spring MVC @RequestMapping 注解案例 3.Spring MVC 请求参数的获取案例 4.Spring MVC 域对象共享数据案例 5.Spring MVC @ModelAttribute 注解案例 6.Spring MVC 国际化案例 7....
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且...
Spring mvc依赖包 Spring mvc都做了些什么 Controller为中心完成对系统流程的控制管理 从请求中搜集数据 对传入的参数进行验证 将结果返回给视图 针对不同的视图提供不同的解决方案 针对jsp视图技术提供标签库 拦截...
三、spring mvc 核心流程图 四、spring mvc DispatcherServlet说明 五、spring mvc 双亲上下文的说明 六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring ...
可用于分析spring mvc源码、spring mvc父子容器初始化流程、session和cookie机制、spring session等,也可以用于学习Java Web(servlet、filter、listener等)、spring源码等。 该项目使用servlet3.0规范,无web.xml...
spring boot+spring mvc+spring整合开发**音乐**小程序(含简单服务端) 项目描述 spring boot+spring mvc+spring代理请求**音乐接口获取数据,然后提供给**小程序做显示 运行环境 jdk8+IntelliJ IDEA+maven ...
资料-10 Spring MVC入门程序.rar
基于jpa+hibernate+spring+spring mvc注解方式项目案例带整体架构及一个页面操作小流程适合新手
Spring MVC属于SpringFrameWork的后续产品,已经...Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。
Spring MVC示例程序,仅供参考