springmvc技术文档.doc
文本预览下载声明
Spring MVC技术文档
Spring MVC 框架Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。Spring MVC 优点
Spring Spring MVC性能非常优秀,能与Spring框架无缝集成,相比Struts2效率更快,Struts2由于采用了值栈、OGNL表达式、struts2标签库等,会导致应用的性能下降。Spring MVC的学习难度小于Struts2,Struts2用不上的多余功能太多Spring MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分)
Spring MVC 主要功能
以Controller为中心完成对系统流程的控制管理
获取请求中提交的数据
对传入参数进行验证
根据请求调用相应业务逻辑完成数据处理
将处理结果返回给视图
国际化支持
针对不同视图技术提供不同解析支持方案
针对JSP视图技术提供标签库
通过拦截器链实现面向方面编程完成系统级控制
对文件上传、下载等常用功能的封装
Spring MVC 技术介绍
实现Spring MVC的方式主要有两种,一种是基于配置的方式来实现,另一种是基于注解的方式实现,重点主要为基于注解的方式来实现Spring MVC。
Spring MVC的几大核心组件
DispatcherServlet 前端控制器,将请求分派到具体的控制器Controller中
Controller 具体的控制器,完成对系统流程的控制管理
Handler Mapping 映射器,将请求映射到具体的控制器Controller上,前端控DispatcherServlet通过此映射,才能将请求分派到具体的控制器 Controller
ViewResolver 和 View ViewResolver为视图解析器,View为视图解析类,两者需结合使用 ,视图解析器是指为返回的视图指定某种解析方案,而视图解析类则为此种解析方案指定具体实现。
Interceptors 拦截器
LocalResolver 本地标签库,如:jsp标签库
Validate 验证框架
基于配置的Spring MVC
首先需要配置DispatcherServlet,配置如下:
说明:
param-name contextConfigLocation /param-name
指定Spring MVC配置文件的加载路径,若未指定配置文件加载路径,则默认路径为/WEB-INF/[servlet-name]-servlet.xml,如/WEB-INF/testMvc -servlet.xml
load-on-startup1/load-on-startup加载方式1为启动服务时加载
包含*.mvc的请求,将会被DispatcherServlet拦截
写一个自己的业务处理Controller类
说明:
通过直接实现Controller 接口或AbstractController抽象类来定义一个Controller
返回一个ModelAndView对象,testSuc是指返回的视图名称,
testList为返回页面的模型数据,页面取的时候直接取这个健对应的值即可,如${testList},
当调用mv.addObject(attributeValue)方法时,此时没有指定存放对象的键,将会默认为实际存放对象的名字,如:
Wusers对应的键为wusers
ListUser对应的键为userList
SetPeople对应的键为peopleSet
等等……
常用到的一些Controller如下:
a) 用于直接跳转页面的
ParameterizableViewController 参数化的视图控制器,
根据配置中的参数来匹配
显示全部