广告
返回顶部
首页 > 资讯 > 精选 >Java中JSP的Cookie如何使用
  • 598
分享到

Java中JSP的Cookie如何使用

2023-07-04 23:07:47 598人浏览 薄情痞子
摘要

本文小编为大家详细介绍“Java中jsP的Cookie如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中JSP的Cookie如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。JSP Cooki

本文小编为大家详细介绍“Java中jsP的Cookie如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中JSP的Cookie如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

JSP Cookie的使用

Cookie 不是 JSP 内置对象,而是由 Netscape 公司发明,用来跟踪用户会话(session)的方式。

Cookie 由服务器生成并发送给浏览器(客户端),浏览器会将其以文本文件的形式存储在某个目录下。

例如,IE 浏览器把 cookie 信息保存在类似于 C://windows//cookies 的目录下,当用户再次访问某个网站时,服务器就会要求浏览器查找并返回之前发送的 cookie 信息,来识别此用户。

识别用户通常有以下步骤:

  1. 服务器把 cookie 信息发送到浏览器,例如:用户 ID、用户名称等信息。

  2. 浏览器在本地存储这些信息。

  3. 浏览器再次向服务器发送请求时,它会同时将本地存储的 cookie 信息一同发送给服务器,然后服务器使用这些信息来识别用户或其它。

cookie 的作用表现在以下方面:

  • 对特定对象的追踪,如用户的访问次数、最后访问时间等。

  • 统计网页的浏览次数。

  • 在 cookie 有效期内,记录用户的登录信息,简化下一次的登录过程。

  • 实现各种个性化服务,如”最近浏览过的商品“。

注意:由于 cookie 会将用户的个人信息保存在客户端,如用户名、计算机名、以及浏览和登录的网站等。这些信息可能会包含一些比较敏感的内容,所以从安全角度来说,使用 cookie 存在着一定的风险,因此不建议在 cookie 中保存比较重要或隐私的内容。

cookie方法

cookie 常用方法如下:

  • public void setDomain(String pattern):设置 cookie 的域名,如 biancheng.net

  • public String getDomain():获取 cookie 的域名

  • public void setMaxAge(int expiry):设置 cookie 有效期,单位:秒 默认仅在当前会话中存在

  • public int getMaxAge():获取 cookie 有效期,单位:秒 默认为 -1,表示 cookie 保存到浏览器关闭为止

  • public String getName():返回 cookie 的名称,名称创建后将不能被修改

  • public void setValue(String newValue):设置 cookie 的值

  • public String getValue():获取 cookie 的值

  • public void setPath(String uri):设置 cookie 的路径 默认为当前页面目录以及子目录下的所有 URL

  • public String getPath():获取 cookie 的路径

  • public void setSecure(boolean flag):设置 cookie 是否要加密传输

  • public void setComment(String purpose):设置 cookie 注释

  • public String getComment():返回 cookie 注释,如果 cookie 没有注释,则返回 nullJSP使用cookie

JSP 使用 cookie 主要分为以下几个步骤。

创建 cookie 对象

创建 cookie 对象,name 代表 cookie 的名称,value 表示该名称对应的值,语法如下:

cookie cookie = new cookie(String name,String value);

注意:name 和 value 中不能包含空格和以下字符:

[ ] ( ) = , " / ? @ : ;

写入 cookie

创建 cookie 对象后,调用 response.addCookie() 方法写入 cookie,代码如下:

response.addcookie(cookie);
设置 cookie 有效期

调用 setMaxAge() 方法设置 cookie 的有效期(单位:秒),如将 cookie 有效期设置为 24 小时,代码如下:

cookie.setMaxAge(60*60*24);
读取cookie

调用 request.getCookies() 方法读取 cookie,该方法返回 Http 请求中的 cookie 对象数组,需要通过遍历进行访问。

示例

通过 html 表单将客户端数据提交到 index.jsp 中,并设置 cookie。

login.jsp 代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><html><head></head><body>    <fORM action="index.jsp" method="get">        站点名: <input type="text" name="name"> <br />        网址: <input type="text" name="url" />        <input type="submit" value="提交" />    </form></body></html>

