标签:
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>
标签:
原文地址:http://www.cnblogs.com/duhuo/p/4246655.html