JavaWeb新闻发布系统案例4

本文介绍了JavaWeb中的会话管理,包括会话的概述、功能、生命周期,以及常见的会话技术——Cookie和Session。详细阐述了Cookie的生命周期、常用方法及其安全性问题,同时对比了Cookie与Session的区别。最后,讨论了如何在后台登录界面中应用这些知识,以实现代理管理功能。
摘要由CSDN通过智能技术生成

                           会话管理

 

会话概述
        双方的交流或交互,计算机中也是,浏览器和服务器的交互称之为会话。
        一次会话中包含多次请求和响应
    会话功能
        在一次会话的范围内的多次请求间,共享数据
        功能:
            限制页面的访问(后台的页面在非登录的情况下是不能进行访问的)
            临时的存储数据,在多次请求之间进行数据共享
            记住密码,自动登录,7天免登陆等等
    生命周期
        开始
            浏览器访问服务器那一刻会话开始
        结束
            浏览器或服务器一方中断时结束
        注意事项:服务器一般处于持续运行状态,因此会话结束一般是浏览器关闭引起的。
    会话技术
        最常见方案:数据库存储
        将数据存储到Cookie:数据由浏览器保存
        将数据存储到session:数据由服务器保存
cookie
概述
    (1)用来存储客户端的一小段文本
    (2)是一门客户端的技术,将数据保存到客户端;因为cookie是存储在客户端浏览器中的
    (3)是为了实现 客户端与服务器端之间的状态的保持
    (4)cookie技术,不安全,不要使用cookie存储敏感信息!比如登录状态和登录信息;
    (5)一些敏感的数据 应该存储在服务器端
常用方法
    void setMaxAge(int e);
    ** 设置Cookie有效期,单位秒,正数为多少秒后失效;负数表示当浏览器关闭时,Cookie将会被删除(争议);零表示清空Cookie
    int getMaxAge();
    ** 获取Cookie有的效时间,单位秒
    void setValue(String value);
    ** 在Cookie创建后,对Cookie进行赋值
    String    getValue();
    ** 获取Cookie的值
    String    getName();
    ** 获取Cookie的名称
     Cookie[]    getCookies();
    ** 获取Cookie中所有的属性名
使用方式
    (1)创建Cookie对象,绑定数据(在服务器端获取指定数据通过cookie保存)
    ** Cookie cookie = new Cookie(key,value);
    (2)发送Cookie对象(从服务端---》客户端)
    ** response.addCookie(cookie)
    (3)获取Cookie,获取数据
    ** Cookie [] cookies = request.getCookies()
注意事项
    编码 URLEncoder.encode("字符串","utf-8");
    解码 URLDecoder.decode("字符串","utf-8");

 


<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>cookie</title>
</head>
<body>
<!-- Cookie存储的基本使用 -->
	<!-- 	
			(1)创建Cookie对象,绑定数据(在服务器端获取指定数据通过cookie保存)
				** Cookie cookie = new Cookie(key,value);
			(2)发送Cookie对象(从服务端---》客户端)
				** response.addCookie(cookie)
			(3)获取Cookie,获取数据
				** Cookie [] cookies = request.getCookies()
				
				
		注意事项:
			如果通过cookie进行保存数据时,数据中含有特殊的字符:空格,@&*等等
			需要进行编码和解码	
				编码 URLEncoder.encode("字符串","utf-8");
				解码 URLDecoder.decode("字符串","utf-8");	
	 -->
	 
	 <%
	 	//1.创建Cookie 保存用户名   键值对的形式
	 	Cookie cookieUsername = new Cookie("username",URLEncoder.encode("李小香", "utf-8")); 
	 	//2.通过response响应对象发送的浏览器客户端进行保存
	 	response.addCookie(cookieUsername);
	 
	 %>
</body>
</html>

<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值