当前位置: 首页 > wzjs >正文

塘沽网络公司seo专业术语

塘沽网络公司,seo专业术语,无锡网站建设的公司,高清图片素材网目录 1.cookie记录上一次的访问时间 思路 2.cookie实现自动登录 index.jsp Java session&cookie理论文章参见:会话管理-帮你搞懂cookie&session(Java版本)_java cookie 有效期会话-CSDN博客 1.cookie记录上一次的访问时间 思路 本…

目录

1.cookie记录上一次的访问时间

思路

 2.cookie实现自动登录

index.jsp

Java


session&cookie理论文章参见:会话管理-帮你搞懂cookie&session(Java版本)_java cookie 有效期会话-CSDN博客

1.cookie记录上一次的访问时间

思路

本质上就是记录本次的访问请求时间并且创建一个具有一定寿命的cookie;然后遍历网站中所有的cookies,然后筛选出在寿命范围内(就是尚且存活)且距离本次访问时间最近的一次请求,如果没有,就会显示第一次访问。

package com.qcby.cookieLoginTest;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;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;@WebServlet(name="lateTime",urlPatterns ="/visit")
public class LastTimeTest extends HttpServlet {private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 设置响应内容类型response.setContentType("text/html;charset=UTF-8");// 获取当前时间Date now = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 检查Cookie中是否已经存在上次访问时间String lastVisitTime = "首次访问";Cookie[] cookies = request.getCookies();if (cookies != null) {for (Cookie cookie : cookies) {if ("lastVisit".equals(cookie.getName())) {// 对Cookie值进行解码lastVisitTime = java.net.URLDecoder.decode(cookie.getValue(), "UTF-8");break;}}}// 创建一个新的Cookie来记录当前时间String encodedTime = URLEncoder.encode(sdf.format(now), "UTF-8"); // 对Cookie值进行编码Cookie lastVisitCookie = new Cookie("lastVisit", encodedTime);lastVisitCookie.setMaxAge(60); // 设置Cookie有效期为一分钟response.addCookie(lastVisitCookie);// 输出响应页面try (PrintWriter out = response.getWriter()) {out.println("<html><body>");out.println("<h1>欢迎访问!</h1>");out.println("<p>当前时间:" + sdf.format(now) + "</p>");out.println("<p>上次访问时间:" + lastVisitTime + "</p>");out.println("</body></html>");}}
}

得到结果:

第二次访问:

 2.cookie实现自动登录

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Login</title>
</head>
<body>
<form action="login" method="post">用户: <input type="text" name="username"/><br>密码: <input type="password" name="password"/><br><input type="checkbox" value="1" name="auto"/>&nbsp;一分钟内自动登录<br><input type="submit" value="登录"/>
</form>
</body>
</html>

Java

package com.qcby.cookieTest;import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;/*** 模拟自动登陆方法*/
@WebServlet(name = "LoginServlet",urlPatterns = "/login")
public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 获取用户端提交的表单信息String username = request.getParameter("username");String password = request.getParameter("password");String auto = request.getParameter("auto");// 统一设置response响应格式及编码response.setContentType("text/html;charset=utf-8");response.setCharacterEncoding("UTF-8");// 判断是否提交用户信息if(username == null && password == null && auto == null){// 用来接收cookie的value信息String cookieValue = null;// 获取用户端cookiesCookie[] cookies = request.getCookies();// 如果cookies不为null  尝试获取name为txjavac的cookie的valueif(cookies != null){for(Cookie ck : cookies){if(ck.getName().equals("txjavac")){cookieValue = ck.getValue();}}}// 如果没有获取到cookie的value 返回信息if(cookieValue == null){response.getWriter().write("您还未进行登陆,请进行登陆!!!");return;}else{// 如果获取到// 对该信息进行解码BASE64Decoder decoder = new BASE64Decoder();cookieValue = new String(decoder.decodeBuffer(cookieValue));// 对解码后的字符串进行切分String[] split = cookieValue.split(":");// 获取用户名和密码username = split[1];password = split[2];// 创建用户对象User user = new User(username,password);// 获取sessionHttpSession session = request.getSession();// 把用户对象存储到session中session.setAttribute("user",user);// 返回内容response.getWriter().write("尊敬的"+username+",欢迎您!!!");return;}}// 判断用户名或密码是否正确if(username!=null && password!=null && username.equals("admin") && password.equals("txjava")){// 创建用户对象User user = new User(username,password);// 获取session会话对象HttpSession session = request.getSession();// 把用户存入session中session.setAttribute("user",user);// 用户名密码正确的话,判断是否勾选了自动登陆if(auto != null && auto.equals("1")){// 拼接存储于cookie的value值String value = "txjava:" + username + ":" + password + ":" + 60;// 进行BASE64编码BASE64Encoder encoder = new BASE64Encoder();value = encoder.encode(value.getBytes());// 创建cookie并且设置一天失效后添加到responseCookie cookie = new Cookie("txjavac",value);cookie.setMaxAge(24*3600);response.addCookie(cookie);}response.getWriter().write("尊敬的"+username+",欢迎您!!!");return;}else {response.getWriter().write("用户名或密码错误!!!");return;}}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}
}

第一次登录或是没有勾选自动登录选项进入这个路径:

输入密码正确且勾选上后:

 

在一分钟内再进入这个路径,就可以自动登录(如果没勾选,那么后面进这个还是会显示未登录):

http://www.dtcms.com/wzjs/274546.html

相关文章:

  • 给公司建立网站东莞网站设计排行榜
  • 网站的外链接数济南头条今日新闻
  • 麻章手机网站建设建站软件可以不通过网络建设吗
  • 沧州做网站的seo变现培训
  • 高校网站建设前景做网络推广怎么找客户
  • 网站登记备案查询万网官网入口
  • 建造师培训网校seo排名技巧
  • 做网站备案什么意思游戏推广平台
  • 常州网站建设方案优化seo
  • 江阴网站制作找索引擎seo
  • 赌博假网站这么做点击器 百度网盘
  • 服务器做网站用什么环境好厦门网络推广哪家强
  • 贵阳市住房城乡建设局八大员网站优化快速排名教程
  • 垂直电商网站如何做内容运营百度在线
  • 动态网站建设教程线上推广网络公司
  • 如何做海外淘宝网站sem推广竞价托管
  • 静态网站开发工具有哪些中国站长站官网
  • 运城 网站 建设 招聘百度公司电话热线电话
  • paypal网站集成北京seo外包公司要靠谱的
  • 网站建设一般多少品牌seo如何优化
  • 网站日志怎么做百度助手免费下载
  • 移动网站开发手机网站模板
  • 马云做黄页网站时候java成品网站
  • 网络宣传网站建设制作百度服务中心电话
  • 小网站 收入百度快照提交入口
  • flash企业网站站长工具海角
  • 网站开发建设是否需要经营许可网站seo是啥
  • 餐饮网站制作代运营公司是怎么运营的
  • 纺织面料做哪个网站好陕西网络推广公司
  • 柳州市城市建设局网站网站建设方案开发