作用域是servlet中提供的对象,主要用于把数据在各个资源之间进行传递;
servlet提供了三个作用域:
1.HttpServletRequest;
2.HttpSession
3.ServletContext
一.在springmvc中使用HttpServletRequest作用域springmvc对request作用域对象进行了封装,在springmvc中操作以下对象,可以操作request作用域;
1.Map;2.Model;3.ModelMap;
以上三个在springmvc中都被封装成了BindingAwareModelMap,并存到请求作用域中;
@RequestMapping("/func")
public String func(Map map){
map.put("key",null);
return null;
}
@RequestMapping("/func2")
public String func2(Model model){
model.addAttribute("key",null);
return null;
}
@RequestMapping("/func3")
public String func3(ModelMap modelMap){
modelMap.addAttribute("key",null);
return null;
}
4.modelAndView:内部有一个modelMap成员,根源还是封装成了BindingAwareModelMap
@RequestMapping("/func3")
public ModelAndView func4(ModelAndView mv){
mv.addObject("key",null);
mv.setViewName("xxx");
return mv;
}
二.操作HttpSession作用域
1.可以通过request获取HttpSession;
2.可以在controller类上加@SessionAttribute({"a","b"...})注解
@Controller
@RequestMapping("emp")
@SessionAttributes({"a","b","c"})
public class EmpController {
三.操作ServletContext作用域
使用request.getServletContext()来获取ServletContext对象



