cookie之三天免登录代码
LoginCookie.java 1 package com.bjsxt.cookie; import java.io.IOException;
import java.net.URLDecoder;
import java.net.URLEncoder; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class LoginCookie
*/
@WebServlet("/LoginCookie")
public class LoginCookie extends HttpServlet { @Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("LoginCookie.service()"); //处理中文乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8"); //获取请求参数
String name=req.getParameter("uname");
String pwd=req.getParameter("pwd");
String check=req.getParameter("che"); //处理业务
//1:判断是否选择三天免登录
if(check!=null&&"yes".equals(check)){
//判断用户名和密码是否为空
if((name!=null&&!"".equals(name))&&(pwd!=null&&!"".equals(pwd))){
//设置cookie,保存在客户端的硬盘中 Cookie cookiename=new Cookie("cookiename",URLEncoder.encode(name,"utf-8"));
Cookie cookiepwd=new Cookie("cookiename",URLEncoder.encode(pwd,"utf-8"));
System.out.println("LoginCookie.service(存储cookie)");
//设置cookie的有效期
cookiename.setMaxAge(3*24*3600);
cookiepwd.setMaxAge(3*24*3600); //设置访问路径
cookiename.setPath(req.getContextPath()+"/LoginCookie");
cookiepwd.setPath(req.getContextPath()+"/LoginCookie"); //发送给浏览器客户端
resp.addCookie(cookiename);
resp.addCookie(cookiepwd);
} //如果用户名和密码为空,从客户端硬盘中读取cookie
if((name==null||"".equals(name))||(pwd==null||"".equals(pwd))){
//读取cookie
Cookie[] cookies=req.getCookies();
//过滤出用户名和密码
if(cookies!=null&&cookies.length>0){
for(int i=0;i<cookies.length;i++){
//取出用户名
if("cookiename".equals(cookies[i].getName())){
//pwd=cookies[i].getValue();
name=URLDecoder.decode(cookies[i].getValue(),"utf-8");
}
//取出密码
if("cookiepwd".equals(cookies[i].getName())){
pwd=URLDecoder.decode(cookies[i].getValue(),"utf-8");
}
}
}
//打印英户名和密码
System.out.println("LoginCookie.service()name:"+name+"---pwd"+pwd);
}
//4校验用户名和密码
if("张三".equals(name)&&"abc".equals(pwd)){
resp.getWriter().print("welcome"+name+"login success");
}else{
resp.getWriter().print("login false "+name+pwd);
}
}
}
}
index.jsp 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
<form action="LoginCookie" method="post">
<table border="1" align="center">
<tr>
<th>用户名:</th>
<td><input type="text" name="uname" value=""></td>
</tr>
<tr>
<th>密码</th>
<td><input type="password" name="pwd" value=""></td>
</tr>
<tr>
<th colspan="2"><input type="checkbox" name="che" value="yes">三天免登录</th>
</tr>
<tr>
<th colspan="2"><input type="submit" value="登录"></th>
</tr>
</table>
</form>
</body>
</html>
cookie之三天免登录代码的更多相关文章
- Python3 使用requests库读取本地保存的cookie文件实现免登录访问
1. 读取selenium模块保存的本地cookie文件来访问知乎 读取http://www.cnblogs.com/strivepy/p/9233389.html保存的本地cookie来访问知乎的 ...
- java:Cookie(常用操作),Cookie和Session免登录实例
1.常用操作: package cn.zzsxt.lee.web.cookie; import java.io.IOException; import javax.servlet.ServletEx ...
- JAVAEE_Servlet_22_Cookie实现十天内免登录
Cookie实现十天内免登录 代码: - CheckLogin 查看是否获取到了Cookie,如果获取到了连接数据库验证Cookie发过来的用户名和密码,如果没有获取到Cookie信息,那么就跳转到登 ...
- Retrofit2.0 ,OkHttp3完美同步持久Cookie实现免登录(二)
原文出自csdn: http://blog.csdn.net/sk719887916/article/details/51700659: 通过对Retrofit2.0的<Retrofit 2.0 ...
- Android Okhttp完美同步持久Cookie实现免登录
通过对Retrofit2.0的<Retrofit 2.0 超能实践,完美支持Https传输>基础入门和案例实践,掌握了怎么样使用Retrofit访问网络,加入自定义header,包括加入S ...
- [py][mx]django的cookie和session操作-7天免登录
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
- spring mvc 用cookie和拦截器实现自动登录(/免登录)
Cookie/Session机制详解:http://blog.csdn.net/fangaoxin/article/details/6952954 SpringMVC记住密码功能:http://blo ...
- 微博爬虫“免登录”技巧详解及 Java 实现(业余草的博客)
一.微博一定要登录才能抓取? 目前,对于微博的爬虫,大部分是基于模拟微博账号登录的方式实现的,这种方式如果真的运营起来,实际上是一件非常头疼痛苦的事,你可能每天都过得提心吊胆,生怕新浪爸爸把你的那些账 ...
- ServletContext对象应用——三天免登录
1.用到的知识点: (1)Cookie (2)Session (3)ServletContext 其中Cookie和Session是会话技术的组成部分,一次会话从打开浏览器的某个站点开始,到浏览器关闭 ...
随机推荐
- VMware与Centos系统安装 和重置root密码
VMware与Centos系统安装 今日任务 1.Linux发行版的选择 2.vmware创建一个虚拟机(centos) 3.安装配置centos7 4.xshell配置连接虚拟机(centos) ...
- [No0000115]打开Excel2016提示内存或磁盘空间不足的解决方法
症状: 法一:右键文件,并 解除锁定: 法二: 在系统的服务中查看Windows Firewall服务 和Windows Update服务是否开启,如果没有开启就把他们启动一下. 1.在桌面的[计算机 ...
- go install and go captcha
https://blog.csdn.net/liuhongwei123888/article/details/8512815 [gocaptcha] http://www.cnblogs.co ...
- Xcode编辑器之基本使用(一)
前言. 苹果原生xcode使用介绍文档 1.Xcode IDE概览 说明: 从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点列(Ribbon)->代码 ...
- redis有序集合性能 列表、集合、有序集合
https://www.cnblogs.com/pirlo21/p/7120935.html 1.1 列表 列表(list)类型是用来存储多个字符串,元素从左到右组成一个有序的集合.列表中的每个字符串 ...
- 【转】escape()、encodeURI()、encodeURIComponent()区别详解
escape().encodeURI().encodeURIComponent()区别详解 原文链接:http://www.cnblogs.com/tylerdonet/p/3483836.html ...
- python摸爬滚打之day05----字典
1.字典介绍 1.1 结构: {key1: value1, key2: value2, ....} ,由很多键值对构成. 在字典的key-value(键值对)中, key(键)必须是可哈希(不可变 ...
- BZOJ1280 Emmy卖猪pigs 网络流
正解:网络流 解题报告: 传送门! 我网络流的基础题都还麻油做完就来做这个了,,,wsl,,, 首先想下最基础的构图方法 不难想到把猪圈和顾客分别当做节点,然后新建一个源点和汇点 然后考虑怎么连边,首 ...
- g++编译多个文件
注意:头文件不用去指定,其是由#include命令进行管理的,只需要编译cpp文件就可以了: 举例: 有以下三个文件: a.h a.cpp main.cpp 那么编译可以有以下两种方式: 1.分开编译 ...
- pycharm换行
Pycharm自动换行 只对当前文件有效的操作是菜单栏->View -> Active Editor -> Use Soft Wraps. 要是想对所有文件都起到效果,就要在sett ...