index.jsp 代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.net.*"%><%    // 解决中文乱码      String str = URLEncoder.encode(request.getParameter("name"), "utf-8");    // 创建cookie对象    cookie name = new cookie("name", str);    cookie url = new cookie("url", request.getParameter("url"));    // 设置cookie有效期为24小时。    name.setMaxAge(60 * 60 * 24);    url.setMaxAge(60 * 60 * 24);    // 在响应头部添加cookie    response.addcookie(name);    response.addcookie(url);%><html><head><title>编程帮(www.biancheng.net)</title></head><body>    <b>网站名:</b>    <%=request.getParameter("name")%><br>    <b>网址:</b>    <%=request.getParameter("url")%></body></html>

运行结果如下:

Java中JSP的Cookie如何使用

login.jsp页面运行结果

Java中JSP的Cookie如何使用

index.jsp页面运行结果

读取cookie

调用 request.getcookies() 方法,在 cookie.jsp 页面中读取 cookie

cookie.jsp 代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.net.*"%><!DOCTYPE html><html><head><title>编程帮(www.biancheng.net)</title></head><body>    <%        cookie cookie = null; //创建cookie对象        cookie[] cookies = null;        // 获取 cookie 的数据        cookies = request.getcookies();        if (cookies != null) {            out.println("<h3> 获取cookie名称与对应值</h3>");            for (int i = 0; i < cookies.length; i++) {                cookie = cookies[i];                out.print("参数名 : " + cookie.getName());                out.print("<br>");                out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") + " <br>");                out.print("------------------------------------<br>");            }        } else {            out.println("<h3>cookie为空</h3>");        }    %></body></html>

运行结果如下:

Java中JSP的Cookie如何使用

删除cookie

删除 cookie 步骤如下:

  • 获取 cookie

  • 将要删除的 cookie 有效期设置为 0

  • 调用 response.addCookie() 方法重新写入 cookie

删除参数名为“name”的 cookie

cookie.jsp 代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.net.*"%><!DOCTYPE html><html><head><title>编程帮(www.biancheng.net)</title></head><body>    <%        cookie cookie = null; //创建cookie对象        cookie[] cookies = null;        // 获取 cookie 的数据        cookies = request.getcookies();        if (cookies != null) {            out.println("<h3> 获取cookie名称与对应值</h3>");            for (int i = 0; i < cookies.length; i++) {                cookie = cookies[i];                //删除参数名为name的cookie                if ((cookie.getName()).compareTo("name") == 0) {                    cookie.setMaxAge(0);                    response.addcookie(cookie);                    out.print("删除 cookie: " + cookie.getName() + "<br/>");                }                out.print("参数名 : " + cookie.getName());                out.print("<br>");                out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") + " <br>");                out.print("------------------------------------<br>");            }        } else {            out.println("<h3>cookie为空</h3>");        }    %></body></html>

刷新 cookie.jsp 页面,运行结果如下:

Java中JSP的Cookie如何使用

注:也可以手动在浏览器中删除 cookie。

session和cookie的区别

session 和 cookie 的区别如下:

session:

  • cookie将信息保存在服务器

  • 保存的值是 Object 类型

  • session 存储的数据随会话的结束而结束

  • 安全性高,可以保存重要的信息

cookie:

  • 将信息保存在客户端

  • 保存的值是 String 类型

  • cookie 可以长期保存在客户端

  • 安全性低,通常用于保存不重要的信息

实际开发中,需要根据不同的业务需求来选择采用哪种技术,例如,用户的用户名和密码等敏感信息不能使用 cookie 存储,淘宝购物的”最近浏览过的商品“,则可以使用 cookie 存储在客户端。

读到这里,这篇“Java中JSP的Cookie如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: Java中JSP的Cookie如何使用

