《SpringMVC培训》PPT课件.ppt_第1页
《SpringMVC培训》PPT课件.ppt_第2页
《SpringMVC培训》PPT课件.ppt_第3页
《SpringMVC培训》PPT课件.ppt_第4页
《SpringMVC培训》PPT课件.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

SpringMVC架构 课程内容 SpringMVC框架架构SpringMVC三大组件SpringMVC框架热身SpringMVC其他 SpringMVC框架优势 1 清晰的角色划分 前端控制器 DispatcherServlet 请求到处理器映射 HandlerMapping 处理器适配器 HandlerAdapter 视图解析器 ViewResolver 处理器或页面控制器 Controller 验证器 Validator 命令对象 Command请求参数绑定到的对象就叫命令对象 表单对象 FormObject提供给表单展示和提交到的对象就叫表单对象 2 分工明确 而且扩展点相当灵活 可以很容易扩展 虽然几乎不需要 3 由于命令对象就是一个POJO 无需继承框架特定API 可以使用命令对象直接作为业务对象 4 和Spring其他框架无缝集成 是其它Web框架所不具备的 SpringMVC框架优势 5 可适配 通过HandlerAdapter可以支持任意的类作为处理器 6 可定制性 HandlerMapping ViewResolver等能够非常简单的定制 7 功能强大的数据验证 格式化 绑定机制 8 利用Spring提供的Mock对象能够非常简单的进行Web层单元测试 9 本地化 主题的解析的支持 使我们更容易进行国际化和主题的切换 10 强大的JSP标签库 使JSP编写更容易 还有比如RESTful风格的支持 简单的文件上传 约定大于配置的契约式编程支持 基于注解的零配置支持等等 SpringMVC框架 淘宝登录分析 具体执行步骤 具体执行步骤如下 1 首先用户发送请求 前端控制器 前端控制器根据请求信息 如URL 来决定选择哪一个页面控制器进行处理并把请求委托给它 即以前的控制器的控制逻辑部分 图中的1 2步骤 2 页面控制器接收到请求后 进行功能处理 首先需要收集和绑定请求参数到一个对象 这个对象在SpringWebMVC中叫命令对象 并进行验证 然后将命令对象委托给业务对象进行处理 处理完毕后返回一个ModelAndView 模型数据和逻辑视图名 图中的3 4 5步骤 3 前端控制器收回控制权 然后根据返回的逻辑视图名 选择相应的视图进行渲染 并把模型数据传入以便视图渲染 图中的步骤6 7 4 前端控制器再次收回控制权 将响应返回给用户 图中的步骤8 至此整个结束 SpringMVC组件总结 1 DispatcherServlet前端控制器 不需要程序员写 负责框架调度 相当于中央处理器基本controller控制器功能 接收用户request请求和给用户response响应2 HandlerMapping 处理器映射器 不需要程序员写 负责根据action的连接找到Handler处理器 理解成写的action 3 HandlerAdapter 处理器适配器 不需要程序员写 负责去执行Handler4 Handler处理器需要程序员写理解成struts里边的action 需要程序员写action类 这个action类符合适配器的执行规则 SpringMVC组件总结 5 ViewResolver 视图解析器 不需要程序员写 负责将模型数据填充到View6 View视图需要程序员写jsp页面 课程内容 SpringMVC框架架构SpringMVC三大组件SpringMVC框架热身SpringMVC其他 SpringMVC的三大组件 HandlerMapping处理器映射 一般通过扫描包配置 通过处理器映射 你可以将Web请求映射到正确的处理器Controller上 当接收到请求时 DispactherServlet将请求交给HandlerMapping处理器映射 让他检查请求并找到一个合适的 Controller类 HandlerExecutionChain 这个HandlerExecutionChain包含一个能处理该请求的处理器Controller Controller处理器对访问的请求进行业务处理 并返回需要的数据 ViewResolver视图解析器解析返回的ModelAndView 选择一个适合的ViewResolver 必须是已经注册到Spring容器中的ViewResolver 返回给DispatcherServlet ViewResolver结合Model和View 来渲染视图 将渲染结果返回给客户端 课程内容 SpringMVC框架架构SpringMVC三大组件SpringMVC框架热身SpringMVC其他 SpringMVC的HelloWorld 软件参数Eclipse Mars 1Release 4 5 1 Tomcat 8 0 36JDK 1 8 0 60Spring framework 4 0 4 RELEASE 新建项目 File New Other 选择Dynamicwebproject 项目建好之后 目录结构如下 导入jar包 我们基于Springmvc框架进行开发 需要依赖一下的springjar包 spring aop 4 0 4 RELEASE jarspring beans 4 0 4 RELEASE jarspring context 4 0 4 RELEASE jarspring core 4 0 4 RELEASE jarspring expression 4 0 4 RELEASE jarspring web 4 0 4 RELEASE jarspring webmvc 4 0 4 RELEASE jarcommons logging 1 1 1 jar 用来打印log 配置文件及编写代码 用于配置springmvc的配置文件的位置和名称 这里说明会新建一个springmvc xml的配置文件 Springmvc xml scr下 是一个视图解析器 用于把在控制器中handler的结构解析为实际的物理视图 这个要配合controller类来解析 HelloWorld java com jackie springmvc handlers下 首先要在类的前面添加 Controller 注解 表示是spring的控制器 hello方法上方有一个 RequestMapping 是用于匹配请求的路径 比如这里匹配的请求路径就是 http localhost 8080 springTest springmvc helloworld 即当tomcat服务启动后 在浏览器输入这个url时 如果在这个方法打断点了 就会跳入该方法 使用 RequestMapping映射请求 SpringMVC使用 RequestMapping注解为控制器指定可以处理哪些URL请求在控制器的类定义及方法定义处都可标注 RequestMapping类定义处 提供初步的请求映射信息 相对于WEB应用的根目录方法处 提供进一步的细分映射信息 相对于类定义处的URL 若类定义处未标注 RequestMapping 则方法处标记的URL相对于WEB应用的根目录DispatcherServlet截获请求后 就通过控制器上 RequestMapping提供的映射信息确定请求所对应的处理方法 index jsp WebContent下 当访问index jsp时 页面上会展示一个超链接 点击超链后 url中的地址就会发生跳转 由 http localhost 8080 springTest index jsp 跳转到 http localhost 8080 springTest helloworld 而这个url请求就会进入HelloWorld中的hello方法 因为其与该方法上的 helloworld 匹配 success jsp WEB INF views下 该页面是作为请求成功后的相应页面 当springmvc xml中声明了prefix和suffix 而夹在这两者之间的就是这里返回的字符串 所以执行完这个方法后 我们可以得到这样的请求资源路径 WEB INF views success jsp 这个success jsp是需要我们新建的 建立这个jsp有什么作用 什么时候调用呢 项目创建完毕 我们完成了基于Springmvc框架的HelloWorld程序的开发 包括要依赖的jar包 配置的文件 控制器代码的编写和展示页面的编写等 springmvc如何访问静态资源 关于使用springmvc处理静态资源 比如html 发现之前的springmvc xml中定义为jsp结尾就可以成功跳转 但是如果改为html并在web inf下面新建了html文件后 并将suffix这里的 jsp 改为 html 无法跳转到想要的html页面 并且给出404错误 同时console给出错误信息为 NomappingfoundforHTTPrequestwithURI springTest WEB INF views result html inDispatcherServ 最后发现是需要让spring明确要处理静态资源 原来的web xml中只有其匹配的都是controller中类似 RequestMapping springmvc helloworld 这样的注解配置的请求 而对于类似html css jpg等资源的访问就会得不到 所以需要在web xml中加入以下类型的支持 这样就可以保证spring能够拦截并处理静态资源 1 在spring mvc xml中启用默认Servlet2 在web xml中增加对静态资源的处理default js css assets images

温馨提示

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

评论

0/150

提交评论