以下面购物车几个页面传输数据为例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. 统一项目中编码风格(Eclipse Java code format、codetemplate)

    在公司内的日常开发过程中,除了需要遵守统一的编码规范之外,还需要对编写的代码做统一的格式化,Eclipse提供了格式化编码的工具,快捷键是:Ctrl+Shift+F. 为了统一项目组的代码风格,建议使 ...

  2. 遗忘的html标签

    <span>x</span><sup>2</sup><span>+y=10</span> <br> <span ...

  3. python中的zipfile

    zipfile - Work with ZIP archives ZipFile.namelist() Return a list of archive members by name. 返回压缩成员 ...

  4. Ansible学习 Playbooks_1

    Playbooks是Ansible中执行较复杂任务的一种的方式,Playbook由1个或多个play组成,语法格式是YAML,下面以一个简单的任务为例,开始我们的Playbook学习: 任务描述: 1 ...

  5. Teaching Is a Fruitful Way to Learn【教学是一种有效的学习方式】

    Teaching Is a Fruitful Way to Learn For thousands of years, people have known that the best way to u ...

  6. Nginx技术深入剖析

    Nginx软件功能模块说明 核心功能模块(Core functionality):主要对应配置文件的Main区块和Events区块. 标准的http功能模块: 企业 场景常用的Nginx http功能 ...

  7. Aizu:0009- Prime Number

    Prime Number Time limit 1000 ms Memory limit 131072 kB Problem Description Write a program which rea ...

  8. BFS例题:A计划

    ContribContrib/a11y/accessibility-menu.js 关于 BFS要点: 1.若为可化为的坐标系图形,可用结构体存储其x值,y值和步数.(一般开now 和 next ,n ...

  9. filter() 函数的使用

    Python3 filter() 函数 描述 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换. 该接收两个参数,第一个 ...

  10. get请求中url传参中文乱码问题

    在项目中经常会遇到中文传参数,在后台接收到乱码问题.那么在遇到这种情况下我们应该怎么进行处理让我们传到后台接收到的参数不是乱码是我们想要接收的到的,下面就是我的一些认识和理解. 一:get请求url中 ...