springmvc Session,Cookies,Header管理(springmvc教程五)
阿新 • • 發佈:2018-11-28
目錄
工程程式碼
github: https://github.com/dengjili/springmvc
頁面檔案:attribute.jsp
<html> <body> <h2>Hello World!</h2> hehe <hr/> <a href="setSession">setSession</a> <hr/> <a href="getSession">getSession</a> <hr/> <a href="getCookie">getCookie</a> <hr/> <a href="getRequestHeader">getRequestHeader</a> </body> </html>
Session的寫入與獲取
基本配置
// SessionAttributes只能設定在類上
@SessionAttributes(value = {"beanParam"}, types = {BeanParam.class})
public class AttributeController {
@RequestMapping("/setSession") public ModelAndView Session(Long id) { BeanParam beanParam = new BeanParam(); beanParam.setName("zhagnan"); beanParam.setNote("test張國"); // 設定請求屬性 ModelAndView mv = new ModelAndView(); mv.addObject("beanParam", beanParam); mv.setViewName("attribute"); return mv; } @RequestMapping("/getSession") public ModelAndView getSession(@SessionAttribute("beanParam") BeanParam beanParam) { ModelAndView mv = new ModelAndView(); mv.addObject(beanParam); mv.setView(new MappingJackson2JsonView()); return mv; }
Cookie獲取
@RequestMapping("/getCookie")
public ModelAndView getCookie(@CookieValue(value = "JSESSIONID", defaultValue = "mmp") String jsessionId) {
logger.debug("jsessionId: {}", jsessionId);
ModelAndView mv = new ModelAndView();
mv.setViewName("attribute");
return mv;
}
Request Header獲取
/**
* Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,
* Accept-Encoding: gzip, deflate, br
* Accept-Language: zh-CN,zh;q=0.9
* Connection: keep-alive
* Cookie: JSESSIONID=064DBEF12310AD0EA33D35A9A410F38C
* Host: localhost:8080
* Referer: http://localhost:8080/springmvc/attribute/setSession
* Upgrade-Insecure-Requests: 1
* User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36
*/
@RequestMapping("/getRequestHeader")
public ModelAndView getRequestHeader(@RequestHeader(value = "Accept-Encoding") String acceptEncoding) {
logger.debug("Accept-Encoding: {}", acceptEncoding);
ModelAndView mv = new ModelAndView();
mv.setViewName("attribute");
return mv;
}