《SpringMVC培训(PPT31页)(共1张).ppt》由会员分享,可在线阅读,更多相关《SpringMVC培训(PPT31页)(共1张).ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Spring MVC架构课程内容: Spring MVC 框架架构 Spring MVC 三大组件 Spring MVC 框架热身 Spring MVC 其他Spring MVC框架优势 1 、 清 晰 的 角 色 划 分 : 前 端 控 制 器(DispatcherServlet)、请求到处理器映射( H a n d l e r M a p p i n g ) 、 处 理 器 适 配 器(HandlerAdapter)、视图解析器(ViewResolver)、处理器或页面控制器(Controller)、验证器( Validator)、命令对象(Command 请求参数绑定到的对象就叫命令对象
2、)、表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)。 2、分工明确,而且扩展点相当灵活,可以很容易扩展,虽然几乎不需要; 3、由于命令对象就是一个POJO,无需继承框架特定API,可以使用命令对象直接作为业务对象; 4、和Spring 其他框架无缝集成,是其它Web框架所不具备的;Spring MVC框架优势 5、可适配,通过HandlerAdapter可以支持任意的类作为处理器; 6、可定制性,HandlerMapping、ViewResolver等能够非常简单的定制; 7、功能强大的数据验证、格式化、绑定机制; 8、利用Spring提供的Mock对象能够非常简
3、单的进行Web层单元测试; 9、本地化、主题的解析的支持,使我们更容易进行国际化和主题的切换。 10、强大的JSP标签库,使JSP编写更容易。 还有比如RESTful风格的支持、简单的文件上传、约定大于配置的契约式编程支持、基于注解的零配置支持等等。Spring MVC框架淘宝登录分析具体执行步骤 具体执行步骤如下: 1、 首先用户发送请求前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图中的1、2步骤; 2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring We
4、b MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图中的3、4、5步骤; 3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图中的步骤6、7; 4、 前端控制器再次收回控制权,将响应返回给用户,图中的步骤8;至此整个结束。SpringMVC组件总结1. DispatcherServlet前端控制器(不需要程序员写)负责框架调度,相当于中央处理器基本controller控制器功能:接收用户request请求和给用户response响应2. Hand
5、lerMapping(处理器映射器)(不需要程序员写)负责根据action的连接找到Handler处理器(理解成写的action)3. HandlerAdapter(处理器适配器)(不需要程序员写)负责去执行Handler4. *Handler处理器 需要程序员写理解成struts里边的action,需要程序员写action类,这个action类符合适配器的执行规则。SpringMVC组件总结5. ViewResolver(视图解析器)(不需要程序员写)负责将模型数据填充到View6. *View视图需要程序员写jsp页面课程内容: Spring MVC 框架架构 Spring MVC 三大组
6、件 Spring MVC 框架热身 Spring MVC 其他Spring MVC的三大组件 HandlerMapping HandlerMapping 处理器映射(一般通过扫描包配置)处理器映射(一般通过扫描包配置)通过处理器映射,你可以将通过处理器映射,你可以将Web Web 请求映射到正确的处理器请求映射到正确的处理器 Controller Controller 上。上。当接收到请求时,当接收到请求时,DispactherServlet DispactherServlet 将请求交给将请求交给HandlerMapping HandlerMapping 处理器映射,让他检查请求并找到一个合
7、适的处理器映射,让他检查请求并找到一个合适的( ControllerController类)类)HandlerExecutionChainHandlerExecutionChain,这个这个HandlerExecutionChain HandlerExecutionChain 包含一个能处理该请求的处理器包含一个能处理该请求的处理器 ControllerController。 Controller 处理器对访问的请求进行业务处理,并返回需要的数据 ViewResolver 视图解析器解析返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的
8、ViewResolver)返回给DispatcherServlet ;ViewResolver 结合Model和View,来渲染视图, 将渲染结果返回给客户端。课程内容: Spring MVC 框架架构 Spring MVC 三大组件 Spring MVC 框架热身 Spring MVC 其他Spring MVC的HelloWorld软件参数Eclipse:Mars.1 Release (4.5.1)Tomcat: 8.0.36JDK:1.8.0_60Spring-framework: 4.0.4.RELEASE新建项目File-New-Other,选择Dynamic web project项
9、目建好之后,目录结构如下:导入jar包我们基于Spring mvc框架进行开发,需要依赖一下的spring jar包: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(用来
10、打印log)配置文件及编写代码Springmvc.xml(scr下)。HelloWorld.javaHelloWorld.java(com.jackie.springmvc.handlerscom.jackie.springmvc.handlers下)下)使用 RequestMapping 映射请求 Spring MVC 使用 RequestMapping 注解为控制器指定可以处理哪些 URL 请求在控制器的类定义及方法定义处都可标注RequestMapping类定义处:提供初步的请求映射信息。相对于WEB应用的根目录方法处:提供进一步的细分映射信息。相对于类定义处的 URL.若类定义处未标注
11、 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方法,
12、因为其与该方法上的“/helloworld”匹配。success.jsp(WEB-INF/views下)该页面是作为请求成功后的相应页面当springmvc.xml中声明了prefix和suffix,而夹在这两者之间的就是这里返回的字符串,所以执行完这个方法后,我们可以得到这样的请求资源路径“/WEB-INF/views/success.jsp”,这个success.jsp是需要我们新建的建立这个jsp有什么作用,什么时候调用呢?项目创建完毕 我们完成了基于Spring mvc框架的HelloWorld程序的开发,包括要依赖的jar包,配置的文件,控制器代码的编写和展示页面的编写等spring
13、 mvc如何访问静态资源 关于使用spring mvc处理静态资源,比如html(发现之前的springmvc.xml中定义为jsp结尾就可以成功跳转,但是如果改为html并在web-inf下面新建了html文件后,并将suffix这里的.jsp改为.html,无法跳转到想要的html页面,并且给出404错误,同时console给出错误信息为:No mapping found for HTTP request with URI /springTest/WEB-INF/views/result.html in DispatcherServ) 最后发现是需要让spring明确要处理静态资源,原来的
14、web.xml中只有其匹配的都是controller中类似RequestMapping(/springmvc/helloworld)这样的注解配置的请求,而对于类似html/css/jpg等资源的访问就会得不到,所以需要在web.xml中加入以下类型的支持这样就可以保证spring 能够拦截并处理静态资源1.1.在在spring-mvc.xmlspring-mvc.xml中启用默认中启用默认ServletServlet2.2.在在web.xmlweb.xml中增加对静态资源的处理中增加对静态资源的处理 default *.js *.css /assets/* /images/* 课程内容: Spring MVC 框架架构 Spring MVC 三大组件 Spring MVC 框架热身 Spring MVC 其他日期格式转化第一步,编写日期格式转换器日期格式转化第二步 注册转换器请求处理方法方法的请求参数HttpServletRequestHttpServletResponse HttpSessionLocaleModelMap实体类方法返回对象类型ModelAndViewvoid逻辑视图名Stringjson 演讲完毕,谢谢观看!