《第7章 Spring Web MVC框架.ppt》由会员分享,可在线阅读,更多相关《第7章 Spring Web MVC框架.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Spring2.0第七章第七章Spring Web MVC框架框架Spring2.0回顾q掌握Spring对事务的支持(编程TM和声明TM)q整合Hibernate,利用Spring进行事务管理Spring2.0目标q整合使用Spring IoC容器功能,认识Spring所提供MVC框架qSpring提供Controller继承架构Spring2.0第一个Spring Web MVC程序q在Web MVC架构中,用户请求先连接至前端控制器(Front controller),由前端控制器判断用户的请求要分派Dispatch 给哪一个控制对象Controller来处理请求,借此达到控制用户请求资
2、源的目的.org.springframework.web.servlet.DispatcherServlet负责将客户的请求分配给控制对象.Spring2.0实现步骤在web.xml中定义DispatcherServlet;在Spring Web MVC框架中,控制对象要实现org.springframework.web.servlet.mvc.Controller接口,实现其中handleRequest()方法;Spring的Controller在起IoC容器管理下,在XML文件中设置Controller请求处理以及处理完毕后,呈现的网页路径.web.xmldispatcherServlet
3、初始参数contextConfigLocation相关xml文件根据请求匹配原则Controller接口控制对象返回ModelAndViewViewResolverView解析ReqResSpring2.0示例处理中文乱码!前端控制器初始参数定义Bean配置文件的位置与名称Spring2.0代码-1定义控制器第一个参数表示:数据显示网页;第二个参数表示:取得Model对象的”key值”第三个参数表示:给view层呈现数据的Model对象.Spring2.0代码-2Bean定义文件view层解析DispatcherServlet默认使用BeanNameUrlHandleMapping,根据Bea
4、n在定义时的name属性及用户请求的URL,决定使用哪一个Controller实例.Spring2.0代码-3Spring2.0WebApplicationContextSpring专为Servlet的Web应用程序设计ApplicationContext实现类WebApplicationContext,利用它取得Bean定义文件中定义Bean实例.注意:在web.xml中定义以下配置:若不写,默认读取applicationContext.xmlSpring2.0示例Spring2.0代码-1web.xml参见前面代码Spring2.0代码-2Spring2.0Handler Mapping-
5、1在前面程序中,利用BeanNameUrlHandlerMapping(默认),将请求分配至对应的Controller,即URL与Controller类名称直接建立关系,仅适用小型应用程序.常使用SimpleUrlHandleMapping设置请求分配至控制器.Spring2.0代码Spring2.0Handler Mapping-2q若定义Controller名称时遵守命名规范,使用ControllerClassNameHandlerMapping,会自动将请求URL与Controller类名称匹配.Spring2.0Handler Interceptorq利用HandlerIntercep
6、torAdapter类在请求被控制对象处理前、后来拦截。如果返回false,接下来的Interceptor或Controller就不处理请求Spring2.0代码Spring2.0运行注意使用的urlHandlerMapping是SimpleUrlHandlerMapping;当通过DispatcherServlet请求时,在请求被处理的前后都会进行记录。Spring2.0Controller继承架构q在Spring中,Controller是Spring IoC容器管理的一个Bean实例。Spring2.0ModelAndViewqModelAndView类代表呈现画面时所使用的Model数据
7、对象与View数据对象,封装这两个对象返回。ModelAndView(String viewname)ModelAndView(String viewname,Map model)ModelAndView(String viewname,String modelname,Object modelObject)可以使用View接口代替参数String viewnameInternalResourceView、JstlView、RedirectViewSpring2.0ViewResolverqDispatcherServlet根据传回的ModelAndView实例来解析View名称,并处理呈现于画面的Model对象。ViewResolve在名称解析完后,由实现View接口的实例完成呈现画面的Model对象public interface View void render(Map model,HttpServletRequest req,HttpServletResponse res)throws Exception;InternalResourceViewSpring2.0总结q整合使用Spring IoC容器功能,认识Spring所提供MVC框架qSpring提供Controller继承架构