使用原生Servlet
在HandlerMethod参数中添加作用域对象
@RequestMapping("demo")
public String demo1(HttpServletRequest req, HttpSession sessionParam) {
req.setAttribute("req", "req的值");
HttpSession session = req.getSession();
session.setAttribute("session", "session的值");
sessionParam.setAttribute("sessionParam", "sessionParam的值");
ServletContext application = req.getServletContext();
application.setAttribute("application", "application的值");
return "index2";
}
jsp
request ${requestScope.req }<br/>
session ${sessionScope.session }<br/>
sessionParam ${sessionScope.sessionParam }<br/>
application ${applicationScope.application }<br/>
结果
request req的值
session session的值
sessionParam sessionParam的值
application application的值
当用demo2跳转同样跳转到index2时
@RequestMapping("demo2")
public String demo12() {
return "index2";
}
输出
request
session session的值
sessionParam sessionParam的值
application application的值
可以看到request的值已经没有了
Map
@RequestMapping("demo3")
public String demo3(Map<String,Object> map) {
map.put("map", "map的值");
return "index2";
}
jsp
map ${map }
输出
map map的值
SpringMVC的Model接口
@RequestMapping("demo4")
public String demo4(Model model) {
model.addAttribute("model", "model的值");
return "index2";
}
jsp
model ${model }
输出
model model的值
ModelAndView
@RequestMapping("demo5")
public ModelAndView demo5() {
ModelAndView mav = new ModelAndView("index2");
mav.addObject("mav","mav的值");
return mav;
}
jsp
mav ${requestScope.mav }<br/>
输出
mav mav的值