文章目录
- SpringMVC中使用作用域对象完成数据的流转
- [1] 作用域对象复习
- [2] SpringMVC中使用作用域对象流转数据
- [3] SpringMVC的Model对象的使用
SpringMVC中使用作用域对象完成数据的流转
[1] 作用域对象复习
- PageContext对象
作用域范围:当前jsp页面内有效 - request对象
作用域范围:一次请求内。
作用: 解决了一次请求内的资源的数据共享问题 - session对象
作用域范围:一次会话内有效。
说明:浏览器不关闭,并且后台的session不失效,在任意请求中都可以获取
到同一个session对象。
作用:解决了一个用户不同请求的数据共享问题。 - application(ServletContext)对象
作用域范围:整个项目内有效。
特点:一个项目只有一个,在服务器启动的时候即完成初始化创建
无论如何获取都是同一个项目。
作用:解决了不同用户的数据共享问题。
[2] SpringMVC中使用作用域对象流转数据
-
使用request对象作为请求转发数据流转的载体
注意:使用方式和原有Servlet中使用方式完全一致,只不过
现在需要在单元方法中来使用。
代码示例:
-
使用session对象作为同一个用户的不同请求的数据流转的载体
注意:使用方式和原有Servlet中使用方式完全一致,只不过
现在需要在单元方法中来使用,在单元方法的形参上直接声明session即可。
代码示例:
-
使用application对象作用项目公共数据的载体。
注意:application对象的获取,只能我们自己在单元方法中获取,不能
使用形参的方式,让DispatcherServlet帮我们获取。
代码示例:
[3] SpringMVC的Model对象的使用
作用:
作为数据流转的载体,SpringMVC官方提供的一个对象。
使用:
在单元方法上声明Model类型的形参即可。
注意:
Model对象是由DispatcherServlet创建并作为实参传递给单元方法使用
特点:
请求转发:
model对象中存储的数据,相当于存储到了request对象中
我们在jsp中直接按照request对象作用域取值的方式来获取数据即可。
重定向:
在重定向中,会将第一次请求中model对象的数据作为第二次请求的
请求数据携带,第一次请求的model对象销毁。只能携带基本类型的数据。
代码示例:
请求转发中使用Model对象作为数据流转的载体
重定向中使用Model对象作为数据流转的载体