springMVC 获取request 处理全局session业务
2014-09-05 10:16
405 查看
[java]
view plaincopy
<a target=_blank href="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对象</a>
[java]
view plaincopy
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();
request.getSession().setAttribute(name, webuser);
(1)web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
注:30指分钟
也可以让所有的Control继承一个BaseControl类 ,BaseControl类的定义为:
[java]
view plaincopy
package com.jrgy.web.controller;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.jrgy.pojo.domain.FriendlyLink;
import com.jrgy.pojo.domain.ItemInfo;
import com.jrgy.pojo.domain.WebUser;
import com.jrgy.util.CacheManager;
import com.jrgy.util.Constants;
import com.jrgy.web.service.IAssociationManager;
import com.jrgy.web.service.IWebIndexManager;
import com.jrgy.web.service.IWebItemInfoManager;
public class BaseController implements Serializable{
private static final long serialVersionUID = 8695834026800952113L;
/**
* ʵ���
* */
//
// HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder
// .getRequestAttributes()).getRequest();
CacheManager cacheManager = CacheManager.getInstance();
@Autowired
IWebIndexManager webIndexManager;
@Autowired
IWebItemInfoManager webItemInfoManager;
@Autowired
IAssociationManager webAssociationManager;
/**
* 导航栏
* */
List<ItemInfo> listitemInfo = new ArrayList<ItemInfo>();
/**
* 友情链接
* */
List<FriendlyLink> friendLyLinkLs = new ArrayList<FriendlyLink>();
List itmeCode = new ArrayList();
Map map = new HashMap();
/**
* ��ȡ�������
* @param Object ����Ķ���
* @param String KEY ֵ
* @return Object
* @throws Exception
*/
public Object getCache(Object object, String key) {
Object cacheDate = cacheManager.get(key);
if (cacheDate != null) {
object = cacheDate;
}
return object;
}
/**
*
* @param
ba87
key
* @param Object
* @return void
* @throws Exception
*/
public void addCache(String key, Object object) {
cacheManager.delCacheByKey(key);
cacheManager.add(key, object);
}
public void addSessionWebUser(String name,WebUser webuser) {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();
request.getSession().setAttribute(name, webuser);
}
public Object getWebUserAttribute(String name) {
// TODO Auto-generated method stub
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();
Object obj=null;
if (!name.trim().equals("")) {
obj= request.getSession().getAttribute(name);
}
return obj;
}
}
[java]
view plaincopy
这样 ,每个Control就能够方便的得到Servlet API 中的对象了。
登陆保存用户到session
[java]
view plaincopy
@RequestMapping("/islogin.do")
public void islogin(HttpServletRequest request, HttpServletResponse response){
String sessionId = request.getSession().getId();
response.setContentType("text/html;charset=utf-8");
String userName = request.getParameter("userName");
String passWord = request.getParameter("userPassWord");
WebUser webuser=new WebUser();
String Msg = null;
try {
if(!StrUtil.checkStr(userName)){
Msg="2";
}else if(!StrUtil.checkStr(passWord)){
Msg="3";
}
else{
webuser=mainWebUserManager.userLogin(userName,passWord);
if (webuser!=null) {
if(Constants.webUserStruts.equals(webuser.getWebUserType())){
Msg = "5";
}else{
Msg = "1";
addSessionWebUser(Constants.LOGIN_WebUSER,webuser);
log.debug(userName+"");
}
}
else{
Msg = "4";
}
}
PrintWriter out = response.getWriter();
String outMsg = "{Msg:"+Msg+"}";
out.print(outMsg);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
在需要使用session以下代码:
[java]
view plaincopy
String name=Constants.LOGIN_WebUSER;
WebUser web=(WebUser) getWebUserAttribute(name);
if (web!=null) {
currentUser=web.getWebUserName();
}
view plaincopy
<a target=_blank href="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对象</a>
[java]
view plaincopy
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();
request.getSession().setAttribute(name, webuser);
(1)web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
注:30指分钟
也可以让所有的Control继承一个BaseControl类 ,BaseControl类的定义为:
[java]
view plaincopy
package com.jrgy.web.controller;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.jrgy.pojo.domain.FriendlyLink;
import com.jrgy.pojo.domain.ItemInfo;
import com.jrgy.pojo.domain.WebUser;
import com.jrgy.util.CacheManager;
import com.jrgy.util.Constants;
import com.jrgy.web.service.IAssociationManager;
import com.jrgy.web.service.IWebIndexManager;
import com.jrgy.web.service.IWebItemInfoManager;
public class BaseController implements Serializable{
private static final long serialVersionUID = 8695834026800952113L;
/**
* ʵ���
* */
//
// HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder
// .getRequestAttributes()).getRequest();
CacheManager cacheManager = CacheManager.getInstance();
@Autowired
IWebIndexManager webIndexManager;
@Autowired
IWebItemInfoManager webItemInfoManager;
@Autowired
IAssociationManager webAssociationManager;
/**
* 导航栏
* */
List<ItemInfo> listitemInfo = new ArrayList<ItemInfo>();
/**
* 友情链接
* */
List<FriendlyLink> friendLyLinkLs = new ArrayList<FriendlyLink>();
List itmeCode = new ArrayList();
Map map = new HashMap();
/**
* ��ȡ�������
* @param Object ����Ķ���
* @param String KEY ֵ
* @return Object
* @throws Exception
*/
public Object getCache(Object object, String key) {
Object cacheDate = cacheManager.get(key);
if (cacheDate != null) {
object = cacheDate;
}
return object;
}
/**
*
* @param
ba87
key
* @param Object
* @return void
* @throws Exception
*/
public void addCache(String key, Object object) {
cacheManager.delCacheByKey(key);
cacheManager.add(key, object);
}
public void addSessionWebUser(String name,WebUser webuser) {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();
request.getSession().setAttribute(name, webuser);
}
public Object getWebUserAttribute(String name) {
// TODO Auto-generated method stub
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();
Object obj=null;
if (!name.trim().equals("")) {
obj= request.getSession().getAttribute(name);
}
return obj;
}
}
[java]
view plaincopy
这样 ,每个Control就能够方便的得到Servlet API 中的对象了。
登陆保存用户到session
[java]
view plaincopy
@RequestMapping("/islogin.do")
public void islogin(HttpServletRequest request, HttpServletResponse response){
String sessionId = request.getSession().getId();
response.setContentType("text/html;charset=utf-8");
String userName = request.getParameter("userName");
String passWord = request.getParameter("userPassWord");
WebUser webuser=new WebUser();
String Msg = null;
try {
if(!StrUtil.checkStr(userName)){
Msg="2";
}else if(!StrUtil.checkStr(passWord)){
Msg="3";
}
else{
webuser=mainWebUserManager.userLogin(userName,passWord);
if (webuser!=null) {
if(Constants.webUserStruts.equals(webuser.getWebUserType())){
Msg = "5";
}else{
Msg = "1";
addSessionWebUser(Constants.LOGIN_WebUSER,webuser);
log.debug(userName+"");
}
}
else{
Msg = "4";
}
}
PrintWriter out = response.getWriter();
String outMsg = "{Msg:"+Msg+"}";
out.print(outMsg);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
在需要使用session以下代码:
[java]
view plaincopy
String name=Constants.LOGIN_WebUSER;
WebUser web=(WebUser) getWebUserAttribute(name);
if (web!=null) {
currentUser=web.getWebUserName();
}
相关文章推荐
- springMVC 获取request 处理全局session业务
- springMVC 中获取request、response、session方法
- 并发条件下springmvc的@RequestBody获取数据异常问题处理
- Jimoshi_Struts2 框架学习(二)--action生命周期、struts.xml中全局的配置、获取request和session和response值、IOC思想
- 在springMVC中 获取request、response、session
- C#-WebForm-★内置对象简介★Request-获取请求对象、Response相应请求对象、Session全局变量(私有)、Cookie全局变量(私有)、Application全局公共变量、ViewState
- SpringMVC经典系列-11简单获取request、session对象---【LinusZhu】
- springmvc 获取session request
- springmvc里面获取request,response,session
- struts2 Action中获取session,request,respon值
- Struts2获取request、session的方法
- java类文件获取页面的request,session.response
- 全局处理函数(处理session、异常等)
- 传智Struts2笔记(10)获取request/session/application属性
- JAVA笔记3--如何Request,如何处理中文获取乱码问题
- java 程序中获取session/request/response/上下文路径等对象
- freemarker获取request,session等
- Struts 2 中对 request、response、session的获取
- SpringMVC3 在GAE 获取 Session
- struts2获取request,session,application4种方式