以下面购物车几个页面传输数据为例html页面有index.html

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<ul>
<li><a href="fuzhuang.html">服装</a></li>
<li><a href="shipin.html">食品</a></li>
<li><a href="dianzi.html">电子</a></li>
</ul>
<input type="button" id="view" value="查看购物车">
<script>
$("#view").click(function () {
$.get("getgoods",function (data) {
alert(data.goods);
});
});
</script>
</body>
</html>

后面是三个副页fuzhuang.html;shipin.html;dianzi.html

fuzhuang.html

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>服装</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<form id="fuz">
<input type="checkbox" name="fz" value="服装1"/>服装1
<input type="checkbox" name="fz" value="服装2"/>服装2
<input type="checkbox" name="fz" value="服装3"/>服装3
<input type="checkbox" name="fz" value="服装4"/>服装4
<input type="button" value="添加" id="add-btn"/>
<input type="button" value="查看购物车"/>
</form>
<a href="index.html">回到首页</a>
<script>
$("#add-btn").click(function () {
var d=$("#fuz").serialize();
$.post("addList",d,function (data) {
alert(data.status);
});
});
</script>
</body>
</html>

dianzi.html

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>电子</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<form id="dzs">
<input type="checkbox" name="dz" value="电子1">电子1
<input type="checkbox" name="dz" value="电子2">电子2
<input type="checkbox" name="dz" value="电子3">电子3
<input type="checkbox" name="dz" value="电子4">电子4
<input type="button" value="添加" id="add-btn">
<input type="button" value="查看购物车">
</form>
<a href="index.html">回到首页</a>
<script>
$("#add-btn").click(function () {
var d=$("#dzs").serialize();
$.post("addList",d,function (data) {
alert(data.status);
});
});
</script>
</body>
</html>

shipin.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>食品</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<form id="sps">
<input type="checkbox" name="sp" value="食品1">食品1
<input type="checkbox" name="sp" value="食品2">食品2
<input type="checkbox" name="sp" value="食品3">食品3
<input type="checkbox" name="sp" value="食品4">食品4
<input type="button" value="添加" id="add-btn">
<input type="button" value="查看购物车">
</form>
<a href="index.html">回到首页</a>
<script>
$("#add-btn").click(function () {
var d=$("#sps").serialize();
$.ajax({url:"addList",
type:"post",
data:d,
success:function (data) {
alert(data.status)
}});
});
</script>
</body>
</html>
Servlet中两个页面
Addlist.java
 package control;

 import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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.io.PrintWriter;
import java.util.ArrayList;
import java.util.List; @WebServlet("/addList")
public class AddList extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String[] goods=request.getParameterValues("fz");
String[] goods1=request.getParameterValues("dz");
String[] goods2=request.getParameterValues("sp");
HttpSession session=request.getSession();
List<String> listgoods=(List<String>) session.getAttribute("goods");
if (listgoods==null){
listgoods=new ArrayList<>();
session.setAttribute("goods",listgoods);
}
if(goods!=null){for (String s:goods){
System.out.println(s+" ");
listgoods.add(s);
}}
if(goods1!=null){for (String s:goods1){
System.out.println(s+" ");
listgoods.add(s);
}}
if(goods2!=null){for (String s:goods2){
System.out.println(s+" ");
listgoods.add(s);
}}
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");
PrintWriter out=response.getWriter();
out.write("{\"status\":\"添加成功\"}");
out.close(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }
}

Getgoods.java

 package control;

 import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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.io.PrintWriter;
import java.util.List; @WebServlet("/getgoods")
public class Getgoods extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session=req.getSession();
List<String> goods=(List<String>) session.getAttribute("goods");
resp.setContentType("application/json;charset=utf-8");
PrintWriter out=resp.getWriter();
if (goods==null){
out.write("{\"goods\":"+null+"}");
}else{
Object[] arr=goods.toArray();
String s="{\"goods\":[";
for (int i=0;i<arr.length;i++){
s+="\""+arr[i]+"\"";
if (i<arr.length-1)
s+=",";
}
s+="]}";
System.out.println(s);
out.write(s);
}
out.close();
}
}

