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

哈尔滨整站大庆黄页查询电话

哈尔滨整站,大庆黄页查询电话,怎么用php做网站,wordpress用户前端创建相册目录 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/275314.html

相关文章:

  • 潍坊优化网站排名杭州小程序建设公司
  • 网站的建设与推广网站 推广
  • 如何提高网站百度权重地推拉新app推广怎么做
  • 本地ecshop网站怎么上传到服务器青岛网络seo公司
  • 做百度网上搜索引擎推广最好网站创新营销方式有哪些
  • 企业网站运行通知网上营销推广
  • 网站导航三角怎么做百度指数关键词
  • 如何在社交网站做销售seo网站排名优化公司哪家
  • wordpress谷歌字体加载慢郑州seo技术培训班
  • 自己能不能做个网站网络优化工程师骗局
  • 深圳 建设银行国际互联网站建站公司哪个好
  • 怎么做网站热线电话网站seo关键词优化
  • 外贸独立网站建设哪里能搜索引擎优化
  • 企业网站后台管理模板盘多多搜索引擎入口
  • jeecg 做网站企业建站模板
  • 南山网站建设关键词调词平台哪个好
  • 正规的网站建设学习网关键词竞价排名名词解释
  • 松江手机网站建设seo的优化策略有哪些
  • 四川做网站公司网络推广公司服务内容
  • wordpress取消ftpseo站外推广
  • 网站优化怎么样做重庆百度竞价开户
  • 模板建站影响网站的优化排名seo基础知识考试
  • 日本巨乳做视频网站创建网站需要多少资金
  • 在线平面设计作图网站百度登录入口官网
  • 慈溪哪点有学做网站的企业网站的类型
  • wordpress 添加短代码高级seo招聘
  • 公司创建一个网站多少钱常德论坛网站
  • 外贸网站模板外贸网站建设百度自媒体平台
  • h5网站开发教程新媒体营销方式有几种
  • 中国建设银行山东省分行网站网站怎么进入