web jsp第3天(session失效,cookie,application,数据库连接)
一,session失效的三种方式
(1)setMaxInactiveInterval(时间):设置session以秒为单位失效
(2)session.invalidate():立即失效(通常是用在注销按钮上)
(3)web.xml文件中配置(web项目中的核心配置文件)设置session以分钟为单位失效
二,cookie:依赖浏览器的一个作用域
cookie和session的区别
(1)session是存在服务端的,而cookie是存在客户端(服务器本地)
(2)cookie不安全,session安全,可以通过分析本地的cookie数据进行cookie欺骗
(3)session是依赖于cookie工作的,如果浏览器禁用了cookie,则session也不可用
(4)cookie中存放的是字符串,而session中的是对象
(5)cookie中存放的内容都是字符串,而session中的是object对象
web项目中更改代码,发现访问浏览器的时候没有生效,需要进行的操作:
(1)清除tomcat中的缓存:选中tomcat右键==>clean
(2)清除浏览器的缓存:打开浏览器使用快捷键:ctrl+shift+delete
使用cookie保存用户名代码
//使用cookie保存用户名
//1,创建cookie对象
Cookie coo=new Cookie("name",name);
//2,设置cookie访问的路径(设置路径,可以只让特定的页面才能使用该cookie)
coo.setPath("/");//表示只要是当前项目中的页面都能使用cookie
//3,设置cookie的生命周期(以秒为单位)
coo.setMaxAge(1800);
//4,将cookie添加到响应对象中
response.addCookie(coo);
从cookie中获取用户名代码
//从cookie中获取用户名
Cookie[]coos= request.getCookies();
String name=null;
if(coos!=null && coos.length!=0)
{
//遍历cookie数组
for(int i=0;i<coos.length;i++){
out.print(coos[i].getName());
//判断cookie中的名字是否是"name"
if("name".equals(coos[i].getName()))
{
//获取cookie中的值
name=coos[i].getValue();
}
}
}
统计页面访问次数:application
application:相当于是一个全局变量,所有的用户共享,只要服务器不断开,这个作用域会一直存在
数据库连接
包说明
util:通常是用来放共通类的(共通类:其他地方很用可能重复使用的代码,统一放到某些java文件下面,而这些文件都是放到该包下面)(如BaseDao.java)
entity/pojo:专门存放实体类的包,实体类就是对应数据库表字段的(实体类,get()set()toString()方法)
dao:专门存放操作数据库的接口和实现类
service:业务逻辑层,负责只会dao层干活的(操作数据库的)
servlet:不做任何业务处理的,只负责获取请求,然后进行页面跳转
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?