SpringMVC-02
SpringMVC-02
8、数据在域中的保存
8.1、Request对象中保存数据
Controller中的代码:
1 | |
jsp页面的输出:
1 | |
8.2、Session域中保存数据
Controller中的代码:
1 | |
jsp页面的输出:
1 | |
8.3、ServletContext域中保存数据
在Controller中的代码。在Controller的中获取SerlvetContext对象有两种方法,
一种是@Autowired注入,
一种是通过Session获取。
1 | |
jsp页面的输出:
1 | |
8.4、Map或Model或ModelMap形式保存数据在request域中
在四个域中,我们使用最频繁的域就是request对象。往request域对象中,保存数据,还在以下的几种形式。
我们可以在Controller的方法中,添加Map类型的参数,或者是Model类型的参数。或者是ModelMap类型的参数。都可以直接用来保存域数据到Request对象中。
Map全类名是: java.util.Map
Model全类名是: org.springframework.ui.Model
ModelMap全类名是: org.springframework.ui.ModelMap
Map的形式保存数据到Request域中:
1 | |
Model的形式保存数据到Reqeust域中:
1 | |
以ModelMap的形式保存到Reqeust域中:
1 | |
隐含模型对象BindingAwareModelMap类,
作用是: 隐含模型对象专门用来保存数据,并带到视图中进行渲染
1 | |
8.5、ModelAndView方式保存数据到request域中
ModelAndView 其实就是Model 和 View。
View是指的是视图(跳转的路径)。
Model是隐含模型
Controller类中的代码:
1 | |
jsp页面的输出:
1 | |
8.6、@SessionAttributes保存数据到Session域中(了解内容)
@SessionAttributes可以告诉SpringMVC,将隐含模型中哪些数据也同步到Session域中
@SessionAttributes 注解可以标注在类上。它的作用是指定哪些数据可以保存到Session域中。
@SessionAttributes(names= { “key1”,”key2” }, types = { String.class, Book.class })
value属性,它表示把request域中key为key1,key2的键值对信息,也保存到Session中
types属性,它表示把request域中value类型为String.class**或Book.**class类型的键值对,也保存到Session中
Controller中的代码:
1 | |
jsp页面的输出:
1 | |
8.7、@ModelAttribute注解
@ModelAttribute这个注解可以标注在方法和参数上。
@ModelAttribute三个常见作用:
1、被标注了@ModelAttribute的方法都会在Controller的目标方法之前执行。
2、为目标方法的参数(JavaBean对象)准备一个默认值(从隐含模型中)。
3、被标注在参数上,参数值会按照指定的key从隐含模型中获取值。
1 | |
9、传统的增删改查
9.1、准备单表的数据库
1 | |
9.2、SpringMVC的单表的增,删,改,查
先创建一个web模块,然后导入需要的jar包:
druid-1.1.9.jar
junit_4.12.jar
mysql-connector-java-5.1.37-bin.jar
org.hamcrest.core_1.3.0.jar
spring-aop-5.2.5.RELEASE.jar
spring-aspects-5.2.5.RELEASE.jar
spring-beans-5.2.5.RELEASE.jar
spring-context-5.2.5.RELEASE.jar
spring-core-5.2.5.RELEASE.jar
spring-expression-5.2.5.RELEASE.jar
spring-jcl-5.2.5.RELEASE.jar
spring-jdbc-5.2.5.RELEASE.jar
spring-orm-5.2.5.RELEASE.jar
spring-test-5.2.5.RELEASE.jar
spring-tx-5.2.5.RELEASE.jar
spring-web-5.2.5.RELEASE.jar
spring-webmvc-5.2.5.RELEASE.jar
在src源码目录下创建jdbc.properties属性配置文件:
1 | |
在src源码目录下创建springmvc.xml配置文件:
1 | |
测试是否可以访问数据库:
1 | |
编写Bean对象
1 | |
编写Dao和测试
BookDao接口
1 | |
BookDao实现类:
1 | |
测试代码:
1 | |
编写Service程序和测试
Service接口
1 | |
BookService实现类:
1 | |
测试代码:
1 | |
在web.xml中先配置前端控制器
1 | |
拷贝crud的页面

springmvc.xml配置文件中添加视图解析器
1 | |
在首页添加一个请求地址

BookController中的代码
1 | |
到book/bookList.jsp页面中遍历数据
导入jstl标签库的jar包:
taglibs-standard-impl-1.2.1.jar
taglibs-standard-spec-1.2.1.jar
bookList.jsp页面的内容:
1 | |
其他的就不写了,没必要,写一些需要注意的
在web.xml中添加解决中文乱码的Filter过滤器
1 | |
解决SpringMVC无法支持静态资源请求的方法:
以后只要使用SpringMVC开发,以下两个标签是标配
1 | |