在Servlet中向客户端写Cookie信息

servlet-cookie实现向客户端写cookie信息 title: servlet cookie实现向客户端写cookie信息 date: 2019-07-09 11:00:00 servlet**基础 servlet是Java web应用中最核心的组件,也是web服务器组件,它是一个中间控制层,负责处理客户端提交过来的请求数据以及调用业务逻辑对象,根据业务逻辑来控制页面转发。 cookie** 在互联网中,cookie是小段的文本信息,... 阅读详情

在Servlet中向客户端写Cookie信息


应用Servlet API 中提供的Cookie类,用户把表单信息提交给Servlet后,在Servlet中获取用户请求的信息并添加到Cookie对象中,在通过HttpServletResponse对象把Cookie信息返回给客户端,然后在JSP页面中通过request内置对象来获取客户端的Cookie信息。

在JSP中使用request对象获取的是一个Cookie对象的数组,需要在循环中遍历所有Cookie对象,并通过Cookie对象的getName()方法查找所有Cookie对象的名称,然后根据找到的Cookie名称获得Cookie对象中的值。

一. 新建用户登录表单页index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.net.URLDecoder"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 在index.jsp页中读取所有客户端的Cookie,通过循环Cookie数组找到保存用户名的Cookie -->
<%
    String userName = null;     // 用于保存从Cookie中读取的用户名
    Cookie cookieArr[] = request.getCookies();      // 通过转发到客户端的Cookie,request获取客户端的所有的Cookie
    if(cookieArr!=null && cookieArr.length>0){
        for(Cookie c:cookieArr){
            if(c.getName().equals("userName")){     // 如果Cookie中有一个名为userName的Cookie
                userName = URLDecoder.decode(c.getValue(),"UTF-8");     // 将字符串解码,获得此Cookie的值
            }
        }
    }
 %>
<form action="CookieServlet" method="post">
    <table>
        <tr>
            <td>用户名:</td>
            <!-- 将获取到的用户名Cookie的值赋值给“用户名”文本框 -->
            <td><input type="text" name="name" value="<%if(userName!=null){out.print(userName);}%>"/></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" name="pwd"/></td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" value="登 录"/></td>
        </tr>
    </table>
</form>
</body>
</html>

二. 新建名为CookieServlet的Servlet类,在该类的doPost()方法中获取用户名信息,然后添加到Cookie对象中并保存到客户端

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class CookieServlet extends HttpServlet {

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html");
        request.setCharacterEncoding("UTF-8");
        String name = request.getParameter("name");     // 获得用户名
        name = java.net.URLDecoder.decode(name, "UTF-8");   // 将用户名进行格式编码
        Cookie nameCookie = new Cookie("userName",name);    // 创建一个Cookie对象,并将用户名保存到Cookie对象中
        nameCookie.setMaxAge(60);   // 设置Cookie的过期之前的时间,单位为秒
        response.addCookie(nameCookie);     // 通过response的addCookie()方法将此Cookie对象保存到客户端浏览器的Cookie中
        request.getRequestDispatcher("index1.jsp").forward(request, response);  // 请求响应转发到JSP页面

    }

}
Servlet基础知识Cookie和Session cookie用来在浏览器端存储用户的状态信息,然后再访问后端的时候将这部分信息带回到后端。cookie的主要内容包括:名字、值、过期时间、路径和域。Session是用来在服务器端保存用户的信息。比如购物车,在用户点击“下单”按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建特定的session,用于标识这个用户,并且跟踪用户,这样才知道购物车里面有什么。这个session是保存在服务端的,有一个唯一标识。 阅读详情

相关推荐

Servlet Cookie 处理

Cookie是一种在客户端(通常是用户的浏览器)存储的小型文本文件。它由服务器发送到客户端,并在客户端计算机上保存。当用户再次访问同一网站时,Cookie会被发送回服务器,用于识别用户和记住用户的偏好设置。

xyq2024的博客 678

JSP&Servlet(1)——使用JSP实现登录页面使用Cookie记住账号密码功能

使用Cookie实现“记住我”的功能 账号是"hello",密码是"world"。 主页面index.jsp的代码如下: <%@ page import="java.net.URLDecoder" %> <%--加载静态JSP页面需设置该页的编码格式为UTF-8--%> <%@ page pageEncoding="utf-8" %> <!DO...

二木成林 5872

基于Python批量获取过去某地某时的天气数据

