本文共 3980 字,大约阅读时间需要 13 分钟。
Session是基于cookie的一种绘画机制,cookie是服务器返回一小份数据到客户端,并且存放在客户端中去,session是将数据存放在服务器端
1.得到session值
HttpSession session = request.getSession(); 2.常用的方法 获取会话的id:session.getId(); 存值 :session.setAttribute(name,value); 取值:session.getAttribute(name); 移除值:session.removeAttribute(name); 3.session的生命周期 从创建request.getSession()创建开始 从关闭服务器就结束了。一般就只有30分钟的有效期4.创建一个购物车对象
方法: 1.登录页面<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>Insert title here 手机一号
手机二号
手机三号
手机四号
2.登陆跳转处理
package com.servlet;import java.io.IOException;import java.util.LinkedHashMap;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class CarServlet */public class CarServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public CarServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.设置编码格式 response.setContentType("text/html;charset = utf-8"); //2.获取到对应的id int id =Integer.parseInt( request.getParameter("id")); //0.1.2.3 //取到对应的id的值 String[] names = {"手机一","手机二","手机三","手机四",}; //取到对应的id的商品的名称 String name = names[id]; //3.将购物车的信息存放到session中去 mapMap map = (Map ) request.getSession().getAttribute("cart"); /* 第一次调用的时候,map为空 就new一个map 存到session中去 但是第二次就不走这个步骤了 */ if(map ==null) { //购物车为空的时候 session中没有任何东西哦 map = new LinkedHashMap (); request.getSession().setAttribute("cart", map); //创建session } //4.判断session中有没有存放该商 if(map.containsKey(name)) { //有,在原来的基础上加一 map.put(name, map.get(name)+1); }else { //没有购买该商品时 map.put(name, 1); } //5.输出界面 response.getWriter().write(" 继续购物
"); response.getWriter().write(" 结算"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }}
3.显示购物车页面
<%@page import="java.util.Map"%><%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>Insert title here 您购买的商品如下
<%//获取map Mapmap =(Map ) session.getAttribute("cart");//便利mapif(map != null){ for(String key:map.keySet()){ int value = map.get(key); %> 名称:<%=key %> 数量 :<%=value %>
<% }}%>清空购物车
4.清空购物车处理
package com.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;/** * Servlet implementation class cleanCa */public class cleanCa extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public cleanCa() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.获取session HttpSession session = request.getSession(); session.removeAttribute("cart"); //移除name response.sendRedirect("cart.jsp"); //回到当前的页面 } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }}
转载地址:http://adgwi.baihongyu.com/