操作session的工具類(目前是用在了ssm)
阿新 • • 發佈:2018-12-11
package com.ye_0809.util; /** *session工具類 *@Author 何爽 *@Date 2018-9-20 **/ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; public class SessionUtil { /** * 全域性刪除id標示 */ public static String GLOB_DELETE_ID_VAL = "globDeleteIdVal"; /** * 獲取request * * @return */ public static HttpServletRequest getRequest() { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); return requestAttributes == null ? null : requestAttributes .getRequest(); } /** * 獲取session * * @return */ public static HttpSession getSession() { return getRequest().getSession(false); } /** * 獲取真實路徑 * * @return */ public static String getRealRootPath() { return getRequest().getServletContext().getRealPath("/"); } /** * 獲取ip * * @return */ public static String getIp() { ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); if (servletRequestAttributes != null) { HttpServletRequest request = servletRequestAttributes.getRequest(); return request.getRemoteAddr(); } return null; } /** * 獲取session中的Attribute * * @param name * @return */ public static Object getSessionAttribute(String name) { HttpServletRequest request = getRequest(); return request == null ? null : request.getSession().getAttribute(name); } /** * 設定session的Attribute * * @param name * @param value */ public static void setSessionAttribute(String name, Object value) { HttpServletRequest request = getRequest(); if (request != null) { request.getSession().setAttribute(name, value); } } /** * 獲取request中的Attribute * * @param name * @return */ public static Object getRequestAttribute(String name) { HttpServletRequest request = getRequest(); return request == null ? null : request.getAttribute(name); } /** * 設定request的Attribute * * @param name * @param value */ public static void setRequestAttribute(String name, Object value) { HttpServletRequest request = getRequest(); if (request != null) { request.setAttribute(name, value); } } /** * 獲取上下文path * * @return */ public static String getContextPath() { return getRequest().getContextPath(); } /** * 刪除session中的Attribute * * @param name */ public static void removeSessionAttribute(String name) { getRequest().getSession().removeAttribute(name); } }