广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Cookie在Java中的使用
  • 365
分享到

Cookie在Java中的使用

2024-04-02 19:04:59 365人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录什么是Cookie Cookie的必要 Cookie如何工作 模拟用户登录 什么是Cookie 在现实生活中,当顾客第一次在超市购物,通常服务员会询问是否办理一张会员卡来积分以

什么是Cookie

在现实生活中,当顾客第一次在超市购物,通常服务员会询问是否办理一张会员卡来积分以便日后折扣等福利活动。会员卡会记录顾客的姓名、积分、消费记录等信息,如果顾客要参与超市的福利活动等都需要提供会员卡,服务员在后台刷卡查询即可知道是哪个用户在使用会员卡。

现在将现实生活中的案例中的角色互换一下。

当用户没有在WEB服务器登记过用户信息,而使用网站提供的需登录的服务时,服务器会告知浏览器跳转到登陆页面进行用户信息的登记操作,登录完成之后,浏览器向服务器发起一次登陆请求,服务器将用户的信息存储到Cookie中,并响应给浏览器新的Cookie,浏览器得到Cookie之后将它存储到缓存区。

当用户在Web服务器登记过用户信息,而使用网站提供的需登录的服务时,服务器会通过请求中携带的Cookie判断此次请求时哪个用户,并以这个Cookie的信息去查询数据库等操作,完成用户需要的服务。

Cookie的必要

Http是无状态协议,意味着服务器不会在两个请求之间保留任何数据(状态)。由于Web服务器要面对很多用户的并发访问,为了提高Web服务器对并发访问的处理能力,在设计HTTP协议时规定Web服务器发送HTTP应答报文和文档时,不保存发出请求的Web浏览器进程的任何状态信息,从而减轻服务器端的负载,同时无状态也减小了HTTP请求的开销。

但是在必要的场景,如登陆、购物等都需要保存用户的状态(信息),就不得不用到Cookie。

Cookie如何工作

第一次访问服务器,没有Cookie,向服务器登记新的Cookie。

第二次及以后访问服务器,有Cookie,无需登记新的Cookie。

模拟用户登录

需求分析:

当用户访问homepage.jsp时,判断请求中是否携带username的Cookie,如果不存在就通知浏览器跳转到登录页面进行用户信息的登记。当用户再次访问homepae.jsp时,不会被拦截,可以让用户访问个人主页页面。

编写代码:

个人主页的Servlet


@WebServlet(name = "homepageServlet", urlPatterns = "/homepage")
public class HomePageServlet extends httpservlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Cookie[] cookies = req.getCookies();
        for (Cookie cookie : cookies) {
            if (!cookie.getName().equals("username")) {
                // 如果用户是第一次访问个人主页,就通知浏览器跳转到登陆页面进行登录
                resp.sendRedirect(req.getContextPath() + "/login.jsp");
            }
        }
    }

}

用户登录的Servlet


@WebServlet(name = "loginServlet", urlPatterns = "/login")
public class LoginServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取http请求参数username
        String username = request.getParameter("username");
        // 设置响应内容的类型
        response.setContentType("text/html;charset=utf-8");
        // 获取Cookie值
        Cookie[] cookies = request.getCookies();
        for (Cookie cookie : cookies) {
            if (!cookie.getName().equals("username")) { // 用户第一次访问
                Cookie userCookie = new Cookie("username", username);
                userCookie.setMaxAge(300);
                response.addCookie(userCookie);
            }
            response.sendRedirect(request.getContextPath() + "/homepage.jsp");
        }
    }

}

打开浏览器,实验一下:

在第一次访问homepage页面时,看到浏览器缓存区并没有名为username的Cookie,只有当登录之后,浏览器缓存区才有了这个Cookie。

以上就是Cookie在Java中的使用的详细内容,更多关于Cookie的使用的资料请关注编程网其它相关文章!

--结束END--

本文标题: Cookie在Java中的使用

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

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

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

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

