zoukankan      html  css  js  c++  java
  • jeecg中的一个上下文工具类获取request,session

    通过调用其中的方法可以获取到request和session,调用方式如下:

    HttpServletRequest request = ContextHolderUtils.getRequest();
    HttpSession session = ContextHolderUtils.getSession();
    ContextHolderUtils,这个类的源码如下:
    package org.jeecgframework.core.util;
    
    import java.util.HashMap;
    import java.util.Map;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import org.springframework.web.context.request.RequestContextHolder;
    import org.springframework.web.context.request.ServletRequestAttributes;
    
    /**
    * @ClassName: ContextHolderUtils 
    * @Description: TODO(上下文工具类) */
    public class ContextHolderUtils {
        /**
         * SpringMvc下获取request
         * 
         * @return
         */
        public static HttpServletRequest getRequest() {
            HttpServletRequest request = null;
            if (RequestContextHolder.getRequestAttributes()!=null) {
                request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            }
            return request;
    
        }
    
        /**
         * SpringMvc下获取session
         * 
         * @return
         */
        public static HttpSession getSession() {
            HttpServletRequest request = getRequest();
            String tempSessionId = request.getParameter("sessionId");
            HttpSession session = request.getSession();
            String sessionId = session.getId();
            if(StringUtil.isNotEmpty(tempSessionId) && !tempSessionId.equals(sessionId)){
                sessionId = tempSessionId;
                if(sessionMap.containsKey(sessionId)){
                    session = sessionMap.get(sessionId);
                }
            }
            if(!sessionMap.containsKey(sessionId)){
                sessionMap.put(sessionId, session);
            }
            return session;
        }
    
        
        private static final Map<String, HttpSession> sessionMap = new HashMap<String, HttpSession>();
        
        public static HttpSession getSession(String sessionId){
            HttpSession session = sessionMap.get(sessionId);
            return session == null ? getSession() : session;
        }
        
        public static void removeSession(String sessionId){
            if(sessionMap.containsKey(sessionId)){
                sessionMap.remove(sessionId);
            }
        }
    
    }
  • 相关阅读:
    编码器-解码器模型--本人实现
    Encoder-Decoder 架构实现
    一些数据集
    论文跟踪
    Densenet 实现
    多种卷积网络实现
    vs2019 指定项目输出目录和指定中间目录
    poi java读取excel文件
    eclipse配置tomcat添加外部项目
    eclipse配置tomcat
  • 原文地址:https://www.cnblogs.com/shuilangyizu/p/8621621.html
Copyright © 2011-2022 走看看