public class FilterAction extends ActionSupport {
private HttpServletRequest request = ServletActionContext.getRequest();
private HttpSession session = request.getSession();
public String decide() {
String message = null;
boolean isout = false;
Cookie[] userLandCookie = request.getCookies();
if(request.getParameter("out") != null){
if(request.getParameter("out").equals("退出")) {
session.removeAttribute("user");
isout = true;
}
}
if(session.getAttribute("user") == null) {
if(userLandCookie != null && !isout) {
Cookie cookie;
for(int i=0;i<userLandCookie.length;i++) {
if(userLandCookie[i].getValue().length() < 16){
cookie = userLandCookie[i];
request.setAttribute("message", cookie.getValue()+"c");
}
}
}else {
request.setAttribute("message", "|false|");
}
}else{
User user = (User)session.getAttribute("user");
request.setAttribute("message", user.getUsername()+"s");
}
return SUCCESS;
}}
这是一个action, 访问这个action后会返回到index.jsp页面上。
我想的是一旦访问这个action会检查是否存在某一个Cookie(目前这个Cookie是存在的),如果存在就把Cookie的值返回到index.jsp页面,如果不存在就返回“|false|”。但是为什么当我第一次访问这个action的时候 Cookie数组userLandCookie为空,不关闭浏览器再次访问的时候userLandCookie就有了值,重新打开一个新页面访问又没有了值。怎样做到第一次访问这个action,userLandCookie就能获得值,这种情况是不是跟request有关??还有一个就是怎样获得某一个具体的Cookie??
望各位大哥帮帮忙 感激不尽 还有
原Cookie 已经存在了 。。下面的代码是在另一个action中:
Cookie userLandCookie = new Cookie("username", this.getUser().getUsername());
userLandCookie.setMaxAge(1209600);
response.setContentType("text/html; charset=UTF-8");
response.addCookie(userLandCookie);
在这儿设置了cookie 而且在保存Cookie的文件夹中也能找到。。为什么会有上面的情况?? 怎样解决??
private HttpServletRequest request = ServletActionContext.getRequest();
private HttpSession session = request.getSession();
public String decide() {
String message = null;
boolean isout = false;
Cookie[] userLandCookie = request.getCookies();
if(request.getParameter("out") != null){
if(request.getParameter("out").equals("退出")) {
session.removeAttribute("user");
isout = true;
}
}
if(session.getAttribute("user") == null) {
if(userLandCookie != null && !isout) {
Cookie cookie;
for(int i=0;i<userLandCookie.length;i++) {
if(userLandCookie[i].getValue().length() < 16){
cookie = userLandCookie[i];
request.setAttribute("message", cookie.getValue()+"c");
}
}
}else {
request.setAttribute("message", "|false|");
}
}else{
User user = (User)session.getAttribute("user");
request.setAttribute("message", user.getUsername()+"s");
}
return SUCCESS;
}}
这是一个action, 访问这个action后会返回到index.jsp页面上。
我想的是一旦访问这个action会检查是否存在某一个Cookie(目前这个Cookie是存在的),如果存在就把Cookie的值返回到index.jsp页面,如果不存在就返回“|false|”。但是为什么当我第一次访问这个action的时候 Cookie数组userLandCookie为空,不关闭浏览器再次访问的时候userLandCookie就有了值,重新打开一个新页面访问又没有了值。怎样做到第一次访问这个action,userLandCookie就能获得值,这种情况是不是跟request有关??还有一个就是怎样获得某一个具体的Cookie??
望各位大哥帮帮忙 感激不尽 还有
原Cookie 已经存在了 。。下面的代码是在另一个action中:
Cookie userLandCookie = new Cookie("username", this.getUser().getUsername());
userLandCookie.setMaxAge(1209600);
response.setContentType("text/html; charset=UTF-8");
response.addCookie(userLandCookie);
在这儿设置了cookie 而且在保存Cookie的文件夹中也能找到。。为什么会有上面的情况?? 怎样解决??
解决方案 »
- dmp文件导进oracle10,数据找不到?
- new LookupDemo().processValus(productArry,ip);是什么意思?
- EJB JBOSS部署,设计数据库刷新的问题
- 写一个filter防止在地址栏乱输入地址
- 求高手指点
- JPA POJO 的转换问题
- 想在别人已有的struts结构中加入一个jsp页面及相应的action函数,需要修改那些配置文件啊,急待高手指点
- 宣传一个好地方,up者就有分。
- ConverterHome.class,这是什么 意思?(ConverterHome是EJB的HOME接口)
- 关于mybatis的collection嵌套结果的问题。
- HibernateTemplate update() 问题的解决
- ssh2调用oracle的带返回列表的参数怎么调用?
你把设置cookie时间这样设置下看看
userLandCookie.setMaxAge(1209600);(没见过这样设置的。也许我孤陋寡闻了)
改成
userLandCookie.setMaxAge(60 * 60 * 24 * 14);//2周