Servlet 利用Cookie实现一周内不重复登录
import java.io.IOException;
import java.io.PrintWriter;
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;
/*
* 利用Cookie实现一周内不重复登录
*/
/**
* Servlet implementation class CookieLoginServlet
*/
@WebServlet("/CookieLoginServlet.do")
public class CookieLoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CookieLoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//获取Cookie
Cookie[] allCookies = request.getCookies();
if (allCookies!=null) {
String userName = null;
String password= null;
//获取Cookie中保存的用户名和密码
for (int i = 0; i < allCookies.length; i++) {
if (allCookies[i].getName().equals("userName")) {
userName = allCookies[i].getValue();
}
if (allCookies[i].getName().equals("password")) {
password = allCookies[i].getValue();
}
}
if (userName!=null&&password!=null) {
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<meta charset=\"UTF-8\">");
out.println("<TITLE>登录成功</TITLE>");
out.println("</head>");
out.println("<body>");
out.println("<H1>用户登陆成功</H1>");
out.println("<H1>用户登录名:"+userName+"</H1>");
out.println("</body>");
out.println("</html>");
out.close();
}
return;
}
String userName = request.getParameter("userName");
String password = request.getParameter("password");
if (userName==null||password==null) {
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<meta charset=\"UTF-8\">");
out.println("<TITLE>登录成功</TITLE>");
out.println("</head>");
out.println("<body>");
out.println("<H1>用户登陆成功</H1>");
out.println("<form action='CookieLoginServlet.do' method='post'>");
out.println("用户名:<input type=text name=userName><br><br>");
out.println("密码:<input type=password name=password><br><br>");
out.println("<input type=checkbox name=keep value = 2>保存登录信息<br><br>");
out.println("<input type=submit value=登录><br><br>");
out.println("</body>");
out.println("</html>");
out.close();
}else {
//判断复选框是否被选中
String keep = request.getParameter("keep");
if (keep!=null) {
//实例化Cookie对象
Cookie userNameCookie = new Cookie("userName", userName);
Cookie passwordCookie = new Cookie("password", password);
//设置cookie一周后失效
userNameCookie.setMaxAge(7*24*3600);
passwordCookie.setMaxAge(7*24*3600);
//将cookie信息返回给客户端浏览器
response.addCookie(userNameCookie);
response.addCookie(passwordCookie);
}
response.sendRedirect("success.html");
}
}
}
//success.html页面信息
<html>
<head>
<meta charset="utf-8">
<TITLE>登录成功</TITLE>
</head>
<body>
<H1>登录成功</H1>
</body>
</html>
Servlet 利用Cookie实现一周内不重复登录的更多相关文章
- Servlet课程0426(十一)Servlet Cookie实现两周内不用重复登录
Welcome.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; import java ...
- 利用Cookie保存用户身份信息实现免登录
<%@page import="sun.misc.BASE64Encoder"%> <%@page import="java.util.Base64.E ...
- JavaWeb 08_JSP+Dao+Bean+Servlet 实现登录注册(连接数据库,验证码登录,两周内免登陆等功能)
一.数据库db_01 表usert 字段username,password 二. 目录 三. 配置信息 四. 代码 index.jsp <script type="text/j ...
- JavaWeb之Servlet:Cookie 和 Session
会话 现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束. 这个过程也可以用我们的B/S模式来描述: 打开浏览器—>输入地址->发出请求->服 ...
- servlet(5) - Cookie和session - 小易Java笔记
1.会话概述 (1)会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. (2)会话过程中的数据不宜保存在request和servle ...
- Java Web Application使Session永不失效(利用cookie隐藏登录)
在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...
- 我是如何在一周内拿到4份offer的?
前言 大概一个月没写博客了吧,这段时间事情比较多(家里有事,请了一段时间假,正好利用剩余几天时间面了几次试),也没抽出来时间写博客,还好所有的事情已经处理完了,今天闲来无事就整理一下这几次面试过程中遇 ...
- Java Web之Servlet及Cookie/Session
Servlet参考文献: 1.http://www.cnblogs.com/luoxn28/p/5460073.html 2.http://www.cnblogs.com/xdp-gacl/p/376 ...
- Servlet/JSP-05 Cookie
一. 问题? HTTP协议是一种无状态协议,服务器本身无法识别出哪些请求是同一个浏览器发出的,浏览器的每一次请求都是独立的.现实业务中服务器有时候需要识别来自同一个浏览器的一系列请求,例如购物车,登录 ...
随机推荐
- 11g RAC集群启动关闭、各种资源检查、配置信息查看汇总。
简要:一:集群的启动与关闭 1. rac集群的手动启动[root@node1 bin]# ./crsctl start cluster -all2. 查看rac集群的状态[root@node1 bin ...
- lua遍历文件夹, zerobrane下载
参考的这个http://www.cnblogs.com/jiufangding/p/3931585.html,配合批处理. zerobrane下载(上一篇博客忘掉了): http://files.cn ...
- maven 几个插件的使用
1. compile <plugin> <artifactId>maven-compiler-plugin</artifactId> <configurat ...
- Window环境下 Git 下载Android源码
1.需要的工具 git.vpn代理 2. 设置git代理(Google source 无法下载,git设置代理) git config --global http.proxy "localh ...
- CSS 高级语法
选择器的分组 你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明.用逗号将需要分组的选择器分开.在下面的例子中,我们对所有的标题元素进行了分组.所有的标题元素都是绿色的. h1,h2,h ...
- springfox.documentation.spi.DocumentationType配置示例
Java Code Examples for springfox.documentation.spi.DocumentationType The following are top voted exa ...
- Linux free命令详解(转)
解释一下Linux上free命令的输出.(转自:http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html) 下面是fre ...
- sql 数据量高并发的数据库优化(转)
Mysql 大数据量高并发的数据库优化 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实 ...
- Java 应用性能调优实践
Java 应用性能优化是一个老生常谈的话题,笔者根据个人经验,将 Java 性能优化分为 4 个层级:应用层.数据库层.框架层.JVM 层.通过介绍 Java 性能诊断工具和思路,给出搜狗商业平台的性 ...
- 网站整合Ucenter详细流程
最近公司项目要用到SNS,在具体采取解决方案上面由于项目由一实力较强的外包公司做,所以没有采用商业解决方案.不过本人一直比较看好康盛的产 品,因为被外派到外包公司去负责项目,尽管以前用的SNS也在不少 ...