SSM框架 笔记整理1-5.4
SpringMVC的相关说明及工作流程
1.1 SpringMVC的相关说明
(1)springMVC是以spring为基础,因此在使用时,需要先将spring.jar引入(2)springMVC是MVC框架,工作在WEB层,替代Struts2,可以超越Struts2框架
(3)SpringMVC是相对于Struts2来说,更加简介,是一个轻量级的框架
(4)SpringMVC通过一套注解(对POJO类),可以快速的实现让一个POJO类就成为功能强大的Controller
(5)SpringMVC的核心jar包spring-webmvc-4.0.0.REALEASE.jar
提示:以下是本篇文章正文内容,下面案例可供参考
1.2 SpringMVC的工作流程
画出上图的时序图,从而看出SpringMVC的工作流程
1.2springMVC第一个案例
1.3关于springMVC配置文件的说明
二.@RequestMapping注解
2.1 基本介绍
@RequestMapping注解可以指定控制器/处理器的某个方法的请求的url
2.2细节说明:
1.@RequestMapping注解可以修饰方法, 还可以修饰类
当@RequestMapping修饰类时,请求url则为:/类请求值/方法请求值
2.3 细节说明
2.4细节说明(了解)
2.5细节说明(了解)
2.6 细节说明
三. Rest的url请求风格
3.1 基本介绍
核心:使用不同的请求方式,来区别操作类型。
3.2 Rest 核心过滤器
3.新建一个jsp页面
四. @SpringMVC映射请求数据
4.1 基本介绍
4.2 案例1–获取到超链接传递数据
1.编写VoteHandler.java
2.编写data.jsp
4.3 案例二 如何获取到http消息头(了解)
4.4 如何获取javabean的数据
案例说明:
步骤二 VoteHandler.java
步骤三 data.jsp
4.5 获取原生态Servlet api
在springMVC目标方法中,直接写上你希望要的原生servlet api参数,就可以自动获取到,不需要
实现接口。
五. springMVC模型数据处理
5.1 对于request 的理解
request 存放的是浏览器向服务器请求的信息,存储的就是浏览器页面传过来的信息,
但是request也是可以设置属性值的,也可以理解为存放数据。而request对象的声明周期是一个浏览器应用
一次请求。当请求完毕后,request里边的内容也将被释放。
5.2 基本说明
在springmvc中,如何将数据存到指定域中(如request域,session域),并在jsp页面取出并显示。
5.3 获取的数据如何放入request域(原生态)
5.4 通过请求的方法参数Map<String,Object>放入request域
编写VoteHandler.java
编写vote.jsp
编写voteOk.jsp
5.5 通过返回一个 ModelAndView 对象实现请求信息存入request域
5.6 session基本理解
session可以跨越多个页面,生命周期和request一样,也是针对一个客户端,但是却在别人设置的会话周期
内,一般是20-30分钟。也就是说,session里边的内容将一直存在,即便关闭了这个客户端浏览器,session
也不一定会马上释放掉。
关于request和session的区别和联系
https://blog.csdn.net/nanhuaibeian/article/details/105058519?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165936613716780357258218%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165936613716780357258218&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-105058519-null-null.142^v37^pc_search_v2&utm_term=request%E5%92%8Csession&spm=1018.2226.3001.4187
5.7 通过@SessionAttributes 实现将数据放入session 域中
说明:前面的model数据都是放在request域中,接下来将model放入到session域中springmvc的实现。
1.编写VoteHandler.java
2.编写voteOk.jsp
5.8 通过@ModelAttribute 实现prepare方法
1.编写VoteHandler.java
2. 编写 testPrepare.jsp
5.9 @ModelAttribute 的应用案例
1,创建一个Person类
2.编写一个简单的testPrepare.jsp
3.编写PersonHandler.java
重点:在目标方法中如何找到javabean对象
上述案例解决若表单中没有设置address属性的话,防止从前端表单传person模型中,address属性丢失
的一个解决方法。
简单的原理分析图:
六 视图和视图解析器
6.1 基本介绍
6.2 默认的视图和视图解析器的说明
6.3 自定义视图的开发流程
具体开发步骤:
1.开发自己的视图,需要继承AbstractView
(2)在springmvc配置文件中,配置自己的视图解析器BeanNameViewResolver
(3) 编写Handler测试 PetHandler.java
(4)测试页面.jsp
结果: