《SpringMVC讲义职业技术培训职业教育教育专区》由会员分享,可在线阅读,更多相关《SpringMVC讲义职业技术培训职业教育教育专区(27页珍藏版)》请在金锄头文库上搜索。
1、SpringMVC讲义职业技术培训职业教育教育专区课程内容:Spring MVC框架概述Spring MVC框架优势Spring MVC框架架构Spring MVC框架热身本章内容总结Spring MVC框架概述模型-视图-控制器MVC是一个众所周知的以设计界面应用程序为根底的设计模式。它主要通过别离模型、视图及控制器在应用程序中的角色将业务逻辑从界面中解耦。通常,模型负责封装应用程序数据在视图层展示。视图仅仅只是展示这些数据,不包含任何业务逻辑。控制器负责接收来自用户的请求,并调用后台效劳manager或者dao来处理业务逻辑。处理后,后台业务层可能会返回了一些数据在视图层展示。控制器收集这
2、些数据及准备模型在视图层展示。MVC模式的核心思想是将业务逻辑从界面中别离出来,允许它们单独改变而不会相互影响。Spring MVC框架优势1、清晰的角色划分:前端控制器DispatcherServlet、请求到处理器映射HandlerMapping、处理器适 配 器 HandlerAdapter 、 视 图 解 析 器 ViewResolver、处理器或页面控制器Controller、验证器 Validator、命令对象Command 请求参数绑定到的对象就叫命令对象、表单对象Form Object 提供给表单展示和提交到的对象就叫表单对象。2、分工明确,而且扩展点相当灵活,可以很容易扩展,
3、虽然几乎不需要;3、由于命令对象就是一个POJO,无需继承框架特定API,可以使用命令对象直接作为业务对象;4、和Spring 其他框架无缝集成,是其它Web框架所不具备的;Spring MVC框架优势5、可适配,通过HandlerAdapter可以支持任意的类作为处理器;6、可定制性,HandlerMapping、ViewResolver等能够非常简单的定制;7、功能强大的数据验证、格式化、绑定机制;8、利用Spring提供的Mock对象能够非常简单的进展Web层单元测试;9、本地化、主题的解析的支持,使我们更容易进展国际化和主题的切换。10、强大的JSP标签库,使JSP编写更容易。还有比方
4、RESTful风格的支持、简单的文件上传、约定大于配置的契约式编程支持、基于注解的零配置支持等等。Spring MVC框架淘宝登录分析具体执行步骤具体执行步骤如下:1、 首先用户发送请求前端控制器,前端控制器根据请求信息如URL来决定选择哪一个页面控制器进展处理并把请求委托给它,即以前的控制器的控制逻辑局部;图中的1、2步骤;2、 页面控制器接收到请求后,进展功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进展验证,然后将命令对象委托给业务对象进展处理;处理完毕后返回一个ModelAndView模型数据和逻辑视图名;图中的3、4、5步骤;3
5、、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进展渲染,并把模型数据传入以便视图渲染;图中的步骤6、7;4、 前端控制器再次收回控制权,将响应返回给用户,图中的步骤8;至此整个完毕。SpringMVC组件总结1. DispatcherServlet前端控制器不需要程序员写负责框架调度,相当于中央处理器根本controller控制器功能:接收用户request请求和给用户response响应2. HandlerMapping处理器映射器不需要程序员写负责根据action的连接找到Handler处理器理解成写的action3. HandlerAdapter处理器适配器不需要程序
6、员写负责去执行Handler4. *Handler处理器 需要程序员写理解成struts里边的action,需要程序员写action类,这个action类符适宜配器的执行规那么。SpringMVC组件总结5. ViewResolver视图解析器不需要程序员写负责将模型数据填充到View6. *View视图需要程序员写jsp页面Spring MVC的HelloWorld软件参数Eclipse:Mars.1 Release (4.5.1)新建工程File-New-Other,选择Dynamic web project工程建好之后,目录构造如下:导入jar包我们基于Spring mvc框架进展开发,
7、需要依赖一下的spring jar包:commons-logging-1.1.1.jar用来打印log配置文件及编写代码Springmvc.xmlscr下是一个视图解析器,用于把是一个视图解析器,用于把在控制器中在控制器中handlerhandler的构造解的构造解析为实际的物理视图,这个析为实际的物理视图,这个要配合要配合controllercontroller类来解析。类来解析。HelloWorld.javaHelloWorld.javacom.jackie.springmvc.handlerscom.jackie.springmvc.handlers下下首先要在类的前面添加首先要在类的前
8、面添加“Controller“Controller注解,表示注解,表示是是springspring的控制器的控制器hellohello方法上方有一个方法上方有一个RequestMappingRequestMapping, 是是用于匹配请求的路径,比方这里匹配的请求路用于匹配请求的路径,比方这里匹配的请求路径就是径就是“ “ :/localhost:8080/springTest/springmvc/h:/localhost:8080/springTest/springmvc/helloworldelloworld,即当,即当tomcattomcat效劳启动后,在浏效劳启动后,在浏览器输入这个览
9、器输入这个urlurl时,如果在这个方法打断点时,如果在这个方法打断点了,就会跳入该方法。了,就会跳入该方法。使用 RequestMapping 映射请求Spring MVC 使用 RequestMapping 注解为控制器指定可以处理哪些 URL 请求在控制器的类定义及方法定义处都可标注RequestMapping类定义处:提供初步的请求映射信息。相对于WEB应用的根目录方法处:提供进一步的细分映射信息。相对于类定义处的 URL.假设类定义处未标注 RequestMapping,那么方法处标记的 URL 相对于WEB 应用的根目录DispatcherServlet 截获请求后,就通过控制器上
10、RequestMapping 提供的映射信息确定请求所对应的处理方法。index.jspWebContent下当访问index.jsp时,页面上会展示一个超链接,点击超链后,url中的地址就会发生跳转,由“ :/localhost:8080/springTest/index.jsp跳转到“ :/localhost:8080/springTest/helloworld,而这个url请求就会进入HelloWorld中的hello方法,因为其与该方法上的“/helloworld匹配。success.jspWEB-INF/views下该页面是作为请求成功后的相应页面当springmvc.xml中声明了
11、prefix和suffix,而夹在这两者之间的就是这里返回的字符串,所以执行完这个方法后,我们可以得到这样的请求资源路径建立这个jsp有什么作用,什么时候调用呢?工程创立完毕我们完成了基于Spring mvc框架的HelloWorld程序的开发,包括要依赖的jar包,配置的文件,控制器代码的编写和展示页面的编写等tomcat效劳器的添加从前面的介绍可以看出,我们的程序是通过浏览器发请求来获取想要的页面,那么这里就免不了要有一个web效劳器,这里就是tomcat。首 先 你 需 要 下 载 个 tomcat, 然 后 在 eclipse-windows-preference-servers中绑定
12、这个tomcat效劳器;其次你需要在你新建的spring mvc工程中添加tomcat的支持,否那么在新建的jsp文件中会提示报错“The superclass javax.servlet. .HttpServlet was not found on the Java Build Path有了有了tomcattomcat效劳器,你就可以在效劳器,你就可以在index.jspindex.jsp上右键上右键run on server,run on server,选择你的选择你的tomcattomcat效劳器,这样就可以启动效劳器,这样就可以启动tomcattomcat效劳,帮助你完成效劳,帮助你完
13、成网页的请求和响应操作。网页的请求和响应操作。前缀配置路径,推荐配置到WEB-INF 文件夹下:value=“/WEB-INF/pages右键工程-build path-configure build path-add library-server runtime, 选择你的tomcat即可tomcat效劳器的添加spring mvc如何访问静态资源关于使用spring mvc处理静态资源,比方html发现之前的springmvc.xml中定义为jsp结尾就可以成功跳转,但是如果改为html并在web-inf下面新建了html文件后,并将suffix这里的.jsp改为.html,无法跳转到想要
14、的html页面,并且给出404错误,同时console给出错误信息为:No mapping found for HTTP request with URI /springTest/WEB-INF/views/result.html in DispatcherServ这样就可以保证spring 能够拦截并处理静态资源1、创立一个spring mvc web工程。功能要求:显示一个helloword文本,跳转显示后缀为*.jpg,*.png的图片。2、创立一个spring mvc web的maven工程,并且比较一下和普通的web相比,maven的优点有哪些。备注:可以查询资料。课后作业本节课件下载邮箱:本节课件下载邮箱:ily339775795163 ily339775795163 密码:密码:qrsx2021qrsx2021谢谢观看谢谢