springmvc一天PPT课件_第1页
springmvc一天PPT课件_第2页
springmvc一天PPT课件_第3页
springmvc一天PPT课件_第4页
springmvc一天PPT课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

基于注解方式搭建SpringMVC框架,1、掌握mvc开发模式,SpringMVC框架2、熟悉SpringMVC的Jar包的选择及包的说明3、运用SpringMVC程序的开发步骤4、了解SpringMVC与Struts2的区别5、掌握SpringMVC常用注解6、URI模板模式映射和请求方式限定,SpringMVC简介,(概念)Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还是Struts这样的Web框架。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServerPages(JSP)技术。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。SpringMVC是MVC模式的一种实现。实现如下:-C(控制器):Controller-M(模型):ModelAndView:用于封装视图名称或视图对象(数据)以及一些模型属性-V(视图):view比如:jspspringmvc有两个控制器:一个是DispatcherServlet是总控制器(主控制器、调度器)一个是业务控制器Controller,SpringMVC框架原理,springmvc是什么?MVC的框架,是Spring框架的一个模块。,SpringMVC框架原理,SpringMVC框架原理详解,1、用户发起请求,请求到DispatcherServlet前端控制器。DispatcherServlet(中央调度),负责request和response,负责调用处理器映射器查找Handler,负责调用处理器适配器执行Handler,有了前端控制器降低了各各组件之间的耦合性,系统扩展性提高。2、DispatcherServlet前端控制器请求处理器映射器HandlerMapping查找Handler,根据用户请求的url,根据一定的规则去查找Handler(比如:xml配置,注解)。3、HandlerMapping处理器映射器将Handler返回给前端控制器。4、DispatcherServlet前端控制器调用HandlerAdapter处理器适配器执行Handler。程序员编写的Handler是按照适配器要求的规则去执行Handler。5、HandlerAdapter处理器适配器执行Handler适配器按照一定规则去执行Handler。注意:此处的Handler就是Controller,6、Handler执行完成,返回ModelAndView。ModelAndView是springmvc的封装对象,将model和view封装在一起。7、HandlerAdapter处理器适配器将ModelAndView返回给前端控制器。8、前端控制器请求视图解析器去进行视图解析根据逻辑视图名解析成真正的视图9、解析完成给前端控制器返回View。View是SpringMVC的封装对象,是一个接口,实现类包括jspview、pdfview。10、前端控制器调用view进行视图渲染,将模型数据填充到view(将model数据填充到request)响应给用户。11、前端控制器响应给用户。,SpringMVC架构简单工作流程-图一,SpringMVC架构简单工作流程-图一,SpringMVC简单运行原理:1.客户端请求提交到DispatcherServlet2.由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller3.DispatcherServlet将请求提交到Controller4.Controller调用业务逻辑处理后,返回ModelAndView5.DispatcherServlet查询一个或多个ViewResover视图解析器,找到ModelAndView指定的视图进行解析6.视图负责将结果显示到客户端,SpringMVC的jar包简介,关于jar包的介绍参照springmvc的jar包简介,SpringMVC工作机制,SprngMVC的处置流程,DispatcherServlet接到请求后,需要将请求送给合适的“控制器”(Controller)处理,但是到底让哪个控制器处理,由HanderMapping(映射处理器)决定,控制器将处理后的业务对象打包到ModelAndView对象中,接着,Controller(控制器)将带有ModelAndView的请求送回到DispatcherServlet,然后交给ViewResolver(视图解析器),让他决定用那种视图。,SpringMVC程序的开发步骤,一、创建一个web工程springmvc0101二、加入springmvc的jar包,三、写一个由first.jsp向second.jsp传值的过程1、配置web.xml文件dispatcherorg.springframework.web.servlet.DispatcherServlet加载/WEB-INF/目录下的所有XML作为springmvc-servlet.xml配置文件contextConfigLocation/WEB-INF/springmvc-servlet.xml1dispatcher*.do,注意:在web-info.xml中,主要配置了”分发器(DispatcherServlet)”,但访问*.do时候,就会触发此分发器。另外,还有一个监听器,但监听器启动时,会自动加载/WEB-INF/springmvc-servlet.xml。可以将一些配置分散到不同的配置文件中。2、配置springmvc-servlet.xml文件,这里面配置了“映射处理器(HanderMapping)”“控制器(HomepageController)”“视图解析器(ViewResolver)”3、Test.java/访问路径http:/localhost:8080/springmvc01/toFirst.doControllerpublicclassTestRequestMapping(method=RequestMethod.GET,value=/toFirst.do)publicStringtoFirst()return/first;,RequestMapping(method=RequestMethod.POST,value=/springtest.do)publicStringtransValue(HttpServletRequestrequest)Stringvalue=request.getParameter(firstName);request.setAttribute(name,value);return/second;4、first.jsp5、second.jspvalueis:$name,解决springmvc中英文乱码,见项目springmvc0102characterEncodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8forceEncodingtruecharacterEncodingFilter/*,SpringMVC和Struts2的区别,1、springmvc的入口是servlet,struts2是filter。2、springmvc是基于方法开发,struts2是基于类开发。Struts2的action类中,一个url对应一个方法,SpringMVC框架将一个方法封装到Handler中(只有一个method)。Struts2对action类进行实例化。Springmvc中的action可以使用单例也可以使用多例,建议使用单例(对相同的方法只new一个)。Struts2,因为struts2传递参数是通过成员变量。Springmvc通过形参接收参数好处:更符合软件开发的思想,和service接口类似。3、Struts2采用值栈存储请求和响应的数据,通过OGNL存取数据,SpringMVC通过参数解析器将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面。Jsp视图解析器默认使用jstl。,掌握SpringMVC常用注解,controller标识该类为控制器类,controller、service、repository分别对应了web应用三层架构的组件即控制器、服务接口、数据访问接口。RequestMapping进行url映射,一个方法对应一个url,定义方法:在action方法上定义requestMapping。根路径+子路径需求:为了很好的管理url,为了避免url的冲突,使用根路径+子路径。定义方法:根路径:在类名上边定义requestMapping子路径:在方法上边定义最终访问路径:根路径+子路径:http:/localhost:8080/springmvc0102/student/toAdd.do,完整控制类,jsp页面,student_add.jspstudent_list.jsp,URI模板模式映射和请求方式限定,将参数在url中传递。见项目springmvc0102定义方法:将链接改为:URI模板模式映射好处:方便实现restful。跳转后的路径为:http:/localhost:8080/springmvc0102/student/queryStudentById/101.do以前常用的路径为:http:/localhost:8080/springmvc0102/student/queryStudentById.do?id=101当使用RequestMappingURItemplate样式映射时,即someUrl/paramId,这时的paramId可通过Pathvariable注解绑定它传过来的值到方法的参数上。在RequestMapping中有id,这是起到一个占位的作用。,Pathvariable注解传参完整代码,页面:chaolianjie.jspstudent_list.jsp控制类:StudentController,请求方式限定,限定GET方法RequestMapping(method=RequestMethod.GET)如果页面form表单提交方式为POST,那么访问则报错:限定POST方法RequestMapping(method=RequestMethod.POST)如果页面form表单提交方式为默认的get方式,那么访问则报错:HTTPStatus405-RequestmethodGETnotsupportedGET和POST都可以RequestMapping(method=RequestMethod.GET,RequestMethod.POST)展示表单一般为GET请求方法;提交表单一般为POST请求方法,掌握ajax调用springMVC的方法ajax是一种比较常用的页面技术,以其良好的交互效果已经被广泛应用,为了方便的使用ajax,市面上也出现的不少的ajax框架如dwr。为此springmvc借鉴了dwr的思想,可以使用ajax和springmvc交互,同时提供了java对象转换成json的机制。,Ajax+springMVC的实

温馨提示

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

评论

0/150

提交评论