此段代码为经Visual Weather API官网样例后修改。原代码返回数据格式为json,经测试json风速字段不可用,后改为返回数据格式为csv。若修改weather_api_endpoint,还可获取该地点的预测数据,但返回数据字段可能发生变化,请以官网文档为准。获取到的字段包括:平均温度、露点、湿度、风速、降雨量、能见度、云量、天气类型等。目的:已知某一地址,获取过去某一时间该地的天气数据,并能够批量运行。这一步也会有获取不到的时间和地点,因此为空白。此段代码为经百度地图api官网样例后修改。

wiseman1233的博客 905

selvlet模板

package ${enclosing_package}; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.serv...

Tw368WJZ的博客 579

Coze工作流实战:Coze一键生成沉浸式历史故事视频

【coze工作流实战】一键生成火爆的沉浸式历史故事视频!短短3分钟,顶替你3天的工作量!

bickys的博客 1004

斑马打印机状态监控进阶:不用SDK也能获取打印状态的3种野路子

本文介绍了三种不依赖官方SDK的斑马打印机状态监控方法,包括SGD命令、TCP端口嗅探和共享打印机日志分析。这些方案适用于老旧系统或网络受限环境,帮助运维人员实时掌握打印状态,提升设备管理效率。特别适合工业自动化和物流仓储场景中的应急处理。

weixin_42628688的博客 429

java 发送cookie_Java如何在Servlet中发送cookie?

Cookie是Web服务器发送给浏览器的一条信息。然后,浏览器将该信息返回到Web服务器。这是某些网页记住您以前访问的方式。例如,一个电子商务网站可能使用cookie来记住您放置在在线购物车中的项目。Cookies还可以存储用户首选项信息,登录数据等。这是一个将HTTP响应对象中的cookie发送到客户端浏览器的示例。packageorg.nhooo.example.servlet;import...

weixin_33167456的博客 466

Qt·DBus快速入门

DBus快速入门

m0_64560763的博客 2274

用Cookie保存登录信息

一、认识Cookie 指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。 Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。 二、如何将

zrxJuly 1万+

关于token无痛刷新的两个方案

目录方案一方案二 方案一 思路: 后端需要返回一个token过期的时间,在请求发起前拦截每个请求,判断token的有效时间是否已经过期,如果已过期,则暂时将请求挂起,先刷新token后再继续请求。 前期思考: 返回过期时间是为了判断是否过期的,但是如果服务器时间和系统时间不一致呢? 如果同时发起多个请求时怎么办? 实现: 因为是在请求前进行拦截,所以这里用axios的axios.interceptors.request.use()方法 首先,关于服务器时间和系统时间不一致的问题,我的解决方法是:

Yugoup的博客 2718

深入浅出:拆解RK3588 DVP摄像头驱动框架,从DTS配置到V4L2子系统

本文深入解析RK3588 DVP摄像头驱动框架,从DTS配置到V4L2子系统的完整实现。详细介绍了瑞芯微RK3588的多媒体子系统架构、设备树配置逻辑、rkcif驱动与V4L2框架的交互机制,以及用户空间调试与性能优化技巧,帮助开发者解决DVP摄像头驱动中的常见问题。

weixin_42525632的博客 268

Servlet向客户端写Cookie信息

Servlet是Java Web应用中最核心的组件,也是Web服务器组件,它是一个中间控制层,负责处理客户端提交过来的请求数据以及调用业务逻辑对象,根据业务逻辑来控制页面转发。

弈缘人生 3037

多核异构处理器核间通信:从共享内存到RPMsg协议的实战解析

在多核异构处理器架构中,核间通信是实现高效协同计算的核心技术。其基本原理是通过共享内存作为数据交换的物理媒介,配合硬件信号机制实现同步与通知。从技术价值看,它解决了不同架构核心间的数据共享与指令协同问题,是释放异构计算潜力的关键。在应用场景上,该技术广泛应用于智能物联网设备、汽车电子和工业控制等领域,用于连接高性能应用处理器与实时微控制器。本文以典型的ARM Cortex-A与Cortex-M组合为例,深入剖析了基于共享内存和RPMsg协议的通信机制,涵盖了从硬件基础到软件协议栈的完整实现链路,并提供了针对

weixin_26969269的博客 450

Java:Servlet 中 Cookie 的读写

