java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。
建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下
1
2
3
4
|
HttpServletRequest request
HttpServletResponse response
Cookie cookie = new Cookie( "cookiename" , "cookievalue" );
response.addCookie(cookie);
|
下面建立一个有生命周期的cookie,可以设置他的生命周期
1
2
3
4
5
6
7
8
|
cookie = new Cookie( "cookiename" , "cookievalue" );
cookie.setMaxAge( 3600 );
cookie.setPath( "/" );
response.addCookie(cookie);
|
下面介绍如何读取cookie,读取cookie代码如下
1
2
3
4
5
|
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies){
cookie.getName();
cookie.getValue();
}
|
上面就是基本的读写cookie的操作。我们在实际中最好进行一下封装,比如增加一个cookie,我们关注的是cookie的name,value,生命周期,所以进行封装一个函数,当然还要传入一个response对象,addCookie()代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
|
/**
* 设置cookie
* @param response
* @param name cookie名字
* @param value cookie值
* @param maxAge cookie生命周期 以秒为单位
*/
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);
}
|
读取cookie的时候,为了方便我们的操作,我们希望封装一个函数,只要我们提供cookie的name,我们便可以获取cookie的value,带着这个想法,很容易想到将cookie封装到Map里面,于是进行下面的封装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/**
* 根据名字获取cookie
* @param request
* @param name cookie名字
* @return
*/
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 ;
}
}
/**
* 将cookie封装到Map里面
* @param request
* @return
*/
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;
}
|
分享到:
相关推荐
java 操作 Cookie 实现两周内自动登录 java 操作 Cookie 实现两周内自动登录是指通过在用户第一次登录网站时,网站向客户端发送一个包含有用户名的 Cookie,当用户下次访问时,浏览器将该 Cookie 发送回网站服务器...
【JAVA(JSP)在线收藏夹源码】是一款基于JAVA技术栈实现的个人书签管理应用,主要利用了JavaServer Pages (JSP)、Servlet以及MySQL数据库来构建一个功能完善的在线收藏系统。这个系统允许用户存储、管理和分享他们...
### 经典收藏:Cookie与Session机制详解 #### 一、Cookie机制与Session机制的区别 在Web开发中,为了维持用户的会话状态,通常有两种常用的技术:Cookie与Session。这两种技术各有特点,适用于不同的场景。 - **...
以下是对这些主题的详细阐述: 1. **Java网络编程**:Java提供了丰富的API来处理网络通信,如`java.net`包下的Socket、ServerSocket、URL类等。在构建浏览器时,你需要使用`java.net.URL`类来解析和打开网页URL,...
总的来说,Java电子书店管理系统展示了Java在Web应用开发中的强大能力,涵盖了数据库操作、用户认证、购物车、订单处理、库存管理等多个领域,是学习和实践Java Web开发的绝佳案例。通过深入研究这个系统,开发者...
在本项目中,"java+servlet+jsp商城购物"是一个基于Java技术的电子商务平台实现,主要涉及了用户登录注册、商品收藏、购物车管理和订单处理等核心功能。下面将详细阐述这些关键知识点。 1. **Java**: Java是该项目...
Hibernate或MyBatis可能被用来简化ORM(对象关系映射),使得Java对象可以直接操作数据库。 5. **用户认证与授权**:论坛需要用户注册、登录功能,涉及到身份验证和权限控制。这可能通过session管理和cookie来实现...
【基于Java的网上家具商城】是一个使用Java Web技术构建的电子商务平台,旨在提供全面的线上购物体验,包括商品展示、收藏、购物车管理以及支付功能。这个项目涉及到多个核心技术,如Java、JSP(JavaServer Pages)...
6. **论坛功能实现**:BBS论坛通常有发帖、回帖、搜索、收藏、举报等功能。这些功能的实现涉及Java后端和SQL数据库的交互。例如,发帖功能需要在数据库中插入新的主题记录;搜索功能则需要对数据库中的内容进行查询...
2. 商品模块:商品分类、搜索、详情展示、评价、收藏等。商品信息存储在数据库中,通过MyBatis进行操作。 3. 购物车模块:用户可以添加商品到购物车,修改数量,合并或拆分订单。购物车数据通常会存在会话或Cookie...
### Java面试知识点详解 ...综上所述,这些知识点涵盖了Java开发中的重要方面,包括架构设计、Web开发技术、网络通信基础以及数据库操作等内容。对于准备Java面试的开发者来说,理解和掌握这些概念是非常重要的。
网上书店项目中,JDBC用于连接数据库,执行SQL查询、插入、更新和删除操作,管理用户的订单、收藏、评论等数据。 4. **MVC设计模式**:MVC模式将应用分为模型(Model)、视图(View)和控制器(Controller)三个...
此外,对Java集合框架(如List、Set、Map)的理解也至关重要,因为它们常用于数据存储和操作。 2. **MVC设计模式**:图书管理系统可能采用了Model-View-Controller(模型-视图-控制器)架构,这是一种常见的Web应用...
在开发过程中,应使用预编译的SQL语句,对用户输入进行验证和过滤,以及对敏感信息进行加密。 8. **用户认证和授权**: 用户注册、登录、权限控制是论坛系统的重要组成部分。系统可能使用了某种身份验证机制,如哈希...
这一部分需要处理用户信息的存储与检索,可以使用MySQL等关系型数据库,并利用Java的JDBC API或者ORM框架如Hibernate、MyBatis进行数据操作。此外,用户权限管理也是关键,通过角色-权限模型实现不同用户对系统资源...
4. **Session和Cookie**:在用户登录和会话管理中,会使用到Session和Cookie来保持用户的登录状态和个性化设置。 5. **Spring框架**:虽然未明确提及,但为了实现更高效和松耦合的开发,通常会采用Spring框架来管理...
【标题】:“jsp图片收藏夹”是一个基于JavaServer Pages(JSP)技术开发的用于存储和管理图片的应用程序。这个项目结合了SQL Server数据库来存储和检索图片信息,为用户提供了一个在线图片收藏和分享的平台。 ...
用户-购物车:收藏关系(一对多);二手物品-订单:出售关系(一对一);二手物品-收货:到达关系(一对一);管理员-二手物品:管理关系(一对多);管理员-用户:管理关系(一对多)。数据库逻辑结构设计如下所示:...
发帖和回帖涉及到数据的插入和更新,而搜索则需要对文本进行索引和查询优化。论坛还可能有权限管理,如管理员、普通用户等角色,不同的角色有不同的操作权限。 在前端界面设计上,HTML、CSS和JavaScript构成基础,...
【标题】: "基于SSM与Java的电影网站...总结,这个毕业设计项目展示了如何使用Java和SSM框架构建一个完整的电影网站,涵盖了后端开发、数据库操作、Web交互等多个方面,对于学习和理解Java Web开发具有很高的实践价值。