SpringMVC属性域【请求域、会话域、应用域】
2023-09-14 09:14:08 时间
一、五大请求域操作方式
1. request.setAttribute()
使用原生 request 对象
@RequestMapping("/h01")
public String h01(HttpServletRequest request){
request.setAttribute("uname","jim");
return "succ02";
}
2. model.addAttribute()
Model其实是一个map,它的角色就是request属性域
@RequestMapping("/h02")
public String h02(Model model){
model.addAttribute("uname","tom");
return "succ02";
}
3. modelMap.addAttribute()
ModelMap其实是一个map,它的角色也是request属性域
@RequestMapping("/h03")
public String h03(ModelMap modelMap){
modelMap.addAttribute("uname","lucy");
return "succ02";
}
4. map.put()
既然Model和ModelMap就是一个map,直接用map保存作用域!
@RequestMapping("/h04")
public String h04(Map map){
map.put("uname","kate");
return "succ02";
}
5. ModelAndView
1.创建ModelAndView对象
2.存入模型数据
3.设置视图名称
@RequestMapping("/h05")
public ModelAndView h05(){
ModelAndView mv = new ModelAndView();
mv.addObject("uname","rose");
mv.setViewName("succ02");
return mv;
}
6. 模型的本质
SpringMVC 传入的 Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的。
二、会话域
1.使用会话域最简单直接的办法就是使用原生的 HttpSession 对象
2.使用原生request对象:request.getSession().setAttribute() = session.setAttribute()
@RequestMapping("/attr/session")
public String attrSession(HttpSession session) {
session.setAttribute("HW", "helloworld");
return "index。html";
}
三、应用域
应用域同样是使用原生对象来操作
@Autowired
private ServletContext servletContext;
@RequestMapping("/attr/application")
public String attrApplication() {
servletContext.setAttribute("SC", "helloworld");
return "index.html";
}
相关文章
- SpringMVC基础-07-RestfulCRUD
- SpringMVC基础-05
- [SpringMVC] - 解决Jackson中文乱码 : springmvc-servlet.xml
- SpringMVC之数据传递一
- Springmvc构造RESTful详细讲解
- 《转载》跟我学SpringMVC
- springmvc拦截器
- springmvc用来绑定参数的注解(转)
- springMVC项目,application.xml springmvc-servlet.xml
- 【SpringMVC笔记12】SpringMVC集成Thymeleaf模板引擎
- spring+websocket综合(springMVC+spring+MyBatis这是SSM框架和websocket集成技术)
- SpringMVC的初始
- springMVC在JSP页面取map值
- SpringMVC学习笔记----
- SpringBoot搭建SpringMVC项目
- Spring+SpringMVC+Mybatis(开发必备技能)03、swagger(api接口开发必备,view视图略过)
- SpringMVC入门(注解版)