会话管理 session实现多页面传输数据的更多相关文章

  1. 4.会话管理(Session)

    1.会话管理的概念和基本原理: 会话管理概念: 会话的实现过程: 2.使用Cookie.隐藏域.URL重写实现会话管理 创建并向客户端发送Cookie; 从客户端读取Cookies Cookie的方法 ...

  2. java的会话管理:Cookie和Session

    java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...

  3. 会话管理(Cookie/Session技术)

    什么是会话:用户打开浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程就称为一个会话: 会话过程需要解决的问题:每个用户在使用浏览器与服务器进行会话的过程中,都可能会产生一些 ...

  4. [原创]java WEB学习笔记31:会话与状态管理 session机制 概述(定义,session机制,session的声明周期,保存session的方式,Session的创建与删除)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. PHP会话管理:cookie和session

    PHP会话管理1.cookie数据存储在浏览器端方便与JavaScript交换数据方便获取用户信息风险-浏览器可能会禁用cookie替代方案-URL参数 2.session数据存储在服务器高效.安全. ...

  6. WebService之Axis2(5):会话(Session)管理

    WebService给人最直观的感觉就是由一个个方法组成,并在客户端通过SOAP协议调用这些方法.这些方法可能有返回值,也可能没有返回值.虽然这样可以完成一些工具,但这些被调用的方法是孤立的,当一个方 ...

  7. 使用Spring Session做分布式会话管理

    在Web项目开发中,会话管理是一个很重要的部分,用于存储与用户相关的数据.通常是由符合session规范的容器来负责存储管理,也就是一旦容器关闭,重启会导致会话失效.因此打造一个高可用性的系统,必须将 ...

  8. [ASP.NET][Session] 使用 SQLServer 会话管理解决 Session 丢失问题

    使用 SQLServer 会话管理解决 Session 丢失问题 步骤 1.通过命令行执行 aspnet_regsql.exe 程序(不要双击安装),先在 CMD 中输入命令 cd C:\Window ...

  9. session会话管理

    session会话和cookie一起被称为会话跟踪技术,主要通过保存在服务器端的session数据和客户端浏览器的cookie数据共同完成用户访问服务器的足迹记录. 1. 什么是会话 会话sessio ...

随机推荐

  1. sql查询语句面试题

    几个表 employees 表: EMPLOYEE_ID              NUMBER(6) FIRST_NAME                VARCHAR2(20) LAST_NAME ...

  2. 【杂题总汇】HDU多校赛第十场 Videos

    [HDU2018多校赛第十场]Videos 最后一场比赛也结束了…… +HDU传送门+ ◇ 题目 <简要翻译> 有n个人以及m部电影,每个人都有一个快乐值.每场电影都有它的开始.结束时间和 ...

  3. lincode 680 Split String

    Split String    描述 笔记 数据 评测 Give a string, you can choose to split the string after one character or ...

  4. mysql 自增主键为什么不是连续的?

    由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧凑 MyISAM 引擎的自增值保存在数据文件中 nnoDB 引擎的自增值,其实是保存在了内存里,并且到了 MySQL 8.0 ...

  5. python逻辑运算(not,and,or)总结

    逻辑运算 1.在没有()的情况下not优先级高于and,and优先级高于or,即优先级关系为()>not>and>or,同一优先级从左往右计算 总结:a or b : 如果a = 0 ...

  6. ES6笔记04-class的基本语法

    JavaScript 语言中,生成实例对象的传统方法是通过构造函数. ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板.通过class关键字,可以定义类. clas ...

  7. IntelliJ IDEA 12 创建Web项目 教程 超详细版【转】

    IntelliJ IDEA 12 新版本发布 第一时间去官网看了下  黑色的主题 很给力 大体使用了下  对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走 ...

  8. jquery横向手风琴效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Python基本数据类型及使用

    # 基本数据类型分类 - int 整数 - float 小数 - bool 布尔值 - str 字符串 ## int 整数 - 包括正整数和负整数 - 与java.c等语言相比并没有位数限制,理论上可 ...

  10. request中的那些方法到底是干什么的?

    最近做Java Web项目,在.jsp页面和servlet之间request和response还是有些混淆,查阅了一些资料,总结如下,方便以后使用: 首先,servlet接口是最基本的,提供的五个方法 ...