servlet Cookie 的使用(六)

1.cookie介绍

  Cookie,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。(可以叫做浏览器缓存)

2.cookie案例

  servlet 源码

package com.learn;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 *
 */
public class CookieServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //cookie引用
        Cookie cookie = null;
        //设置返回类型为文本类型
        resp.setContentType("text/plain");
        //获取输出对象
        PrintWriter out = resp.getWriter();

        //从请求参数中获取cookies
        Cookie[]  cookies = req.getCookies();
        if(cookies != null){
            for (int i = 0; i < cookies.length ; i++) {
                out.println("name:"+cookies[i].getName());
                out.println("value:"+cookies[i].getValue());
                //如果cookie值为user,则赋值给cookie
                if(cookies[i].getName().equals("user")){
                    cookie = cookies[i];
                }
            }

        } else {
            out.print("no cookie");
        }

        if(cookie == null){
            cookie = new Cookie("user","tom");
            //设置cookie最大值为60分钟
            cookie.setMaxAge(60*60);
            resp.addCookie(cookie);
        } else if(cookie.getValue().equals("tom")){
            cookie.setValue("jack");
            resp.addCookie(cookie);
        } else if(cookie.getValue().equals("jack")){
            cookie.setMaxAge(0);
            resp.addCookie(cookie);
        }

       out.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}

web,xml 配置

  <servlet>
        <servlet-name>cookie</servlet-name>
        <servlet-class>com.learn.CookieServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>cookie</servlet-name>
        <url-pattern>/cookie</url-pattern>
    </servlet-mapping>

返回结果:

继续访问一次,返回结果

时间: 2024-10-26 07:06:07

servlet Cookie 的使用(六)的相关文章

Servlet Cookie处理

Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务器脚本向浏览器发送一组 Cookie.例如:姓名.年龄或识别号码等. 浏览器将这些信息存储在本地计算机上,以备将来使用. 当下一次浏览器向 Web 服务器发送任何请求时,浏览器会把这些 Cookie 信息发送到服务器,服务器将使用这些信息来识别用户. 本章将向您讲解如何设置或重置 Cookie,如何

Servlet学习笔记(六)—— 自定义过滤器的编写

Boss今天让我写一个类似BBS留言板的过滤器,要求对字符编码.登录权限.敏感词进行过滤操作. 总体分两模块: 一.过滤器 //Filter.java package lewa; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public interface Filter { public void init(); public void doFilter(ServletRequest reu

Servlet—Cookie(显示用户上次访问时间、显示商品浏览历史)

1 . 什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 1.1 会话过程中要解决的一些问题? 每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据. 例如:用户点击超链接通过一个servlet购买了一个商品,程序应该想办法保存用户购买的商品,以便于用户点结帐servlet时,结帐servlet可以得到用户购买的商品为用户结帐. 思考:用户购买的商品保存在r

Servlet课程0426(十一)Servlet Cookie实现两周内不用重复登录

Welcome.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; import java.sql.*; public class Welcome extends HttpServlet{ public void doGet(HttpServletRequest req, HttpServletResponse res) { //业务逻辑 Connection ct = null; Pr

servlet cookie处理实践

一.servlet中处理cookie的方法 方法描述 public void setDomain(String pattern)该方法设置 cookie 适用的域名. public String getDomain()该方法获取 cookie 适用的域名. public void setMaxAge(int expiry)该方法设置cookie生产的时间(以秒为单位).如果不设置,cookie只会在当前session中有效. public int getMaxAge()获取cookie的最大生存

Servlet——Cookie

会话技术 1.cookie 2.session 会话(session) 1.什么是会话? 会话可以简单理解为:用户开一个浏览器访问某个网站,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话 比如打电话,我打通对方电话,只要电话不挂,这次会话就没有结束. 2.会话过程中要解决的一些问题? 每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,服务器要想办法为每个用户保存这些数据. 例如,多个用户点击超链接通过一个servlet各自购买了一个商品,

2018/1/3 Servlet+cookie+session

1.Servlet重要的四个生命周期方法 构造方法: 创建servlet对象的时候调用.默认情况下,第一次访问servlet的时候创建servlet对象 只调用1次.证明servlet对象在tomcat是单实例的. init方法: 创建完servlet对象的时候调用.只调用1次. service方法: 每次发出请求时调用.调用n次. destroy方法: 销毁servlet对象的时候调用.停止服务器或者重新部署web应用时销毁servlet对象. 只调用1次. 2.伪代码演示servlet的生命

Servlet Cookie、Session

HTTP不能保持连接,可使用会话保存用户信息. 常用的会话技术有2种:Cookie.Session. Cookie 1.原理 当用户第一次访问某个网站时,服务器设置Cookie,存储用户信息,放在响应头字段中,随HTTP响应传给浏览器,浏览器把Cookie存储到本地计算机上. 当用户再次访问该网站时,浏览器先在本地计算机上查找该网站的Cookie,如果有,放在请求头中,随HTTP请求一起发送给该网站的服务器.服务器解析Cookie,获取该用户的信息,进行相关操作. 服务器可重新设置Cookie,

Servlet课程0425(六) 不经过验证直接跳转---session实现不同页面之间共享数据

在地址栏直接输入http://localhost:8080/myWebSite/wel 会发现页面也能跳转,只不过用户名和密码都为空,这是不可以的,因为没有经过验证非法登录了 Welcome,hello,nullpassword=null 而使用session防止用户非法登录 Login.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class Login exten