前面有讲到session和cookie的一些简单的区别和比较,我们继续为java在服务端如何对session的操作留下笔记,这里以用户的登陆和退出操作为实用场景,简单讲解session的建立、清空等操作!
①用户登陆获取用户信息并放置到session中,在项目中简单代码如下:/**
*@Description:用户oauth授权登录
*@param@paramrequest
*@param@paramresponse
*@param@paramcode
*@param@paramstate
*@param@return
*@authordapengniao
*@date1月13日下午3:59:14
*/
@RequestMapping("login")
publicModelAndViewUserOAuthLogin(ModelAndViewview,
HttpServletRequestrequest,HttpServletResponseresponse,
@RequestParam(value="code",required=false)Stringcode,
@RequestParam(value="state",required=false)Stringstate){
OauthCode_GetUseInfooauth=newOauthCode_GetUseInfo(code);
try{
UserInfouserinfos=oauth.getUserInfo();//通过公用方法用code获取用户基本信息
request.getSession().setAttribute("unionid",userinfos.getUnionid());//将用户unionid缓存到session
request.getSession().setAttribute("petname",
userinfos.getNickname());//将昵称缓存到session
view.setViewName("index");
returnview;
}catch(Exceptione){
logger.error(e,e);
returnview;
}
}
将用户相关信息放入到session中,服务端就可以根据session中是否存在用户信息给与用户不同的权限,这个功能我们在下面将采用filter(过滤器)实现详细讨论!
②用户在页面做退出操作的时候需要将用户session消息清空,以方便控制用户权限,简单代码如下:/**
*@Description:用户登录退出
*@param@paramrequest
*@authordapengniao
*@date1月22日下午12:03:16
*/
@RequestMapping("loginout")
publicvoiduserLoginOut(HttpServletRequestrequest){
request.getSession().invalidate();
}
这里将用户信息清空,用户再次访问的时候就会需要用户再次登录才能进行下一步操作!
下篇我们将采用filter和session去实现用户权限的控制操作,感谢你的翻阅,如有疑问可以留言一起讨论!
除非注明,否则文章均由 崔用志博客 整理发布,欢迎转载。
如果喜欢,可以点此订阅本站