首页 > 其他分享 >Cookie用法案例-->自动登陆

Cookie用法案例-->自动登陆

时间:2022-10-14 11:07:24浏览次数:44  
标签:username -- 用法 cookie println Cookie response out


07020170907

1、cookie是浏览器保存数据的一种形式,数据由服务端产生,通过响应头(setCookie)把数据写入cookie中,浏览器接受到数据后,浏览器将服务器发来的数据存在本地的cookie中


2、cookie的使用步骤:

1)、新创一个Cookie对象:Cookie cookie_username = new Cookie("username", username);

2)、设置Cookie存活时间:cookie_username.setMaxAge(7*24*60*60);[一周]

3)、添加Cookie:response.addCookie(cookie_username);

4)、读取Cookie[]:for (Cookie c : request.getCookies()) { c.getName() + c.getValue() }


3、代码如下:


package com.tiger.servlet;

import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.Cookie;
import javax.servlet.http.*;
/**
* 利用cookie实现自动登陆
* @author tiger
* @Date 2017年9月9日
*/
@WebServlet("/createCookie")
public class CreateCookie extends HttpServlet {
private static final long serialVersionUID = 1L;

public CreateCookie() { }

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String checkbox = request.getParameter("checkbox");
if (checkbox != null && checkbox.equals("checkbox")) {
Cookie cookie_username = new Cookie("username", username);
cookie_username.setMaxAge(7*24*60*60);
response.addCookie(cookie_username);
Cookie cookie_password = new Cookie("password", password);
cookie_password.setMaxAge(7*24*60*60);
response.addCookie(cookie_password);
}
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}

}
package com.tiger.servlet;

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.*;
/**
* 利用cookie实现自动登陆
* @author tiger
* @Date 2017年9月9日
*/
@WebServlet("/login")
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;

public Login() { }

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println("");
out.println("");
out.println("---登陆---");
out.println("");
out.println("");
out.println("");
out.println("
​​");
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("username")) {
out.println("姓名:

");
}
if (cookie.getName().equals("password")) {
out.println("密码:

");
}
}
out.println("记住登陆密码:

");
}else {
out.println("姓名:

");
out.println("密码:

");
out.println("记住登陆密码:

");
}
out.println("

");
out.println("");
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
​​




标签:username,--,用法,cookie,println,Cookie,response,out
From: https://blog.51cto.com/u_12952267/5755724

相关文章

  • 浏览器查看request参数和response参数
    --------------Ajax方式请求--------------1、按快捷键F12进入浏览器的开发者调试模式【这里以谷歌浏览器为例】2、选中【NetWork】-->【XHR】(当......
  • 从一张表中提取信息填充入临时表
    <spanstyle="color:#ffffff">insertintot_temp(id,name,card_no)selectreplace(UUID(),"-","")asid,real_nameasname,id_card_noascard_nofromt_memberwhere......
  • 振弦采集模块电源接口详细说明
    VM系列振弦采集模块电源接口详细说明VMXXX模块有多个电源接口,分别为:宽电压电源输入(VIN)、内核电源(VDD)、参考电压源(VREF)、振弦传感器激励电源(VSEN),各电源共用GND。......
  • 模拟高并发测试的几种方式
    Postman下载软件包#官网启动测试案例创建一个Collections,将接口保存进Collections点击Runner,选择需要并发测试的接口设置相关参数,点击Run。ApacheBench下载软件包#官网ht......
  • 通过kubeadm搭建k8s集群
    ======通过kubeadm搭建k8s集群======1、版本统一Docker18.09.0---kubeadm-1.14.0-0kubelet-1.14.0-0kubectl-1.14.0-0---k8s.gcr.io/kube-......
  • 最新ITIL考试题库(中英对照版初级)
    1、Whichroleisresponsibleforcarryingouttheactivitiesofaprocess?下列哪个角色负责执行进程活动?A.Processowner过程所有者B.Changemanager变更经理C......
  • struts2拦截器实现页面保护
    11020171018请输入用户名:请输入密码:......
  • 全网最全 Linux 命令总结
    今天,给小伙伴们带来一篇Linux命令总结非常全的文章,也是我们平时工作中使用率非常高的操作命令,命令有点多,建议小伙伴们可以先收藏后阅读。基本命令uname-m显示机器的处......
  • Ubuntu22.04 安装Docker
    1、安装需要的软件依赖包sudoapt-getinstallapt-transport-httpsca-certificatessoftware-properties-commoncurl-y2、添加中国科技大学GPG密钥和Docker-ce源$curl......
  • 接手门面转让要了解的层面,助你成功接手
     不少人在接手一个门面转让的过程中都会陷入手足无措地境地,以至于影响自己的开店计划。为了避免这种情况,我们在接手时要了解一些层面。今天铺先生小编为大家介绍接手门面......