java cookie过期_通过判断cookie过期方式向Memcached中添加,取出数据(Java)

packagecom.jssso.htgl.action;importjava.io.IOException;importjava.io.PrintWriter;importjava.net.URLDecoder;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.UUID;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.http.Cookie;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;importcom.jssso.htgl.entity.Role;importcom.jssso.htgl.service.RoleService;importcom.jssso.htgl.service.impl.RoleServiceImpl;importcom.jssso.htgl.util.GetChche;importcom.jssso.htgl.util.StaticValue;importcom.zxrytj.netty.MyCache;

@SuppressWarnings("serial")public class RoleServlet extendsHttpServlet {

@Overrideprotected voiddoGet(HttpServletRequest request,

HttpServletResponse response)throwsServletException, IOException {this.doPost(request, response);

};

@Overrideprotected voiddoPost(HttpServletRequest request,

HttpServletResponse response)throwsServletException, IOException {

String option= request.getParameter("option");if (option != null) {if ("selectApp".equals(option)) {

selectApp(request, response);

}else if ("saveApp".equals(option)) {

saveApp(request, response);

}else if ("updateApp".equals(option)) {

updateApp(request, response);

}else if ("deleteApp".equals(option)) {

deleteApp(request, response);

}else if ("index".equals(option)) {

goView("/WEB-INF/view/jsp/htgl/role.jsp", request, response);return;

}else if("jsonRole".equals(option)){

jsonRole(request, response);

}

}

}/*** 删除应用地址

*

*@paramrequest

*@paramresponse

*@throwsIOException*/

private voiddeleteApp(HttpServletRequest request,

HttpServletResponse response)throwsIOException {

String urlId= request.getParameter("rid");

RoleService roleService= newRoleServiceImpl();boolean flag =roleService.deleteApp(urlId);

PrintWriter out=response.getWriter();if(flag) {

out.print("success");

}else{

out.print("error");

}

out.flush();

out.close();

}/*** 修改应用地址

*

*@paramrequest

*@paramresponse

*@throwsIOException*/

private voidupdateApp(HttpServletRequest request,

HttpServletResponse response)throwsIOException {

String urlId= request.getParameter("rid");

String name= request.getParameter("rname");

String url= request.getParameter("des");

Long rid= null;if (urlId != null) {

rid=Long.parseLong(urlId);

}

Role role= newRole(rid, name, url);

RoleService roleService= newRoleServiceImpl();boolean flag =roleService.updateApp(role);

PrintWriter out=response.getWriter();if(flag)

out.print("success");elseout.print("error");

out.flush();

out.close();

}/*** 添加应用地址

*

*@paramrequest

*@paramresponse

*@throwsIOException*/

private voidsaveApp(HttpServletRequest request,

HttpServletResponse response)throwsIOException {

String rname= request.getParameter("rname");

String rdes= request.getParameter("des");

RoleService roleService= newRoleServiceImpl();boolean flag =roleService.saveApp(rname, rdes);

PrintWriter out=response.getWriter();if(flag)

out.print("success");elseout.print("error");

out.flush();

out.close();

}/*** 查询应用地址

*

*@paramrequest

*@paramresponse

*@throwsIOException*/

private voidselectApp(HttpServletRequest request,

HttpServletResponse response)throwsIOException {

String rname= request.getParameter("rname");

String rdes= request.getParameter("des");if(rname!=null && !"".equals(rname.trim())){try{

rname= URLDecoder.decode(rname, "utf-8");

}catch(Exception e) {

e.printStackTrace();

}

}

Long pageIndex= 1L;if (request.getParameter("page") != null) {

pageIndex= Long.parseLong(request.getParameter("page"));if (pageIndex == null || pageIndex == 0) {

pageIndex= 1L;

}

}

Integer pageSize= 10;if (request.getParameter("rows") != null) {

pageSize= Integer.parseInt(request.getParameter("rows"));if (pageSize == null) {

pageSize= 10;

}

}

RoleService roleService= newRoleServiceImpl();

Cookie[] cookies= request.getCookies();//这样便可以获取一个cookie数组

String ckvalue="";

List listcahe=null;for(Cookie cookie : cookies)

{if(cookie.getName().equalsIgnoreCase(StaticValue.COOKIES_ROLE_KKEY))//cookie的key值存在,ckvalue存在,直接取值listcacahe

{

ckvalue=cookie.getValue();

System.out.println("ckvalue存在"+ckvalue);

MyCache cache=MyCache.getinstance();

listcahe=cache.getCache(ckvalue);

}

}if("".equals(ckvalue))//ckvalue不存在

{

System.out.println("ckvalue不存在"+ckvalue);

MyCache cache=MyCache.getinstance();

String uuid=UUID.randomUUID().toString();/*** COOKIES_ROLE_KKEY为cookie的key*/Cookie ck=newCookie(StaticValue.COOKIES_ROLE_KKEY,uuid);

ck.setMaxAge(-1);//过期时间,单位为秒,-1关闭浏览器cookie消失

/*** 获取web-inf路径*/

//String path=request.getSession().getServletContext().getRealPath("/WEB-INF/cookie");//System.out.println("&&&&&&&&&&&&&&&&&path:"+path);

ck.setPath("/js_sso_server/");

response.addCookie(ck);

listcahe=roleService.getApp(rname, rdes, pageIndex, pageSize);

cache.add(uuid,listcahe);

}//GetChche get=new GetChche();//get.getCache(request);

Long count =roleService.pageCount(rname, rdes);

Long pageCount= count % pageSize == 0 ? count /pageSize

: (count/ pageSize) + 1;

Map jsonMap = new HashMap();//定义map

jsonMap.put("total", count);

jsonMap.put("rows", listcahe);

jsonMap.put("pages", pageCount);

jsonMap.put("from", (pageIndex - 1) * pageSize + 1);

jsonMap.put("to", pageIndex *pageSize);

PrintWriter out=response.getWriter();

out.print(JSONObject.fromObject(jsonMap).toString());

out.flush();

out.close();

}/*** 查询应用地址

*

*@paramrequest

*@paramresponse

*@throwsIOException*/

private voidjsonRole(HttpServletRequest request,

HttpServletResponse response)throwsIOException {

Long pageIndex= 1L;if (request.getParameter("page") != null) {

pageIndex= Long.parseLong(request.getParameter("page"));if (pageIndex == null || pageIndex == 0) {

pageIndex= 1L;

}

}

Integer pageSize= 10;if (request.getParameter("rows") != null) {

pageSize= Integer.parseInt(request.getParameter("rows"));if (pageSize == null) {

pageSize= 10;

}

}

RoleService roleService= newRoleServiceImpl();

List json = roleService.getApp(null,null, pageIndex, pageSize);

PrintWriter out=response.getWriter();

out.print(JSONArray.fromObject(json).toString());

out.flush();

out.close();

}private voidgoView(String url, HttpServletRequest request,

HttpServletResponse response) {

RequestDispatcher dispatcher=request.getRequestDispatcher(url);try{

dispatcher.forward(request, response);

}catch(ServletException e) {

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值