李佳坡教你Spring的MVCppt课件.ppt_第1页
李佳坡教你Spring的MVCppt课件.ppt_第2页
李佳坡教你Spring的MVCppt课件.ppt_第3页
李佳坡教你Spring的MVCppt课件.ppt_第4页
李佳坡教你Spring的MVCppt课件.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1 Spring的MVC 2 上章回顾 介绍了Spring框架的相关概念和知识 深入理解了控制反转和依赖注入 通过使用Eclipse和SpringIDE开发Spring 掌握了开发Spring的相关技巧 学习了Spring的Bean定义方式 3 本章目标 了解Spring的WebMVC框架 掌握Spring的前端控制器DispatcherServlet 了解Spring的Controller体系 AbstractControllerMultiActionController命令控制器掌握处理器映射和视图解析 4 SpringWebMVC框架 Spring框架提供了构建Web应用程序的全功能MVC模块 5 SpringWebMVC特点 SpringWebMVC框架有下面一些特点 清晰的角色划分 直接将框架类和应用类都作为JavaBean配置 可适应性 但不具有强制性 可重用的业务代码 而不需要代码重复 可定制的绑定和验证 可定制的处理器映射 可定制的视图解析 可定制的本地化和主题解析 简单而强大的标签库 6 前端控制器DispatcherServlet Spring的web框架是围绕DispatcherServlet设计的 7 DispatcherServlet的配置 DispatcherServlet定义在web应用中的web xml文件 exampleorg springframework web servlet DispatcherServlet1example do 8 WebApplicationContext 每个DispatcherServlet有它自己的WebApplicationContext 它包含了DispatcherServlet配置所需要的bean DispatcherServlet使用的缺省BeanFactory是XmlBeanFactory DispatcherServlet在初始化时会在web应用的WEB INF目录下寻找 servlet name servlet xml文件 9 Context体系 10 配置描述 11 处理请求过程 12 SpringMVC实现步骤 使用SpringMVC的步骤 web xml中配置DispatcherServlet及URL映射编写主页逻辑的控制器类编写 servlet xml 配置控制器配置一个视图解析器将控制器与JSP结合起来编写JSP文件 实现View 13 ModelAndView ModelAndView对象 包装了用于显示的视图和模型数据 创建方法 newModelAndView 视图名 模型数据名 数据值 第一个参数用于显示这个控制器的输出表单的视图组件的逻辑名 视图解析器将根据这个名字查找真正的视图对象 14 Spring的控制器 控制器解释用户输入 并将其转换成合理的模型数据 从而可以进一步由视图展示给用户 Spring控制器架构的基础是org springframework mvc Controller接口 publicinterfaceController ModelAndViewhandleRequest HttpServletRequestrequest HttpServletResponseresponse throwsException 15 Controller继承架构 16 AbstractController AbstractController作为控制器基类时 需要重载handleRequestInternal HttpServletRequest HttpServletResponse 方法 publicclassSampleControllerextendsAbstractController publicModelAndViewhandleRequestInternal HttpServletRequestrequest HttpServletResponseresponse throwsException ModelAndViewmav newModelAndView success newHashMap 定义Bean 120 17 Spring命令控制器 Spring的CommandControllers是SpringMVC包的重要部分 命令控制器提供了一种和数据对象交互的方式 并动态将来自HttpServletRequest的参数绑定到你指定的数据对象上 AbstractCommandController AbstractFormController SimpleFormController WizardFormController 18 AbstractCommandController 当控制器需要根据参数执行工作是 应该继承命令控制器 如org springframework web servlet mvc AbstractCommandContraller这个控制器会自动将参数绑定到命令对象中方法setCommandClass 类名 class 使用该类应覆盖handle HttpServletRequestrequest HttpServletResponseresponse Objectcommand BindExceptionerros throwsException 19 AbstractCommandController 在handle 方法调用前 Spring将视图把请求中的任何参数匹配到命令对象的属性中 20 MultiActionController3 1 MultiActionController将多个行为 action 合并在一个控制器里 这样可以把相关功能组合在一起 MultiActionController位于org springframework web mvc multiaction包中 通过将请求映射到正确的方法名来调用方法 当在一个控制器存在大量公共的行为 但是有多个调用入口时使用MultiActionController 21 MultiActionController3 2 MultiActionController所支持的方法格式 anyMeaningfulName能够被任何自定义的方法名代替public ModelAndView Map void anyMeaningfulName HttpServletRequest HttpServletResponse Exception AnyObject 标准格式 publicModelAndViewdoRequest HttpServletRequest HttpServletResponse 范例 参数中包含从请求中抽取出来的信息 publicModelAndViewdoLogin HttpServletRequest HttpServletResponse Login 处理Exception publicModelAndViewprocessException HttpServletRequest HttpServletResponse IllegalArgumentException 不返回任何数值 publicvoidgoHome HttpServletRequest HttpServletResponse 返回一个Map publicMapdoRequest HttpServletRequest HttpServletResponse 22 MultiActionController3 3 MethodNameResolver负责从请求中解析出需要调用的方法名称 Spring中内置三个实现 参数获取 ParameterMethodNameResolver路径获取 InternalPathMethodNameResolver属性文件获取 PropertiesMethodNameResolver 23 配置控制器映射 Spring有两个常用的控制器映射 BeanNameUrlHandlerMappingSimpleUrlHandlerMapping LoginControllerRegisterController 24 处理器映射 处理器映射可以把web请求映射到正确的处理器 handler 上 AbstractUrlHandlerMapping BeanNameUrlHandlerMapping SimpleUrlHandlerMapping 25 BeanNameUrlHandlerMapping 将收到的HTTP请求映射到bean的名字上 26 SimpleUrlHandlerMapping ex view html helpController help html helpController 27 视图解析器 视图解析器是一个任何实现了org springframework web servlet ViewResolver的Bean SpringMVC会特殊对待这些Bean 在决定使用哪个视图Bean的时候咨询他们 28 视图解析器2 1 Spring提供了视图解析器供你在浏览器显示模型数据 而不必被束缚在特定的视图技术上 ViewResolver和View是Spring的视图处理方式中特别重要的两个接口 ViewResolver提供了从视图名称到实际视图的映射 View处理请求的准备工作 并将该请求提交给某种具体的视图技术 29 视图解析器2 2 Spring中的视图以名字为标识 视图解析器通过名字来解析视图 Spring提供了多种视图解析器 AbstractCachingViewResolverXmlViewResolverResourceBundleViewResolverUrlBasedViewResolverInternalResourceViewResolAbstractCachingViewResolverVelocityViewResolver FreeMarkerViewResolver 30 解析器示例 这个视图解析器会将视图名解析成URL 并将请求传递给RequestDispatcher来显示视图 31 声明一个视图解析器 Spring在视图处理方面的两个重要类是ViewResolver和View View接口为请求做准备 并将请求传递给某个视图技术 ViewResolver提供一个视图名和实际视图之间的映射 jsp 32 示例演

温馨提示

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

评论

0/150

提交评论