JSP的9个内置对象-session
session代表一次用户会话,其含义是:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开为止,这个过程就是一次会话。
session通常用于跟踪用户的会话信息,如判断用户是否登录系统,或者在购物车应用中,系统是否跟踪用户购买的商品等。
session里的属性可以在多个页面的跳转间共享。一旦关闭浏览器,即session结束,session里的属性将全部清空。
session对象的两个常用方法如下:
setAttribute(String attName, Object attValue): 设置一个session属性
getAttribute(String attName):返回一个session属性的值。
下面演示了一个模拟购物车应用。shop.jsp是商品陈列页面,页面里有一个表单,表单里包含3个复选按钮,用于提交想购买的物品。其代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<HTML>
<BODY>
<FORM METHOD=POST ACTION="ProcessBuy.jsp">
book:<INPUT TYPE="checkbox" NAME="item" value="book"><br>
computer:<INPUT TYPE="checkbox" NAME="item" value="computer"><br>
car:<INPUT TYPE="checkbox" NAME="item" value="car"><br>
<INPUT TYPE="submit" value="buy">
</FORM>
</BODY>
</HTML>
其运行结果截图如下:
ProcessBuy.jsp页面处理以上表单。利用购物车系统可以反复购买,只要不关闭,购买的物品信息就不会丢失。ProcessBuy.jsp的代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" %>
<%
//从session对象中取出
Map<String,Integer> itemMap=(Map<String,Integer>) session.getAttribute("itemMap");
//如果Map对象为空,则初始化Map对象
if(itemMap==null)
{itemMap=new HashMap<String,Integer>();itemMap.put("book",0);itemMap.put("computer",0);itemMap.put("car",0);
}
//获取上个页面的请求参数
String[] buys=request.getParameterValues("item");
//遍历数组的各元素
for(String item : buys)
{if(item.equals("book")){int num1=itemMap.get("book").intValue();//将book对应的数量加1itemMap.put("book",num1+1);}else if(item.equals("computer")){int num2=itemMap.get("computer").intValue();itemMap.put("computer",num2+1);}else if(item.equals("car")){int num3=itemMap.get("car").intValue();itemMap.put("car",num3+1);}
}
//将itemMap对象放到session中
session.setAttribute("itemMap",itemMap);
%>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<HTML>
<BODY>
The things you choose:<br>
book:<%=itemMap.get("book")%><br>
computer:<%=itemMap.get("computer")%><br>
car:<%=itemMap.get("car")%><br>
<a href="shop.jsp">choose again</a>
</BODY>
</HTML>
选中shop.jsp页面中的所有复选框,截图如下:
点击buy按钮后,页面自动跳转到ProcessBuy.jsp,显示用户已选中的各类商品数量。截图如下:
点击“choose again“按钮,跳转回shop.jsp页面,用户可以接着选择要购买的商品。之前选择的商品在关闭浏览器之前都不会消失(关闭页面也不会消失)。截图如下:
这一次,选中前两个复选框book和computer,点击buy按钮,结果截图如下:
JSP的9个内置对象-session相关推荐
- JSP的9个内置对象(隐含对象)
JSP的9个内置对象(隐含对象) JSP内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员声明即可使用. 9个内置对象如下: page:代表当前JSP页面 request ...
- JavaWeb——内置对象session与httpSession对象是同一个东西么?
JavaWeb--内置对象session与httpSession对象是同一个东西么? 首先,内置对象session与httpSession对象不是同一个东西 session和HttpSession是不 ...
- JSP内置对象Session——setAttribute/getAttibute/removeAttribute
本文章代码使用了request内置对象,可先查看之前的文章学习. 前言 一.Session使用环境 二.常用方法 三.使用示例 1. 设计某系统登陆模块,该模块需满足以下条件: 2.login.jsp ...
- jsp的9个内置对象
Jsp提供了request.response.session.application.out.page.config.exception.pageContext9个内置对象.1. Request Re ...
- JSP的9个内置对象-application
JSP页面中包含9个内置对象,这9个内置对象都是Servlet API的类或者接口的实例,只是JSP规范将它们完成了默认初始化,即它们已经是对象,可以直接使用. application:javax.s ...
- Java Web学习总结(16)——JSP的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- JSP页面元素,内置对象及request详解
JSP的页面元素: a. 脚本Scriptlet 1.<% 局部变量,Java语句 %> 2.<%! 全局变量,定义方法 %> 3.<%= 输出表达式 %> 一般而 ...
- jsp内置对象------session
session对象 JSP利用servlet提供的HttpSession接口来识别一个用户,存储这个用户的所有访问信息. 默认情况下,JSP允许会话跟踪,一个新的HttpSession对象将会自动地为 ...
- jsp内置对象*session
session对象 基本概念: 指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止.它是HttpSession类的实例. ...
最新文章
- 【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 动态注册广播接收者监听耳机插拔事件 | 重新打开 Oboe 音频流 )
- 网站性能优化之HTTP请求过程简述!
- React Native开发学习笔记——常用命令
- 很全的sas基础知识
- eclipse+ADT 进行android应用签名详解
- Scala与Java混编译:java日志不打印的问题
- pymssql的简单使用
- 使用SQLite数据库存储数据(4)-删除数据记录
- 14. Element className 属性
- A88xm-plus 主板采用Clover实现 m2 固态硬盘启动
- COMSOL仿真分析视频教程
- 揭晓网站建设对于企业发展的重要作用
- 计算机usb接口不工作原理,电脑usb接口不能用,详细教您电脑usb接口不能用怎么办...
- 【车道线检测论文阅读笔记——经典论文粗读汇总】
- 适用于Win和Mac的专业电脑数据恢复软件EasyRecovery易恢复14
- TiDB监控pd面板显示:Region Health: empty-regin-count很多,怎么回收empty-regin?
- OA系统中如何实现合同管理?
- 分布式技术原理与实战45讲--05 第05讲:共识问题:区块链如何确认记账权?
- 面试题:写两个线程,一个线程打印1~26,另一个线程打印字母A-Z,交替打印数字和字母
- 【Mysql系列】用sql求中位数
热门文章
- 有趣的编程代码_iPad amp; Mac 编程游戏推荐
- HTML+CSS+JS实现 ❤️动态散花背景❤️
- 《springcloud超级入门》微服务的概念和优缺点《一》
- JAVA 从菜鸟成长为大牛的必经之路
- config设置源 使用pip_python pip源配置
- mysql timestamp排序_对多个表进行排序MYSQL TimeStamp
- c语言sin函数返回nan,C语言入口函数和LD_PRELOAD环境变量
- python递归查找_[Python]递归查找文件(最简洁)
- antd table排序 vue_antd of Vue 之table组件踩坑记
- 我的Go+语言初体验——(1)超详细安装教程