spring mvc技术文档.doc_第1页
spring mvc技术文档.doc_第2页
spring mvc技术文档.doc_第3页
spring mvc技术文档.doc_第4页
spring mvc技术文档.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Spring MVC技术文档1. Spring MVC 框架介绍Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。2. Spring MVC 优点1) Spring MVC中的功能组件划分很细致,采用了面向方面的编程aop技术更好的降低的程序的耦合度,也使得程序扩展起来非常方便、灵活。2) Spring MVC性能非常优秀,能与Spring框架无缝集成,相比Struts2效率更快,Struts2由于采用了值栈、OGNL表达式、struts2标签库等,会导致应用的性能下降。3) Spring MVC的学习难度小于Struts2,Struts2用不上的多余功能太多。4) Spring MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分)3. Spring MVC 主要功能1) 以Controller为中心完成对系统流程的控制管理2) 获取请求中提交的数据3) 对传入参数进行验证4) 根据请求调用相应业务逻辑完成数据处理5) 将处理结果返回给视图6) 国际化支持7) 针对不同视图技术提供不同解析支持方案8) 针对JSP视图技术提供标签库9) 通过拦截器链实现面向方面编程完成系统级控制10) 对文件上传、下载等常用功能的封装4. Spring MVC 技术介绍实现Spring MVC的方式主要有两种,一种是基于配置的方式来实现,另一种是基于注解的方式实现,重点主要为基于注解的方式来实现Spring MVC。4.1 Spring MVC的几大核心组件DispatcherServlet 前端控制器,将请求分派到具体的控制器Controller中Controller 具体的控制器,完成对系统流程的控制管理Handler Mapping 映射器,将请求映射到具体的控制器Controller上,前端控DispatcherServlet通过此映射,才能将请求分派到具体的控制器 ControllerViewResolver 和 View ViewResolver为视图解析器,View为视图解析类,两者需结合使用 ,视图解析器是指为返回的视图指定某种解析方案,而视图解析类则为此种解析方案指定具体实现。Interceptors 拦截器LocalResolver 本地标签库,如:jsp标签库Validate 验证框架4.2 基于配置的Spring MVCtestMvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath*:/mvcconf/*/*_mvc.xml1testMvc*.mvc4.2.1 首先需要配置DispatcherServlet,配置如下: 说明:1) contextConfigLocation 指定Spring MVC配置文件的加载路径,若未指定配置文件加载路径,则默认路径为/WEB-INF/servlet-name-servlet.xml,如/WEB-INF/testMvc -servlet.xml2) 1加载方式1为启动服务时加载3) 包含*.mvc的请求,将会被DispatcherServlet拦截4.2.2 写一个自己的业务处理Controller类import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;public class TestController implements Controller public ModelAndView handleRequest(HttpServletRequest arg0,HttpServletResponse arg1) throws Exception ModelAndView mv=new ModelAndView(testSuc);mv.addObject(testList, new ArrayList();System.out.println(测试springmvc成功);return mv; 说明:1) 通过直接实现Controller 接口或AbstractController抽象类来定义一个Controller2) 返回一个ModelAndView对象,testSuc是指返回的视图名称,testList为返回页面的模型数据,页面取的时候直接取这个健对应的值即可,如$testList,当调用mv.addObject(attributeValue)方法时,此时没有指定存放对象的键,将会默认为实际存放对象的名字,如: Wusers对应的键为wusers List对应的键为userList Set对应的键为peopleSet等等3) 常用到的一些Controller如下:a) 用于直接跳转页面的 ParameterizableViewController 参数化的视图控制器,根据配置中的参数来匹配相应的视图UrlFilenameViewController 路径文件名视图控制器,根据请求路径来匹配要跳转到的文件名b) 在同一控制器类中处理多个请求的MultiActionController.具体调用的方法通过MethodNameResolver决定 (InternalPathMethodResolver, ParameterMethodNameResolver,PropertiesMethodResolver) 方法签名: public (ModelAndView | Map | String | void) actionName(HttpServletRequest request, HttpServletResponse response, ,HttpSession ,AnyObject);c) 能封装表单参数的CommandController、 FormController4.2.3 添加Spring MVC的相关配置如下:testController说明:1) testController表示将请求路径testControl.mvc映射到testController上2) prefix表示为要为视图添加的前缀,suffix表示要为视图的后缀,视图解析器将将对返回的视图路径进行处理,最终返回的路径为:prefix+视图名称+ suffix,如当返回的视图名称为testSuc时,最终视图解析器获取到的视图路径为:/WEB-INF/jsp/testSuc.jsp3) 常用的映射器如下:a) 默认的ControllerClassNameHandlerMapping,根据请求路径与控制器的类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论