springMVC 获取request 处理全局session业务

[java] view plain copy
  1. "http://blog.csdn.net/is_zhoufeng/article/details/7559756" style="color: rgb(0, 0, 0); text-decoration: none; font-family: 'Microsoft YaHei'; font-size: 20px; line-height: 30px; ">springMVC中得到request对象,session对象  
[java] view plain copy
  1. RequestAttributes ra = RequestContextHolder.getRequestAttributes();    
  2.         HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();    
  3.         request.getSession().setAttribute(name, webuser);  


(1)web.xml

 
        30
 

注:30指分钟


也可以让所有的Control继承一个BaseControl类 ,BaseControl类的定义为:

[java] view plain copy
  1. package com.jrgy.web.controller;  
  2.   
  3. import java.io.Serializable;  
  4. import java.util.ArrayList;  
  5. import java.util.HashMap;  
  6. import java.util.List;  
  7. import java.util.Map;  
  8.   
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpSession;  
  11.   
  12. import org.springframework.beans.factory.annotation.Autowired;  
  13. import org.springframework.web.context.request.RequestAttributes;  
  14. import org.springframework.web.context.request.RequestContextHolder;  
  15. import org.springframework.web.context.request.ServletRequestAttributes;  
  16.   
  17. import com.jrgy.pojo.domain.FriendlyLink;  
  18. import com.jrgy.pojo.domain.ItemInfo;  
  19. import com.jrgy.pojo.domain.WebUser;  
  20. import com.jrgy.util.CacheManager;  
  21. import com.jrgy.util.Constants;  
  22. import com.jrgy.web.service.IAssociationManager;  
  23. import com.jrgy.web.service.IWebIndexManager;  
  24. import com.jrgy.web.service.IWebItemInfoManager;  
  25.   
  26. public class BaseController implements Serializable{  
  27.   
  28.     private static final long serialVersionUID = 8695834026800952113L;  
  29.       
  30.     /** 
  31.      * ʵ��� 
  32.      * */  
  33.   
  34.       
  35. //  
  36. //  HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder  
  37. //          .getRequestAttributes()).getRequest();  
  38.       
  39.       
  40.       
  41.     CacheManager cacheManager = CacheManager.getInstance();  
  42.     @Autowired  
  43.     IWebIndexManager webIndexManager;  
  44.     @Autowired  
  45.     IWebItemInfoManager webItemInfoManager;  
  46.     @Autowired  
  47.     IAssociationManager webAssociationManager;  
  48.     /** 
  49.      * 导航栏 
  50.      * */  
  51.     List listitemInfo = new ArrayList();  
  52.       
  53.     /** 
  54.      * 友情链接 
  55.      * */  
  56.     List friendLyLinkLs = new ArrayList();  
  57.       
  58.       
  59.     List itmeCode = new ArrayList();  
  60.     Map map = new HashMap();  
  61.       
  62.     /** 
  63.      * ��ȡ������� 
  64.      * @param Object ����Ķ��� 
  65.      * @param String KEY ֵ 
  66.      * @return Object 
  67.      * @throws Exception 
  68.      */  
  69.     public Object getCache(Object object, String key) {  
  70.         Object cacheDate = cacheManager.get(key);  
  71.         if (cacheDate != null) {  
  72.             object = cacheDate;  
  73.         }  
  74.         return object;  
  75.     }  
  76.   
  77.     /** 
  78.      *  
  79.      * @param key 
  80.      * @param Object 
  81.      * @return void 
  82.      * @throws Exception 
  83.      */  
  84.     public void addCache(String key, Object object) {  
  85.         cacheManager.delCacheByKey(key);  
  86.         cacheManager.add(key, object);  
  87.     }  
  88.       
  89.     public void addSessionWebUser(String name,WebUser webuser) {  
  90.         RequestAttributes ra = RequestContextHolder.getRequestAttributes();    
  91.         HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();    
  92.         request.getSession().setAttribute(name, webuser);  
  93.           
  94.     }  
  95.     public Object getWebUserAttribute(String name) {  
  96.         // TODO Auto-generated method stub  
  97.         RequestAttributes ra = RequestContextHolder.getRequestAttributes();    
  98.         HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();    
  99.         Object obj=null;  
  100.         if (!name.trim().equals("")) {  
  101.             obj= request.getSession().getAttribute(name);  
  102.         }  
  103.           
  104.         return obj;  
  105.     }  
  106. }  
[java] view plain copy
  1.   

这样 ,每个Control就能够方便的得到Servlet API 中的对象了。


 登陆保存用户到session

[java] view plain copy
  1. @RequestMapping("/islogin.do")  
  2.     public void islogin(HttpServletRequest request, HttpServletResponse response){  
  3.         String sessionId = request.getSession().getId();  
  4.         response.setContentType("text/html;charset=utf-8");  
  5.         String userName = request.getParameter("userName");  
  6.         String passWord = request.getParameter("userPassWord");  
  7.         WebUser webuser=new WebUser();  
  8.         String Msg = null;  
  9.         try {  
  10.         if(!StrUtil.checkStr(userName)){  
  11.             Msg="2";  
  12.         }else if(!StrUtil.checkStr(passWord)){  
  13.             Msg="3";  
  14.         }  
  15.         else{  
  16.               
  17.                 webuser=mainWebUserManager.userLogin(userName,passWord);  
  18.                 if (webuser!=null) {  
  19.                     if(Constants.webUserStruts.equals(webuser.getWebUserType())){  
  20.                         Msg = "5";  
  21.                     }else{  
  22.                         Msg = "1";    
  23.                         addSessionWebUser(Constants.LOGIN_WebUSER,webuser);  
  24.                             log.debug(userName+"");  
  25.                     }  
  26.                 }  
  27.                 else{  
  28.                     Msg = "4";    
  29.                 }  
  30.         }             
  31.         PrintWriter out = response.getWriter();  
  32.         String outMsg = "{Msg:"+Msg+"}";  
  33.         out.print(outMsg);  
  34.         out.flush();  
  35.         out.close();  
  36.         } catch (Exception e) {  
  37.         e.printStackTrace();  
  38.         }  
  39.           
  40.     }  

在需要使用session以下代码:
[java] view plain copy
  1.               String name=Constants.LOGIN_WebUSER;  
  2. WebUser web=(WebUser) getWebUserAttribute(name);  
  3. if (web!=null) {  
  4.     currentUser=web.getWebUserName();  
  5.       

你可能感兴趣的:(框架集成java)