OneServlet{public void doGet(HttpServletRequest request,HttpServletResponse response)//1、通过《请求对象》向Tomcat索要当前网站中《全局作用域对象》这个对象名约定俗成ServletContext application = request.getServletContext() //2、将数据添加到全局作用域对象作为《共享数据》application.setAttribute("key1",数据);}
}TwoServlet{public void doGet(HttpServletRequest request,HttpServletResponse response){//1、通过《请求对象》向Tomcat索要当前网站中《全局作用域对象》ServletContext application = request.getServletContext() //2、从全局作用域对象得到指定关键字对应数据Object 数据 = application.getAttribute("key1");}
}
OneServlert{public void doGet(HttpServletRequest request,HttpServletResponse response){//1.创建一个COOKIE对象,保存共享对象(当前用户数据)COOKIE card = new COOKIE("key1","abc");COOKIE card1 =xxxx//COOKIE相等于一个map//一个COOKIE中只能存放一个键值对//这个键值对key与value只能是String//键值对key不能是中文card.setMaxAge(60);//指定card最多在硬盘中存活1分钟//2.《发卡》将COOKIE写入到响应头,交给浏览器response.addCOOKIE(card);response.addCOOKIE(card1);}
}
TwoServlet{public void doGet(HttpServletRequest request,HttpServletResponse response){//1.调用请求对象从请求头得到浏览器返回的COOKIECOOKIE COOKIEArrary[] = request.getCOOKIEs();//2.循环遍历数据得到每一个COOKIE的key与valuefor(COOKIE card:COOKIEArray){String key = card.getName();//读取key "key1"String value =card.getValue();//读取value "abc"//提供好的服务}}
}
OneServlet{public void doGet(HttpSevletRequest request,HttpServletResponse response) {//1、调用请求对象向Tomcat索要当前在服务端的私人储物柜HttpSession session = request.getSession();//2、将数据添加到用户私人储物柜session.setAttribute("key1",共享数据);}
}
TwoServlet{public void doGet(HttpSevletRequest request,HttpServletResponse response) {
//1、调用请求对象向Tomcat索要当前用户在服务端的私人储物柜
HttpSession session = request.getSession();
//2、从会话作用域对象得到OneServlet提供的共享数据
Object 共享数据 = session.getAttribute("key1");}
}
<session-config><session-timeout>5</session-timeout><!--当前网站中每一个session最大控件事件5分钟-->
</session-config>
<!DOCTYPE html>
<html lang&#61;"en">
<head><meta charset&#61;"UTF-8"><title>Title</title>
</head>
<body><table><tr><td>商品</td><td>价格</td></tr><tr><td>华为手机</td><td>5000</td><td><a href&#61;"/myWeb/one?goodsname&#61;华为手机">放入购物车</a></td></tr><tr><td>榴莲</td><td>300</td><td><a href&#61;"/myWeb/one?goodsname&#61;榴莲">放入购物车</a></td></tr><tr align&#61;"center"><td colspan&#61;"4"><a href&#61;"/myWeb/two">查看我的购物车</a></td></tr></table>
</body>
</html>
package com.bjpowernode.controller;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Enumeration;public class OneServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession httpSession &#61; request.getSession();String goodsname &#61; request.getParameter("goodsname");Integer goodsNum &#61; (Integer) httpSession.getAttribute(goodsname);if (goodsNum&#61;&#61;null) {httpSession.setAttribute(goodsname, 1);}else {httpSession.setAttribute(goodsname,goodsNum&#43;1);}}
}
package com.bjpowernode.controller;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Enumeration;public class TwoServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession httpSession &#61; request.getSession();Enumeration goodsnames &#61; httpSession.getAttributeNames();while (goodsnames.hasMoreElements()){String goodsname &#61;(String)goodsnames.nextElement();int goodsNum &#61; (int)httpSession.getAttribute(goodsname);System.out.println("商品名称 "&#43;goodsname&#43;" 商品数量"&#43;goodsNum);}}
}
OneServlet{public void doGet(HttpServlet request,HttpServletResponse response){//1、将数据添加到《请求作用域对象》中attribute属性request.setAttribute("key1",数据)//数据类型可以任意属性Object//2、向Tomcat申请调用TwoServletrequest.getRequestDispatcher("/two").forward(req,response);}
}
TwoServlet{public void doGet(HttpServlet request,HttpServletResponse response){//1、从当前请求对象得到OneServlet写入到共享数据Object 数据 &#61; request.getAt tribute("key1")//数据类型可以任意属性Object//2、向Tomcat申请调用TwoServletrequest.getRequestDispatcher("/two").forward(req,response);}
}