/**
* 读取所有cookie
* 注意二、从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期
* @param request
* @param response
*/
@RequestMapping("/showCookies")
public void showCookies(HttpServletRequest request,HttpServletResponse response ){
Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组 if (null==cookies) {
System.out.println("没有cookie=========");
} else {
for(Cookie cookie : cookies){
System.out.println("name:"+cookie.getName()+",value:"+ cookie.getValue());
}
}
}
/**
* 添加cookie
* @param response
* @param name
* @param value
*/
@RequestMapping("/addCookie")
public void addCookie(HttpServletResponse response,String name,String value){
Cookie cookie = new Cookie(name.trim(), value.trim());
cookie.setMaxAge(30 * 60);// 设置为30min cookie.setPath("/");
System.out.println("已添加===============");
response.addCookie(cookie);
}
/**
* 修改cookie
* @param request
* @param response
* @param name
* @param value
* 注意一、修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。
*/
@RequestMapping("/editCookie")
public void editCookie(HttpServletRequest request,HttpServletResponse response,String name,String value){
Cookie[] cookies = request.getCookies();
if (null==cookies) {
System.out.println("没有cookie==============");
} else {
for(Cookie cookie : cookies){
if(cookie.getName().equals(name)){
System.out.println("原值为:"+cookie.getValue());
cookie.setValue(value);
cookie.setPath("/");
cookie.setMaxAge(30 * 60);// 设置为30min System.out.println("被修改的cookie名字为:"+cookie.getName()+",新值为:"+cookie.getValue());
response.addCookie(cookie);
break;
}
}
}
}
/**
* 删除cookie
* @param request
* @param response
* @param name
*/
@RequestMapping("/delCookie")
public void delCookie(HttpServletRequest request,HttpServletResponse response,String name){
Cookie[] cookies = request.getCookies();
if (null==cookies) {
System.out.println("没有cookie==============");
} else {
for(Cookie cookie : cookies){
if(cookie.getName().equals(name)){
cookie.setValue(null);
cookie.setMaxAge(0);// 立即销毁cookie cookie.setPath("/");
System.out.println("被删除的cookie名字为:"+cookie.getName());
response.addCookie(cookie);
break;
}
}
}
}
2、通常开发时先用以下的代码将获取的cookie进行封装
/**
* 根据名字获取cookie
* @param request
* @param name cookie名字
* @return
*/
public 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;
}
}
/**
* 将cookie封装到Map里面
* @param request
* @return
*/
private 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;
}
分享到:
相关推荐
这个实例提供了一个全面的功能,包括用户注册、登录、数据操作(增删改查)以及分页功能,非常适合初学者进行学习和实践。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,负责处理...
在IT行业中,构建一个简单的登录页面并实现增删改查功能是常见的Web开发任务,尤其在初学者和小型项目中非常普遍。这个项目利用了JavaServer Pages (JSP)、Servlet以及MySQL数据库来完成。接下来,我们将深入探讨...
本项目以"基于servlet和JSP的Java技术实现增删改查"为主题,旨在教你如何利用这两种技术来构建一个基本的数据操作应用。下面将详细阐述相关知识点。 1. **Servlet**:Servlet是Java编写的服务器端程序,主要功能是...
这个压缩包文件“StrutsTest”包含了学习Struts2基础功能的实例,特别是对于初学者来说,它提供了增删改查(CRUD)操作以及用户登录功能的实现,同时还涉及了使用JDBC进行数据库连接。 增删改查(CRUD)是任何数据...
在JavaWeb开发中,"黑马旧版JavaWeb品牌数据增删改查"是一个常见的实践环节,它涵盖了数据库操作的核心概念和技巧。这个主题主要是教授如何使用Java编程语言和相关的Web框架来实现对品牌数据的添加(Add)、删除...
通过本实例您可以快速掌握对cookie的增删改查的编程能力,下载后根据readme.md内容即可运行体验。 实例环境说明: java 11版本 maven 3.6.3版本 运行方式 1.使用idea打开,并执行mvn install的项目构建,并在完成...
在`cookieShopCar`项目中,`CookieUtil`类可能包含了上述的Cookie操作方法,例如`addCookie`, `getCookie`, `updateCookie` 和 `deleteCookie`,封装了对Cookie的增删改查操作。`shopCarServlet`类可能是处理购物车...
3. **增删改查(CRUD)功能**:CRUD代表Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库操作的基本动作。在这个项目中,可能通过HTML表单与后端交互,实现对数据的这些基本操作。 4. **...
在“用户增删改查”部分,我们需要创建User实体类,定义其属性如用户名、密码、邮箱等,并实现对应的getter和setter方法。接着,在Hibernate配置文件中,为User实体映射数据库表,编写HQL(Hibernate Query Language...
Jsp网站之数据库的增删改查,分页布局,登录验证(Cookie),照片(Blob)输入输出。
在这个"Servlet(增删改查)模拟网络通讯录"项目中,我们将探讨如何利用Servlet实现一个基本的网络通讯录应用,涵盖用户对联系人的增加、删除、修改和查询操作。 首先,我们需要了解Servlet的生命周期,它包括加载、...
Java 对 Cookie增删改查的实现示例 Java 对 Cookie 的增删改查是 Web 开发中一个常见的需求, Cookie 是一种小型文本文件, Web 服务器通过 HTTP 协议将其发送给浏览器,浏览器然后将其存储在用户的计算机上,下次...
3. **增删改查操作**:在项目中,Servlet用于实现数据库中的基本操作,如添加(Create)、读取(Read)、更新(Update)和删除(Delete)。这通常涉及到与数据库的交互,例如使用JDBC(Java Database Connectivity)...
一旦验证成功,管理员可以执行增删改查操作,比如添加新用户、删除用户、修改用户信息,或者查询数据库中的所有用户信息。这些操作通常需要在JSP页面上创建对应的表单,然后通过Servlet或JSP的后台逻辑来执行SQL命令...
本主题聚焦于使用JSP来设计用户注册与登录功能,并通过连接数据库实现数据的增删改查操作,这在Web应用开发中是非常基础且重要的环节。 首先,我们要理解JSP的工作原理。JSP是一种服务器端的技术,它将HTML代码、...
在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)技术实现基于cookie和session的用户验证,并且结合CRUD(Create、Read、Update、Delete)操作进行详细讲解。首先,我们来理解JSP、cookie和session的基本...
综上所述,"java web增删查改简单例子"是一个基于MVC模式,利用JSP作为视图,通过DAO与数据库交互,实现用户对Web应用中数据的基本操作的实例。通过学习这个例子,可以更好地理解Java Web开发中的基本流程和关键组件...
在这个名为"javaWeb-student.rar"的压缩包中,包含了一个名为"javaWeb-student"的项目,它是一个学生成绩管理系统的实现,主要功能是进行学生数据的增删改查以及用户登录。下面我们将深入探讨这个系统涉及的关键知识...
【标题】"jsp.rar_jsp 增删 改查_管理员用户jsp"是一个关于使用JSP(JavaServer Pages)技术实现的Web应用程序,它具备对数据库的基本操作能力,包括添加(Add)、删除(Delete)、修改(Update)和查询(Query)。...