JavaWeb之会话管理和应用

session

session在网络应用中称为“会话控制”,是服务器为了保存用户状态而创建的一个特殊的对象。简而言之,session就是一个对象,用于存储信息。 

 session的存储
        session类似于一个Map,里面可以存放多个键值对,是以key-value进行存放的。key必须是一个字符串,value是一个对象。

session底层原理
        session是每一个游览器(客户端)所唯一的,其实,在访问一个网站时,在HTTP请求中往往会携带一个cookie,这个cookie的名字是JSESSIONID,这个JSESSIONID表示的就是session的id,这个是由服务器创建的,并且是唯一的。服务器在使用session时,会根据JSESSIONID来进行不同操作。

session常用方法

  • resquest.getSession():得到请求游览器(客户端)对应的session。如果没有,那么就创建应该新的session。如果有那么就返回对应的session
  • setAttribute(String s, Object o):在session存放属性
  • getAttribute(String s):从session中得到s所对应的属性
  • removeAttribute(String s):从session中删除s对应的属性
  • getId():得到session所对应的id
  • invalidate():使session立即无效
  • setMaxInactiveInterval(int i):设置session最大的有效时间。

HTTP协议(无状态的通信协议)

HTTP(Hyper Text Transfer Protocol): 全称超文本传输协议,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。

  1. 浏览器和服务器之间使用的是HTTP请求来进行数据传输
  2. HTTP协议是无状态的,每次浏览器向服务器请求时,服务器都会将该请求视为新的请求
  3. HTTP协议设计成无状态的目的是让每次请求之间相互独立,互不影响
  4. 请求与请求之间独立后,就无法实现多次请求之间的数据共享

工作过程:当我们在浏览器输入一个网址,此时浏览器就会给对应的服务器发送一个 HTTP 请求,对应的服务器收到这个请求之后,经过计算处理,就会返回一个 HTTP 响应。并且当我们访问一个网站时,可能涉及不止一次的 HTTP 请求和响应的交互过程。

会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。

  1. 从浏览器发出请求到服务端响应数据给前端之后,一次会话(在浏览器和服务器之间)就被建立了
  2. 会话被建立后,如果浏览器或服务端都没有被关闭,则会话就会持续建立着
  3. 浏览器和服务器就可以继续使用该会话进行请求发送和响应,上述的整个过程就被称之为会话。

客户端会话跟踪技术:Cookie存储在浏览器端

服务端会话跟踪技术:Session存储在服务器端

JSTL标签

JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

在JSP文件开头使用

<!--在页面导入jstl的核心类库 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

EL表达式

Expression Language 表达式语言,常用于取值。

EL表达式是通过$ {} 从作用域对象中自动获取数据,如果是对象可以通过,访问其属性

<h2>欢迎来自${user.address}的${user.username}来到主页!</h2>

 EL表达式多用于取值操作,而JSTL则可以方便我们对集合进行遍历,对数据进行判断等操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值