JSP作业5之request对象的使用
2019.4.4
上一个学了一点request对象,session作为对用户信息保存的补充吧。
基础知识
准确的是:
HTTP协议是一种无状态(无连接,尽力而为,请求了响应返回后链接关闭)的协议,当一个客户端向服务器发出请求,服务器接受请求并返回响应后,该连接就被关闭了,此时服务器不保留连接的有关信息。(就是想要一下客户端的ID什么的都没有了的意思吧)
JSP提供了session
对象,这样服务器和客户端的连接就会一直保持下去,但是在一定时间内(系统默认在30min内),如果客户端不向服务器发出应答请求,session
对象就会自动消失(连接又关闭啦?)。当然编写程序时可以修改这个限定值,使得session
对象可以在特定时间内保存信息(一般信息请求头状态什么的,或者是自己设定的)。
操作属性名时的双引号!不要丢了
- 创建及获取客户的会话
内置对象session
使用setAttribute()
和getAttribute
方法创建和获取客户的会话。
(1)使用setAttribute()
方法用于设置指定名称的属性值,并将其存储在session
对象中(用于获取修改输出)。其语法格式:
session.setAttribute(String name,Object value);
参数:name为属性名称,value为属性值(可以是类,也可以是值)
(2)使用getAttribute()
方法用于获取与指定属性名name相联系的的属性值,返回值为Object
类型(所以可能需要转换为String
或者Integer
类型)。其语法格式:
session.getAttribute(String name);
示例:session中属性的保存与获取
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
session.setAttribute("information","向session中保存数据");
response.sendRedirect("forward.jsp");
%>
forward.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<% out.print(session.getAttribute("information"));
%>
- 使用
removeAttribute()
方法将指定名称的对象移除,即从这个会话中删除与指定名称绑定的对象。其语法格式:
session.removeAttribute(String name);
示例:删除session
对象中的属性
index.jsp
<