以下面购物车几个页面传输数据为例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. elsevier期刊要求翻译

    百度文库 http://wenku.baidu.com/view/e20a27e84afe04a1b071de4e.html 官网文档 http://www.elsevier.com/journals ...

  2. Spring 注解中@Resource 和 @Authwired 的区别

    @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分 ...

  3. java基础必备单词讲解 day three

    if 如果 else 否则 switch 切换判断 case 实例 break 退出 return 返回 default 默认 variable array 数组 null 空的 无效的 pointe ...

  4. Webpack4 学习笔记二 CSS模块转换

    前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 webpack 打包css模块 webpack是js模块打包器, 如果在入口文件引入css文件或其它的less.sass等文件,需要 ...

  5. Linux下文件的压缩与解压缩

    一.zip格式 zip可能是目前使用的最多的文档压缩格式.它最大的优点就是在不同的操作系统平台上使用.缺点就是支持 的压缩率不是很高,而tar.gz和tar.bz2在压缩率方面做得非常好. 我们可以使 ...

  6. Java分享笔记:泛型类的定义与使用

    当类中要操作的引用数据类型不确定时,可以定义泛型类完成扩展.下面是程序演示. package packB; class Student { //定义学生类 public String st = &qu ...

  7. 【ACM之行】◇第一站◇ 2018HDU多校赛总结

    ◇第一站◇ 2018HDU多校赛 十场多校赛下来,也算是给一个初中生开了眼界……看着清华一次次AK(默默立下flag),看着自己被同校的高中生完虐,一个蒟蒻只能给dalao们垫脚

  8. Linux中用户与用户组管理

    1.基础知识 Linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登陆到系统上,并响应每个用户的请求. 任何需要使用操作系统的用户,都需要一个系统账号,账号分为:管理员账号与普通用户账号 ...

  9. POJ-3126 BFS,埃式筛选及黑科技

    题目大意:给定两个四位素数a  b,要求把a变换到b,变换的过程要保证  每次变换出来的数都是一个 四位素数,而且当前这步的变换所得的素数  与  前一步得到的素数  只能有一个位不同,而且每步得到的 ...

  10. python正则表达式01--贪心算法和非贪心算法findall()

    import re st = 'asdfasxxixxdafqewxxlovexxsadawexxyouxxas' # . #点匹配除换行符外的任意字符 a0 = re.findall('xx.',s ...