package com.gxx.manage.web.session; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; import org.apache.shiro.SecurityUtils; import org.apache.shiro.session.Session; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; /** * UserController * * @author gxx */ @Controller @RequestMapping("/session/") public class SessionController { /** * 日志处理器 */ private final Logger logger = Logger.getLogger(SessionController.class); /** * 设置session * @param request * @return */ @RequestMapping(value = "/set",produces="application/json") public @ResponseBody Map set(HttpServletRequest request) { logger.info("设置session:key=[" + request.getParameter("key") + "],value=[" + request.getParameter("value") + "]"); /** * 设置session */ Subject currentUser = SecurityUtils.getSubject(); Session session = currentUser.getSession(); session.setAttribute(request.getParameter("key"), request.getParameter("value")); /** * 返回结果 */ Map resultMap = new HashMap(); resultMap.put("success", true); return resultMap; } /** * 获取session * @param request * @return */ @RequestMapping(value = "/get",produces="application/json") public @ResponseBody Map get(HttpServletRequest request) { logger.info("获取session:key=[" + request.getParameter("key") + "]"); /** * 设置session */ Subject currentUser = SecurityUtils.getSubject(); Session session = currentUser.getSession(); Object value = session.getAttribute(request.getParameter("key")); logger.info("获取session:value=[" + value + "]"); /** * 返回结果 */ Map resultMap = new HashMap(); resultMap.put("success", true); resultMap.put("value", value); return resultMap; } }