All posts by 龙生
History 对象的pushState()和replaceState()
开发过程中会遇到,要修改当前的url,但是不能让浏览器从新发起请求或者刷新,这个时候就需要用到window.history
总结:
pushState()方法是在历史记录中增加一条新的记录;
replaceState()方法是将当前的历史记录给替换掉,传说中的夺舍重生!
Java 中使用 Session 对象(以登录、退出功能为例)
一、创建 Session(登录功能) 使用 session.setAttribute(value, key) 保存 key 属性的值 value
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@RequestMapping("/login") public String login(String username, String password, HttpSession session) { // 验证账号密码是否错误 if(username != "张三" || password != "123") { // 账号或密码错误,返回登录页面 return "/login"; } // 保存用户信息到 session 对象 session.setAttribute("username", username); // 登录成功,进入首页 return "/home" } |
二、读取 Session 前端获取 Session 值
1 |
<p>[[${session.username}]]</p> |
后端获取 Session 值
1 |
session.getAttribute("username"); |
三、清除 Session(退出登录) 使用 session.invalidate() 清除 session 存储的值
1 2 3 4 5 6 7 |
@RequestMapping("/logout") public String logout(HttpSession session, Model model) { // 清除session session.invalidate(); // 重定向到登录页 return "redirect:/login"; } |
from:https://www.cnblogs.com/whbg/p/18473263
View DetailsWeb中如何解决退出后浏览器后退进入访问页面的问题?
// 不对页面进行缓存,再次访问时将从服务器重新获取最新版本
response.setHeader("Cache-Control","no-cache");
// 任何情况下都不缓存页面
response.setHeader("Cache-Control","no-store");
// 使缓存过期
response.setDateHeader("Expires", 0);
// HTTP 1.0 向后兼容
response.setHeader("Pragma","no-cache");
十一,Spring Boot 当中配置拦截器的“两”种方式
注意:配置了拦截器的话,图片之类的一些静态资源的访问以及一些文件上传下载,也是要注意放行的,已经视图解析器也是放行的,要放行视图的内容,因为上面是addPathPatterns("/**") // 拦截所有的请求拦截所有,注意不要: templates ,因为sprinboot的默认配置,就是以templates为根路径往下找的,所以再添加 templates 就错了,就成了 /templates/templates/images 了。
View Details【JavaEE初阶系列】——Cookie和Session应用之实现登录页面
//3.登录成功了,给这个用户创建一个会话出来
//可以给会话中保存一些自定义的数据,通过Attribute的方式来保存
HttpSession session=req.getSession(true);
//此处Attribute也是键值对,这里的内容存储什么都可以,程序员自定义
//这样的数据存储了之后,后续跳转到其他页面,也随时可以把这个数据从会话中取出来
session.setAttribute("username",username);
session.setAttribute("loginTime",System.currentTimeMillis());
//此时相当于登录成功了,让页面跳转到网站首页
resp.sendRedirect("index");
SpringBoot集成Session详解
Session是一个在Web开发中常用的概念,它表示服务器和客户端之间的一种状态管理机制,用于跟踪用户在网站或应用程序中的状态和数据。
View Details使用Docker安装MySQL
docker pull mysql:5.7
sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
Docker 安装 LogStash的详细过程
Logstash,作为Elastic Stack家族中的核心成员之一,是一个功能强大的开源数据收集引擎。它专长于从各种来源动态地获取、解析、转换和丰富数据,并将这些结构化或非结构化的数据高效地传输到诸如Elasticsearch等存储系统中进行集中分析和可视化展现。在本文中,我们将详细介绍如何借助Docker容器技术快速安装配置Logstash,以实现日志及各类事件数据的无缝集成与实时处理。
View DetailsDocker 部署 RocketMQ
1.拉取RocketMQ镜像
2.创建容器共享网络
3.启动NameServer
4.启动 Broker+Proxy
5.SDK测试消息收发
6. 停止容器
Configure NGINX Proxy for MinIO Server
The following documentation provides a baseline for configuring NGINX to proxy requests to MinIO in a Linux environment. It is not intended as a comprehensive approach to NGINX, proxying, or reverse proxying in general. Modify the configuration as necessary for your infrastructure. This documentation assumes the following: An existing NGINX deployment An existing MinIO deployment A DNS hostname which uniquely identifies the MinIO deployment There are two models for proxying requests to the MinIO Server API and the MinIO Console: Create or configure a dedicated DNS name for the MinIO service. For […]
View Details