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是会话技术的组成部分,一次会话从打开浏览器的某个站点开始,到浏览器关闭 ...
随机推荐
- ppt转成图片等其它对象
https://www.cnblogs.com/Yesi/p/5388152.html 从E-iceblue官网下载Free Spire.Presentation使用.下载完成后,请将bin文件夹的. ...
- English class 81:How Vulnerability can make our lives better?
1,can we come off as weak if we show imperfections? 2,The first thing I look for in you and the last ...
- windows hook 钩子
windows hook 钩子 场景: 1.打印机 Ctrl+P弹出支付窗口,付款成功后打印
- [maven] 初试maven
环境 CentOS 6 一, 安装: [root@okk ~]# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.0/binaries ...
- [daily][archlinux] 本地字符乱码, 无法显示中文
一: 突然有一天,Konsole里边看见的中文文件名的文件,就变成了乱码.thunderbird存到本地的附件,文件名也变成了乱码. 在X下查看locale,内容如下: 手动设置了之后也不对. 但是在 ...
- 洛谷P2852 牛奶模式Milk Patterns [USACO06DEC] 字符串
正解:SA/二分+哈希 解题报告: 传送门! umm像这种子串的问题已经算是比较套路的了,,,?就后缀的公共前缀这样儿的嘛QwQ 所以可以先求个SA 然后现在考虑怎么判断一个长度为d的子串出现了k次? ...
- linux清空历史记录
前几天弄了个Linux服务器做网站,发现在不同终端登陆时,上下键都会出现一堆无用的命令,搜了一下解决方法,做个笔记. 在Linux中,每个用户目录下都有一个.bash_history文件用于保存历史命 ...
- Javabean非空变量校验工具
摘要 调研java Class getDeclaredFields() 与getFields()的区别,设计请求参数为Javabean时,基于反射机制校验其中非空变量的公共方法. java Class ...
- 第一节:Git下载和安装
1.下载并安装github客户端:https://desktop.github.com/ 2.进入自己的主页,新建一个项目:
- svn介绍
什么是SVN(Subversion) Svn(subversion)是近年来崛起非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Svn版本管理工具随着时间改变的各 ...