jsp操作session
session代表一次用户会话,一次会话就是:从客户端浏览器连接服务器开始,到浏览器与服务器断开为止,就称为一次会话。
session通常用户跟踪用户会话信息,如判断用户是否登录,或者在购物车应用中,用于跟踪用户购买的物品等。session范围内的属性可以在多个页面的跳转之间共享,一旦浏览器关闭,session就结束了。java中session对象是HttpSession的实例。
下面是一个完整的例子:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <form action="first.jsp"> 书籍:<input type="checkbox" name ="item" value="book" > 电脑:<input type="checkbox" name ="item" value="computer"> 汽车:<input type="checkbox" name ="item" value="car"> <input type="submit" value="提交"> </form> </body> </html>
那个面表格提交的处理如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@ page import="java.util.*" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <% Map<String,Integer> itemMap = (Map<String,Integer>)session.getAttribute("itemMap"); if(itemMap == null) { itemMap = new HashMap<String,Integer>(); itemMap.put("书籍", 0); itemMap.put("电脑", 0); itemMap.put("汽车", 0); } String[] buys = request.getParameterValues("item"); for(String str:buys) { if(str.equals("book")) { int num = itemMap.get("书籍").intValue(); itemMap.put("书籍", num+1); }else if(str.equals("computer")) { int num = itemMap.get("电脑").intValue(); itemMap.put("电脑", num+1); }else if(str.equals("car")) { int num = itemMap.get("汽车").intValue(); itemMap.put("汽车", num+1); } } session.setAttribute("itemMap", itemMap); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> // 您所购买的物品:<br> 书籍:<%=itemMap.get("书籍") %>本<br> 电脑:<%=itemMap.get("电脑") %>台<br> 汽车:<%=itemMap.get("汽车") %>辆<br> </body> </html>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。