本文链接: https://www.lsjlt.com/news/348309.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中JSP的Cookie如何使用
    本文小编为大家详细介绍“Java中JSP的Cookie如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中JSP的Cookie如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。JSP Cooki...
    99+
    2023-07-04
  • jsp如何使用jar包中的jsp文件
    要使用jar包中的jsp文件,您需要按照以下步骤进行操作:1. 将jar包添加到您的项目的构建路径中。这可以通过将jar包添加到您的...
    99+
    2023-08-18
    jsp jar
  • Cookie在Java中的使用
    目录什么是Cookie Cookie的必要 Cookie如何工作 模拟用户登录 什么是Cookie 在现实生活中,当顾客第一次在超市购物,通常服务员会询问是否办理一张会员卡来积分以...
    99+
    2022-11-12
  • java JSP开发之Spring中Bean的使用
    java JSP开发之Spring中Bean的使用在传统的Java应用中,bean的生命周期很简单。使用Java关键字new进行bean实例化,然后bean就可以被使用了,一旦该bean不再使用,Java就自动进行垃圾回收。然而,在Spri...
    99+
    2023-05-31
    spring bean bea
  • JSP的setProperty如何使用
    在JSP中,可以使用setProperty标签来设置JavaBean的属性值。使用setProperty标签的语法是:``````其...
    99+
    2023-08-15
    JSP setProperty
  • releaseSession如何在JSP中使用
    releaseSession如何在JSP中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JSP 开发之 releaseSession的实例详解Hiberna...
    99+
    2023-05-31
    jsp releasesession
  • jsp如何引用java对象
    在 JSP 页面中引用 Java 对象,可以通过以下步骤:1. 在 JSP 页面中导入 Java 类或包:使用 ``,例如 ``2....
    99+
    2023-08-18
    jsp java
  • vue3中cookie如何使用
    前言cookie使用最多的地方想必是保存用户的账号与密码,可以避免用户每次登录时都要重新输入1.vue中cookie的安装在终端中输入命令npm install vue-cookies --save,即可安装cookies,安装之后在mai...
    99+
    2023-05-14
    cookie Vue3
  • JSP如何使用FCKeditor
    小编给大家分享一下JSP如何使用FCKeditor,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!FCKeditor是sourceforge.net上面的一个开源项目,主要是实现在线网页编辑器的功能,可以让web程序拥有如M...
    99+
    2023-06-17
  • Java的Cookie、Session及kaptcha验证码如何使用
    这篇文章主要讲解了“Java的Cookie、Session及kaptcha验证码如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的Cookie、Session及kaptcha验...
    99+
    2023-07-02
  • Cookie如何在servlet 中使用
    Cookie如何在servlet 中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.cookie介绍  Cookie,指某些网站为了辨别用户身份、进行 session...
    99+
    2023-05-31
    servlet cookie
  • Vue中如何使用js-cookie
    小编给大家分享一下Vue中如何使用js-cookie,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、安装js-cookiecnpm i -S...
    99+
    2023-06-29
  • JSP的include指令如何使用
    JSP的include指令用于将一个JSP页面包含到另一个JSP页面中。使用include指令可以实现代码的重用和模块化。下面是in...
    99+
    2023-08-12
    JSP include
  • Java如何提升JSP应用程序
    这篇文章将为大家详细讲解有关Java如何提升JSP应用程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  方法一:在servlet的init()方法中缓存数据  当应用服务器初始化servlet实例之后...
    99+
    2023-06-03
  • Java的JSP内置对象怎么使用
    本文小编为大家详细介绍“Java的JSP内置对象怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java的JSP内置对象怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。JSP九大内置对象一览表为了简...
    99+
    2023-07-04
  • 在java中jsp的作用域有哪些
    在java中jsp的作用域有:page代表与一个页面相关的对象和属性,即在一个jsp页面上是有效的。Request代表与Web客户机发出的一个请求相关的对象和属性,负责多个servlet之间的信息共享。session代表与某个用户与服务器建...
    99+
    2022-10-12
  • Java中JSP的pageContext对象和page对象怎么使用
    这篇文章主要讲解了“Java中JSP的pageContext对象和page对象怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中JSP的pageContext对象和page对象...
    99+
    2023-07-05
  • Java中JSP的session对象和config对象怎么使用
    本篇内容主要讲解“Java中JSP的session对象和config对象怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中JSP的session对象和config对象怎么使用”吧!...
    99+
    2023-07-04
  • 如何在PHP中使用Cookie和Session?
    在Web开发中,Cookie和Session是两个非常常用的概念。它们可以帮助我们保存用户的登录状态和其他数据,从而为用户提供更好的使用体验。在PHP中,使用Cookie和Session也非常方便,下面我们就来介绍一下如何在PHP中使用Co...
    99+
    2023-05-14
    PHP cookie session
  • 如何在servlet项目中使用cookie
    如何在servlet项目中使用cookie?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Cookie技术是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览...
    99+
    2023-05-31
    servlet cookie
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作