下载Word文档
猜你喜欢
  • Cookie在Java中的使用
    目录什么是Cookie Cookie的必要 Cookie如何工作 模拟用户登录 什么是Cookie 在现实生活中,当顾客第一次在超市购物,通常服务员会询问是否办理一张会员卡来积分以...
    99+
    2022-11-12
  • Java中JSP的Cookie如何使用
    本文小编为大家详细介绍“Java中JSP的Cookie如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中JSP的Cookie如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。JSP Cooki...
    99+
    2023-07-04
  • Cookie如何在servlet 中使用
    Cookie如何在servlet 中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.cookie介绍  Cookie,指某些网站为了辨别用户身份、进行 session...
    99+
    2023-05-31
    servlet cookie
  • ASP.NET Core在WebApi项目中使用Cookie
    目录一、Cookie的作用二、在ASP.NET Core中使用Cookie1、在控制器中直接使用Cookie1.1、设置Cookie1.2、获取Cookie1.3、删除Cookie信...
    99+
    2022-11-13
  • 如何在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
  • 在java中session和cookie有什么区别
    java中session和cookie的区别:session是存储在服务器端,cookie是存储在客户端的。session的安全性要比cookie高。获取session里的信息是通过存放在会话cookie里的sessionid获取的。coo...
    99+
    2022-10-09
  • 怎么在java中利用Cookie判断用户的登录情况
    这篇文章给大家介绍怎么在java中利用Cookie判断用户的登录情况,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。判断是否登录public boolean isLogin() { ...
    99+
    2023-05-30
    java cookie
  • ASP.NET Core在WebApi项目中怎么使用Cookie
    这篇文章主要讲解了“ASP.NET Core在WebApi项目中怎么使用Cookie”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.NET Core在WebApi项...
    99+
    2023-06-29
  • php中Cookie的使用方法
    这篇文章主要介绍php中Cookie的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.Cookie简介 Cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。Cookie是完全保持在客户端的...
    99+
    2023-06-14
  • Cookie的使用(基于js-cookie插件)
    简介: Cookie 是一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制 Cookie 有效期、安全性、使用范围的可选属性组成,储存在用户本地终端上。 js-cookie 是一个简单的,轻量级的...
    99+
    2023-09-15
    javascript Cookie 前端
  • 怎么在JavaScript中使用cookie记住用户页面
    本篇文章为大家展示了怎么在JavaScript中使用cookie记住用户页面,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么时cookie?cookie有4kb大小,超出长度会返回空字符串;coo...
    99+
    2023-06-14
  • 使用Flash Cookie技术在客户端永久保存HTTP Cookie
    Flash Cookie技术是一种在客户端永久保存HTTP Cookie的方法。Flash Cookie是使用Adobe Flash...
    99+
    2023-09-20
    Cookie
  • Java的Cookie、Session及kaptcha验证码如何使用
    这篇文章主要讲解了“Java的Cookie、Session及kaptcha验证码如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的Cookie、Session及kaptcha验...
    99+
    2023-07-02
  • CGI中怎么使用Cookie
    本篇内容介绍了“CGI中怎么使用Cookie”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CGI中使用Cookie在 http 协议一个很大...
    99+
    2023-06-08
  • Flask中使用cookie和sessi
    设置cookie from flask import Flask,Response app = Flask(__name__) @app.route('/index') def index(): response = Res...
    99+
    2023-01-31
    Flask cookie sessi
  • vue3中cookie怎么使用
    这篇“vue3中cookie怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中cookie怎么使用”文章吧。前...
    99+
    2023-07-06
  • vue3中cookie如何使用
    前言cookie使用最多的地方想必是保存用户的账号与密码,可以避免用户每次登录时都要重新输入1.vue中cookie的安装在终端中输入命令npm install vue-cookies --save,即可安装cookies,安装之后在mai...
    99+
    2023-05-14
    cookie Vue3
  • Cookie的使用场景
    Cookie是存在浏览器端的浏览器 第一次请求:浏览器端是没有cookie数据的 tomcat容器: (1)服务器端创建Cookie public Cookie(String name,String value) (2)设置cookie的过...
    99+
    2023-09-21
    服务器 运维
  • 怎么在Python中使用Selenium对Cookie进行操作
    这篇文章给大家介绍怎么在Python中使用Selenium对Cookie进行操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作