
web学习(三)
发布日期:2021-05-07 03:09:19
浏览次数:16
分类:精选文章
本文共 1703 字,大约阅读时间需要 5 分钟。
Web学习(三):会话技术与JSP入门
1. 内容简介
本篇内容接上篇,本次将深入探讨会话技术的核心实现——Cookie、Session以及JSP的入门学习。
2. 会话技术
会话技术是Web应用中核心的交互机制,描述了客户端与服务器之间的请求响应过程。其本质类似于人与人之间的交谈,通过多次请求和响应共享数据,直到会话终止。
2.1 会话特点
- 一次会话包含多次请求和响应
- 会话从浏览器的第一次请求开始,直到断开连接为止
2.2 会话功能
在一次会话的范围内,多次请求间共享数据,实现数据的高效传递。
2.3 会话方式
- 客户端:Cookie
- 服务器端:Session
3. Cookie
Cookie是一种客户端会话技术,用于在浏览器中存储数据。其基于HTTP协议中的Set-Cookie和Cookie头实现。
3.1 Cookie概念
Cookie将客户端的数据保存在浏览器,方便服务器在多次请求间重复使用。
3.2 Cookie快速入门
- 创建Cookie对象:
new Cookie(name, value)
- 发送Cookie:
response.addCookie(cookie)
- 获取Cookie:
request.getCookies()
3.3 Cookie实现原理
Cookie通过Set-Cookie响应头和Cookie请求头实现数据存储和传输。
例如:- Set-Cookie: msg=hello
- Cookie: msg=hello
3.4 Cookie细节
- 多个Cookie:可创建多个Cookie,通过
response.addCookie
发送。 - 存活时间:通过
setMaxAge
设置,默认关闭时删除。 - 存储中文:在Tomcat 8及以上支持中文,需URL编码存储。
- 共享问题:通过
setPath
和setDomain
实现跨域或多服务器共享。
3.5 Cookie特点
- 数据存储在客户端浏览器中
- 存储限制:单个Cookie大小不超过4KB,同域名下总数不超过20个
4. JSP入门
JSP(Java Server Pages)是一种服务器端动态页面技术,结合HTML与Java代码实现动态网页生成。
4.1 JSP概述
JSP允许开发者在页面中嵌入静态HTML与动态Java代码,简化开发流程。
4.2 JSP原理
JSP文件在服务器上被转换为对应的Servlet类,通过HTTP协议与客户端交互实现动态响应。
4.3 JSP脚本
<% Java代码 %>
:定义在service方法中<%! Java代码 %>
:定义为JSP转换后的Java类的成员变量<%= Java代码 %>
:输出到页面
4.4 JSP内置对象
request
:获取客户端请求参数response
:控制响应输出out
:字符输出流,类似response.getWriter()
4.5 JSP案例
通过一个登录页面案例,展示JSP在动态网页生成中的应用场景。
5. Session
Session是一种服务器端会话技术,用于在一次会话中多次请求间共享数据,数据存储在服务器端对象中。
5.1 Session概述
Session通过HTTP协议的会话机制实现,类似于Cookie但数据存储在服务器端。
5.2 Session快速入门
- 获取Session:
HttpSession session = request.getSession()
- Session方法:
getAttribute
、setAttribute
、removeAttribute
5.3 Session原理
Session依赖于Cookie实现,通过设置JSESSIONID Cookie存储Session ID。
5.4 Session细节
- Session的钝化与活化:服务器关闭前将Session数据序列化存储,启动时恢复
- Session失效:通过
invalidate()
方法或服务器关闭
5.5 Session特点
- 数据存储在服务器端
- 无大小限制
- 数据安全性较高
6.案例:登录验证
通过一个登录页面案例,展示Session在用户认证中的应用场景。
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月23日 21时05分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux -- ubuntu修改IP地址、网关、dns
2025-04-05
Linux ---> 简单socket
2025-04-05
Linux -chattr -隐藏权限(附加权限)
2025-04-05
Linux /dev/sda3 100%解决
2025-04-05
Linux /dev目录设备文件
2025-04-05
linux 2.6 驱动笔记(一)
2025-04-05
linux 2017-12-11 第1周第1次课 学习笔记
2025-04-05
Linux 27岁了!这 27 件相关的有趣事实你可能不知道
2025-04-05
Linux 6 常用工具设置方法
2025-04-05
Linux 6 集群 日志,loganalyzer部署文档-(第一部分)
2025-04-05
linux 6.2yum问题
2025-04-05
linux abrt的用法
2025-04-05
Linux ACL权限管理
2025-04-05
linux ACL权限,设定,删除
2025-04-05
linux andorid studio创建快捷健
2025-04-05
Linux API的fork()测试
2025-04-05
linux awk命令详解
2025-04-05
linux awk命令详解2
2025-04-05