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是会话技术的组成部分,一次会话从打开浏览器的某个站点开始,到浏览器关闭 ...
随机推荐
- linux下安装pycharm
在 linux下打开浏览器,搜索pycharm,点击download. 下载好的文件的名称可能是 ‘pycharm-professional-2016.2.3.tar.gz’. 打开终端界面,输入命令 ...
- 创建本地SVN版本库以及将SVN导入GIT
创建本地SVN 通常SVN作为一种服务,是在服务器上架设,供用户通过网络访问使用.但如果只是自己日常使用,完全可以架设在本机上,不需要启动后台程序,通过文件的方式访问即可. 建立本地SVN非常简单,一 ...
- MyEclipse中JDK运行环境和编译环境的设置
一.设置myEclipse中新项目使用的JDK 1.运行环境 [Window]->[Preferences]->[Java]->[Installed JREs] 步骤:Add-- ...
- Monkey简介及环境搭建(1)
简介:Monkey是Android SDK自带的测试工具,是一个命令行工具,可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用 ...
- MySQL InnoDB加锁超时回滚机制(转)
add by zhj: 看来我对MySQL的理解还有待深入,水还是挺深的啊,MySQL给记录加锁时,可以通过innodb_lock_wait_timeout参数设置超时时间, 如果加锁等待超过这个时间 ...
- Nor Flash 驱动框架
框架入口源文件: lcd.c (可根据入口源文件,再按着框架到内核走一遍) 内核版本:linux_2.6.22.6 硬件平台:JZ2440 以下是驱动框架: 以下是驱动代码 s3c_nor_ ...
- python-面向对象-03_面向对象基础语法
面向对象基础语法 目标 dir 内置函数 定义简单的类(只包含方法) 方法中的 self 参数 初始化方法 内置方法和属性 01. dir 内置函数(知道) 在 Python 中 对象几乎是无所不在的 ...
- C++中的内存区域及其性能特征
首先须要指出的是.我们通经常使用"堆"和"自由存储"这两个术语来区分两种不同类型的动态分配内存. 1.常量数据:常量数据区域主要用于存储字符串以及其它在编译期就 ...
- 20181211 Oracle Parallel
如下用Select作为参考, Select 在sql server中如果直接查询大量的数据,方式为给列增加Index,可以提高效率.如果查询数据量非常大的时候其实效率依旧不高,而且index在增删改中 ...
- what's the 回撤
什么是“回撤”? “回撤”是个谓语,前面隐含了一个主语.一般来说,没有人说“亏损回撤”的,我们说的“回撤”,通常指“股价回撤”.“市值回撤”.“净值回撤”和“盈利回撤”. “股价回撤”是针对个股的,即 ...