package com.fusionability.web.utils; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CookieTool { public static int maxAge = 7* 24 * 60 * 60; //保存7天 public static void addCookie(HttpServletResponse response, String name, String value, int maxAge) { Cookie cookie = new Cookie(name, value); cookie.setPath("/"); if (maxAge > 0) cookie.setMaxAge(maxAge); response.addCookie(cookie); } public static Cookie getCookieByName(HttpServletRequest request, String name) { Map<String, Cookie> cookieMap = ReadCookieMap(request); if (cookieMap.containsKey(name)) { Cookie cookie = (Cookie) cookieMap.get(name); return cookie; } else { return null; } } private static Map<String, Cookie> ReadCookieMap(HttpServletRequest request) { Map<String, Cookie> cookieMap = new HashMap<String, Cookie>(); Cookie[] cookies = request.getCookies(); if (null != cookies) { for (Cookie cookie : cookies) { cookieMap.put(cookie.getName(), cookie); } } return cookieMap; } }
isChecked = getRequest().getParameterValues("isChecked"); if (isChecked != null && isChecked.length > 0 ) { CookieTool.addCookie(getResponse(), "username", user.getUsername(), CookieTool.maxAge); CookieTool.addCookie(getResponse(), "userpswd", user.getUserpswd(), CookieTool.maxAge); }
public String updateUserInfo(){ user = userService.updateUser(user); if(user != null){ getSession().setAttribute(Constants.SESSION_USER, user); CookieTool.addCookie(ServletActionContext.getResponse(), "username", user.getUsername(), CookieTool.maxAge); // 清除Cookie CookieTool.addCookie(ServletActionContext.getResponse(), "userpswd", user.getUserpswd(), CookieTool.maxAge); // 清除Cookie return SUCCESS; } return ERROR; }
package com.fusionability.web.interceptor; import javax.servlet.ServletContext; import javax.servlet.ServletRequest; import javax.servlet.http.Cookie; import org.apache.struts2.ServletActionContext; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.fusionability.user.service.UserService; import com.fusionability.web.bean.User; import com.fusionability.web.utils.Constants; import com.fusionability.web.utils.CookieTool; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; /** * 认证拦截器(可以拦截URL的跳转) * @author liuzhengyi */ public class AuthInterceptor extends AbstractInterceptor { private static final long serialVersionUID = 8514282210475728866L; @Override public String intercept(ActionInvocation invocation) throws Exception { if("/FusionAbility/user/register.action".equals(ServletActionContext.getRequest().getRequestURI()) //||"/FusionAbility/user/login.action".equals(ServletActionContext.getRequest().getRequestURI()) ||"/FusionAbility/user/doRegister.action".equals(ServletActionContext.getRequest().getRequestURI()) ||"/FusionAbility/user/doLogin.action".equals(ServletActionContext.getRequest().getRequestURI()) ||"/FusionAbility/user/isExistUser.action".equals(ServletActionContext.getRequest().getRequestURI()) ||"/FusionAbility/user/otherUserAction.action".equals(ServletActionContext.getRequest().getRequestURI()) ||"/FusionAbility/user/goUpdateRetrievepassword.action".equals(ServletActionContext.getRequest().getRequestURI())){ return invocation.invoke(); } User user = (User)ServletActionContext.getRequest().getSession().getAttribute(Constants.SESSION_USER); if (user == null) { //重定向到登录页面 Cookie cokLoginName = CookieTool.getCookieByName(ServletActionContext.getRequest(), "username"); Cookie cokLoginPwd = CookieTool.getCookieByName(ServletActionContext.getRequest(), "userpswd"); if (cokLoginName != null && cokLoginPwd != null && cokLoginName.getValue() != null && cokLoginPwd.getValue() != null) { String loginName = cokLoginName.getValue(); String loginPwd = cokLoginPwd.getValue(); User user2 = new User(); user2.setUsername(loginName); user2.setUserpswd(loginPwd); ServletContext sc = ServletActionContext.getServletContext(); ApplicationContext ac= WebApplicationContextUtils.getWebApplicationContext(sc); UserService userService = (UserService) ac.getBean("userService"); User user3 = userService.getUser(user2); if (user3 == null) { CookieTool.addCookie(ServletActionContext.getResponse(), "username", null, 0); // 清除Cookie CookieTool.addCookie(ServletActionContext.getResponse(), "userpswd", null, 0); // 清除Cookie return Action.LOGIN; }else{ ServletActionContext.getRequest().getSession().setAttribute(Constants.SESSION_USER,user3); return invocation.invoke(); } }else{ return Action.LOGIN; } } return invocation.invoke(); } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
登入访问页面 http://localhost:8080/login 实现cookie初始化 设置超时时间为 60 秒 2. 初始化cookie之后,可以访问http://localhost:8080/index 3. http://localhost:8080/logout 注销cookie信息 /QS_001/src/...
可用于分析spring mvc源码、spring mvc父子容器初始化流程、session和cookie机制、spring session等,也可以用于学习Java Web(servlet、filter、listener等)、spring源码等。 该项目使用servlet3.0规范,无web.xml...
该文档整合了cookie的httponly和secure的简介,已经设置该属性时会遇到的问题,以及设置属性的方式
Spring Security 是一个广泛使用的 Java 认证和授权框架,用于保护基于 Java 的 web 应用程序。它提供了一个灵活的安全机制来保护 web 应用程序免受未经授权的访问。Spring Security 提供了许多功能,如身份验证、...
│ Java面试题22.Session和Cookie的区别.mp4 │ Java面试题23.mvc模式和mvc各部分的实现.mp4 │ Java面试题24.数据库分类和常用数据库.mp4 │ Java面试题25.关系型数据库的三范式.mp4 │ Java面试题26.事务的四大...
主要介绍了Java Spring项目国际化详细方法与实例,需要的朋友可以参考下
* Java 框架和库的应用:Spring、Hibernate、MyBatis 等 JSP 类论文题目 JSP(Java Server Pages)是一种基于 Java 的服务器端脚本语言,主要用于 Web 开发。JSP 类论文题目涵盖了 JSP 的基础知识、JSP 的高级应用...
Spring 是目前最流行的 Java 框架之一,它提供了广泛的功能,如依赖注入、AOP、事务管理等。学习 Spring 需要先了解 Bean 的概念、XML 配置文件和注解等相关知识。同时还需要了解 Spring 中常用的模块,例如 Spring ...
天天生鲜是Python中Django框架的一个经典案例,现将其用java的SSM框架实现 版本信息 v1.1 完成注册功能 实现功能: 用户注册:前台校验,成功后发送ajax请求,控制器响应并向数据库表中添加数据 用户激活:通过产生...
面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...
4.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。 5.列出Jsp中包含外部文件的方式,两者有何区别。 6.说明Jsp中errorPage的作用,应用范围。 7.介绍在Jsp中如何使用JavaBeans。 8.简单介绍JSP...
获取Cookie 565 HTTP响应报头--Response 566 会话管理 566 Servlet过滤器 569 Servlet监听器 576 内容总结 579 独立实践 580 第二十九章: Jsp 技术 583 学习目标 583 JSP介绍 584 JSP语法 584 模板元素 588 指令...
Java面试题22.Session和Cookie的区别和使用场景 Java面试题23.mvc模式和mvc各部分的实现 Java面试题24.数据库分类和常用数据库 Java面试题25.关系型数据库的三范式 Java面试题26.事务的四大特征 Java面试题27.mysql...
《深入分析Java Web技术内幕》围绕JavaWeb相关技术从三方面全面深入地进行阐述...最后介绍Java服务端技术,主要包括Servlet、Session与Cookie、Tomcat与Jetty服务器、Spring容器、Ibatis框架和Velocity框架等原理介绍。
主要围绕Java Web 相关技术从三方面...最后介绍了Java 服务端技术,主要包括Servlet、Session 与Cookie、Tomcat 与Jetty服务器、Spring 容器、iBatis 框架和Velocity 框架等原理介绍,并介绍了服务端的一些优化技术。
spring,spring mvc所需的完整jar包,实现web项目的开发
java开发常用的技术,本人多年总结了30多种JAVA开发相关技术,比如但不限于:MQ,爬虫,thymeleaf,spring,shiro,cookie,session,swagger等
Java EE wed 简单的购物车应用开发案例,使用了Cookie,数据库连接等技术
一、Java 基础 1 1. JDK 和 JRE 有什么区别? 1 2. == 和 equals 的区别是什么? 1 3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? 3 4. final 在 java 中有什么作用? 4 5. java 中的 Math.round...