【javaweb】【Session】记录用户访问时间
效果
Servlet
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
import java.io.IOException;
import java.util.Date;
@WebServlet(name = "Login", value = "/login")
public class ServletLogin extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
HttpSession st =request.getSession();
if(st.getAttribute("LoginTime")==null){
response.getWriter().println("首次登陆");
}else{
response.getWriter().println("上次登陆时间 | "+request.getSession().getAttribute("LoginTime"));
}
st.setAttribute("LoginTime", new Date());
st.setMaxInactiveInterval(60*60);
response.getWriter().println("<br/>现在登陆时间 | "+request.getSession().getAttribute("LoginTime"));
}
}
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
import java.io.IOException;
import java.util.Date;
@WebServlet(name = "Login", value = "/login")
public class ServletLogin extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
HttpSession st =request.getSession();//获取Session
if(st.getAttribute("LoginTime")==null){//判断是否有需要的内容
//如果为null,说明是首次访问
response.getWriter().println("首次登陆");
}else{
//如果不为null,说明访问过了
response.getWriter().println("上次登陆时间 | "+request.getSession().getAttribute("LoginTime"));//通过request获取上次访问时间
}
st.setAttribute("LoginTime", new Date());//记录这次新的访问时间
st.setMaxInactiveInterval(60*60);//设置Session有效时间 单位为秒
response.getWriter().println("<br/>现在登陆时间 | "+request.getSession().getAttribute("LoginTime"));
}
}
JSP
<%--
Created by IntelliJ IDEA.
User: xrilang
Date: 28/12/2021
Time: 10:43
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<a href="${pageContext.request.contextPath}/login">go</a>
</body>
</html>
参考
【javaweb】【Session】记录用户访问时间的更多相关文章
- JS+Ajax+Servlet:记录页面访问时间
1.前端JS记录页面访问时间 1.1JQuery版本: <script type="text/javascript" src="js/jquery.min.js&q ...
- spring security实现记录用户登录时间等信息
目录 spring security实现记录用户登录时间等信息 一.原理分析 二.实现方式 2.1 自定义AuthenticationSuccessHandler实现类 2.2 在spring-sec ...
- js记录用户访问页面和停留时间
1.setInterval setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval(code,millisec[,"lang" ...
- JavaWeb案例:上次访问时间 Cookie技术
package cn.itcast.access; import javax.servlet.ServletException; import javax.servlet.annotation.Web ...
- Java 利用监听器来实现记录用户访问网站次数
假如有这么一个需求,要记录所有用户访问某一页面的次数. 最先想到的可能是在该Controller定义一个静态成员,然后在相应Action里自增.但这样有一个问题,就是Tomcat或者其他服务器重启的话 ...
- Cookie 记录最后访问时间
package cn.gs.ly.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.D ...
- PPTP-VPN日志功能,记录用户登录时间,流量统计,IP地址等信息
我们先看两个文件 /etc/ppp/ip-up /etc/ppp/ip-down 这两个文件为shell脚本,当PPTP用户连接或者断开时分别执行这两个文件,并且会带相应的参数 这些参数有 $PEER ...
- Cookie之记录用户上次访问时间
Cookie之记录用户访问时间 需求: 需求: 1:用户访问服务器(Servlet),判断用户是否是第一次访问,如果是第一次访问,则在页面响应内容为:"您好,欢迎您首次访问"; 2 ...
- Servlet案例6:显示用户的上次访问时间
这里是cookie的简单应用 告诉用户您的上次访问时间是:xxxx-xx-xx xx:xx:xx 思路: 第一次访问该网站时候,记录当前访问时间(new Date()) 把当前时间以cookie的形式 ...
- Cookie 获取访问时间
服务器将客户端需要缓存的数据,发送到客户端,客户端保存在本地的这些缓存数据就是Cookie.区别于Session. 获取用户访问时间代码: response.setCharacterEncodin ...
随机推荐
- union联合体的缺陷
传统的 union 联合体在 C++ 中虽然提供了一种能够在相同的内存空间内存储多种不同类型的方式,但它也有一些显著的缺陷和限制.这些缺陷让 union 的使用不太安全,尤其是在复杂的程序中.以下是传 ...
- thinkphp在原字段上面进行加减操作
经常有需要对某个数据表的计数字段进行加减操作,我们来看下在ThinkPHP中的具体使用办法. 最简单的,使用下面方法对score自加,第二个参数也可以不要,默认加1: M('User')-> ...
- USB协议详解第4讲(USB描述符-标准配置描述符)
1.USB描述符 USB描述符有设备描述符.标准配置描述符.接口描述符.端点描述符.字符串描述符,HID设备有HID描述符.报告描述符和物理描述符.今天主要是学习USB标准配置描述符的组成. 2.标准 ...
- 深入理解Java并发读写锁——ReentrantReadWriteLock
ReentrantReadWriteLock使用场景 ReentrantReadWriteLock 是 Java 的一种读写锁,它允许多个读线程同时访问,但只允许一个写线程访问(会阻塞所有的读写线程) ...
- 云原生周刊 | 让 ChatGPT 以电子邮件的方式来解释 KubeSphere
过去的一周是 ChatGPT 的狂欢,我猜每一位云原生玩家都很好奇他是如何看待 Kubernetes 的.咱们不防换个方式来提问,让它使用电子邮件的方式来向别人推荐 KubeSphere 和 Open ...
- 修复一个kubernetes集群
前几天有个朋友把他们的kubernetes集群搞挂了,让我帮忙恢复一下,由于很多现场都没有了,这里提供一下解决思路. 环境问题 该环境有一个master节点,即控制面pod(etcd.schedule ...
- 去哪儿旅行携手 HarmonyOS SDK | 告别繁琐,常用信息秒级填充
背景 去哪儿旅行作为行业内领先的一站式在线旅游平台,多年来在日益加剧的市场竞争中积极寻求创新,凭借其优质的服务深受消费者青睐.2024年,去哪儿旅行适配HarmonyOS NEXT版本, 升级用户服务 ...
- att&ck学习笔记1
一.环境搭建 1.1环境搭建测试 最近想要开始学习内网渗透,搜集了一些教程,准备先实验一个vulnstack靶机,熟悉一下内网渗透操作再学习基础知识. 靶场下载地址:http://vulnstack. ...
- 电脑端 itunes 备份保存路径修改方法
默认在c盘,重做系统就会丢失. 1.先删除C:\Users\你的用户名\AppData\Roaming\Apple Computer里的 MobileSync文件夹(首次安装iTunes没有,要先运行 ...
- php日志分割
为了方便查看php错误日志信息,将php的日志按照时间进行分割,器脚本如下 phpPid='/usr/local/webserver/php-5.3.27/var/run/php-fpm.pid' p ...