JSP入门之cookie、session、application

本文深入探讨了Cookie、Session和Application在Web开发中的应用与区别。Cookie用于保存用户信息和独立访客统计,Session记录在线人数并保存于服务器,而Application用于全局访问计数,三者各司其职,共同构建了网站的会话管理和数据持久化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie

多数用来保存用户的账号,以及一些用户的浏览痕迹
 
new一个cookie
"userName"是这个cookie的名字,userName是你要保存的用户名
Cookie cookie = new Cookie(“userName”,userName);
注意:cookie的key-value只能保存String类型
 
将cookie添加到浏览器
response.addCookie(cookie);
 
获取cookie
request.getCookies(); //返回的是cookie的数组

Cookie练习——登录成功时,第二次登录页面中自动填写用户名
登录验证页面

<%
	
	Cookie cookie = new Cookie("cu_name",cu_name);//用cookie保存cu_name
	response.addCookie(cookie);//将cookie添加到浏览器
%>

登录页面

<%
<html>
<head>
<meta charset="UTF-8">
<title>登录界面</title>
</head>
<%
//先将cu_name设置为""字符,避免第一次登录时cookie为null
String cu_name = "";
//从浏览器中获取cookies
Cookie[] cs = request.getCookies();
//判断cs数组是否为空,即数组中有没有cookie存在
if(cs!=null && cs.length>0){
	//不为空则遍历cs数组  找到你添加的cookie
	for(int i=0;i<cs.length;i++){
		if("cu_name".equals(cs[i].getName())){
			//找到cookie后将cookie保存的值赋值给cu_name
			//并在下面的html的input中直接填入
			cu_name = cs[i].getValue();
		}
	}
}
%>
<body>
<form action="login.jsp" method="post">
//直接填入获取到的cu_name值
账号:<input type="text" name="cu_name" value="<%=cu_name%>"/><br/>
密码:<input type="password" name="cu_phone" /><br />
<input type="submit" value="登录" /><br />
</form>
</body>
</html>

session

在一个会话过程中存在一个唯一的sessionid,用来标识这一次会话(在关闭浏览器时,再次打开会重新生成一个sessionid),session保存的数据在服务器上,重新开始会话时,数据不会消失
使用session保存数据
session(String str,Object o);
注意:session和cookie不同,cookie是保存在客户端的,所以只能使用String类型保存到文本中,但是session是保存在服务器上的,那么就可以保存对象

//用session保存一个cu_name数据
session.setAttribute("cu_name",cu_name);
//通过getAttribute方法来获取名字为cu_name的session所保存的数据
session.getAttribute("cu_name");

application

用于统计网页的访问数量,用它保存的数据在整个Web项目中都可以使用
注意:由于他也是保存在服务器上,但是不会和session一样在浏览器关闭后清除,并且所有浏览器都可以访问,所以application非常占用内存,不建议使用

//用application制作网页访问数量的统计
int count = 1;  //设置初始值
//判断有没有用application保存过count数据
if(application.getAttribute("count")==null){
	 //假如没有保存过(即 第一个访问该页面的人),那么保存该数据
	application.setAttribute("count",count);
}else{
	//假如不是第一个访问该页面的人
	count++;  //访问数量++
	//将更新后的访问数量重新保存给count
	application.setAttribute("count",count);  
}
//在html代码中输出count  即可完成对页面访问数量的统计

cookie、session、application三者的用途和区别总结

cookie主要用于保存用户账户信息,用于统计独立访客数量
session用于统计当前时间的在线人数
application用于统计页面的访问数量
 
cookie保存在客户端,用户可以手动清除
session保存在服务器,但是在一个会话结束之后,就会换一个session id来唯一标识本次会话,上一次会话的数据保存在服务器,并不会清除
application保存在服务器,且不同的浏览器都能访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值