当谈到在Java Servlet中进行Cookie读写操作时,我们需要了解Cookie是什么以及如何在Servlet中使用它们。Cookie是一种小型文本数据,存储在客户端的浏览器中,并在之后的HTTP请求中发送回服务器。它们通常用于在不同的HTTP请求之间保存和传递信息,比如用户会话跟踪、个性化内容和其他状态信息。

Cosmoshhhyyy的博客 547

AI人工智能领域持续学习:提升技术能力的关键

在当今科技飞速发展的时代,AI人工智能已经渗透到我们生活的方方面面。本文章的目的就是帮助大家了解在AI人工智能领域持续学习的重要性,以及如何通过持续学习来提升自己的技术能力。文章会涵盖AI的核心概念、持续学习的原理和方法、实际应用场景等方面,让大家对AI领域的持续学习有一个全面的认识。本文首先会介绍AI人工智能的核心概念,让大家对这个领域有一个初步的了解。然后详细讲解持续学习的原理和方法,通过代码示例展示如何在实际项目中实现持续学习。接着会分析AI持续学习在不同场景的应用,推荐一些学习工具和资源。

AI 原生应用开发的博客 1289

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Cookie学习总结-显示上一次访问时间

* CookieDemoServlet.java*(ck.do)package blank.servlet;import java.io.IOException; import java.util.Date;import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.htt

Veer Han 955

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

客户端会话技术-Cookie

本篇文章讲解了 客户端会话技术 Cookie ,如何持久化保存,用一个案例来进行巩固

小白白O快起来 2570

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Servlet的Cookie和Session机制

Servlet Cookies Cookies定义:Cookies是存储在客户端计算机上的文本文件,并保留了用户的各种跟踪信息。 Cookies作用:会话保持,如完成用户的登录与状态保持 Cookies的工作原理: 客户端向服务区发起登录请求 服务器脚本(代码)向浏览器发送一组Cookies,例如:姓名,年龄等 浏览器将这些信息存储在本地计算机上,以备将来使用 当下一次浏览器向web服务器发送任何请求时。浏览器会把这些Cookies信息发送到服务器,服务器将使用这些信息来识别账户 Cookies构成 C

wkh18891843165的博客 1769

Servlet(Cookie和Session)

🐲 1. Cookie 的工作流程 🐲 2. Servlet中操作 Cookie 和 Session 的api 🐲 3. 案例1: 模拟登录 🐲 4. 上传文件 🐲 5. 案例2: 上传文件

m0_58761900的博客 1928

Servlet实现Cookie的创建,读取,删除

(1)如何创建cookie案例 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class CookieTest1 extends HttpServlet{ //处理get请求 public void doGet(HttpServletRequest req,HttpServ

徐刘根的博客 1万+

Servlet Cookie基本概念和使用方法

Cookie 是一种在网站和应用程序中用于存储用户信息的小型文本文件。当用户访问一个网站或应用程序时,该网站或应用程序会将一个包含用户信息的 Cookie 发送到用户的浏览器。浏览器会将该 Cookie 存储在用户的计算机上,并在以后的访问中将该 Cookie 发送回网站或应用程序。虽然 Cookie 对于提供个性化体验和方便用户来说非常有用,但它们也引发了一些隐私和安全问题。例如,第三方 Cookie 可以用于跟踪用户在多个网站上的活动,可能会侵犯用户的隐私。

云域A的博客 2383

servlet中的cookie

cookie的机制是:从客户端(浏览器)发送请求到服务器,然后服务器把接受的信息回写到客户端,这个信息在客户端跟服务器之间进行交互。 下面是一个创建cookie的小案例 //如何创建cookie package com.oliver.learn; import javax.servlet.http.*; import java.io.*; publi...

ajsyipsc40270的博客 153

Servlet中Cookie的使用

文章目录前言一、Cookie和Session的概念1. 会话管理2. 保存会话的两种技术二、Cookie的使用1. 常用API2. Cookie的清除以及设置路径注意事项3. Cookie的小案例:记住用户名总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,

Hatty1920的博客 2245

HoRain云--Servlet Cookie 处理

编译上面的 Servlet DeleteCookies,并在 web.xml 文件中创建适当的条目。现在运行 http://localhost:8080/TomcatTest/DeleteCookies,将显示如下结果:

2401_86544677的博客 1054
上一篇: servlet请求处理 web.xml配置
下一篇: Servlet中将JavaBean对象传递到JSP页
gamedev˚
博客等级 码龄12年 280粉丝 293原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值