会话管理 session实现多页面传输数据
以下面购物车几个页面传输数据为例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实现多页面传输数据的更多相关文章
- 4.会话管理(Session)
1.会话管理的概念和基本原理: 会话管理概念: 会话的实现过程: 2.使用Cookie.隐藏域.URL重写实现会话管理 创建并向客户端发送Cookie; 从客户端读取Cookies Cookie的方法 ...
- java的会话管理:Cookie和Session
java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...
- 会话管理(Cookie/Session技术)
什么是会话:用户打开浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程就称为一个会话: 会话过程需要解决的问题:每个用户在使用浏览器与服务器进行会话的过程中,都可能会产生一些 ...
- [原创]java WEB学习笔记31:会话与状态管理 session机制 概述(定义,session机制,session的声明周期,保存session的方式,Session的创建与删除)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- PHP会话管理:cookie和session
PHP会话管理1.cookie数据存储在浏览器端方便与JavaScript交换数据方便获取用户信息风险-浏览器可能会禁用cookie替代方案-URL参数 2.session数据存储在服务器高效.安全. ...
- WebService之Axis2(5):会话(Session)管理
WebService给人最直观的感觉就是由一个个方法组成,并在客户端通过SOAP协议调用这些方法.这些方法可能有返回值,也可能没有返回值.虽然这样可以完成一些工具,但这些被调用的方法是孤立的,当一个方 ...
- 使用Spring Session做分布式会话管理
在Web项目开发中,会话管理是一个很重要的部分,用于存储与用户相关的数据.通常是由符合session规范的容器来负责存储管理,也就是一旦容器关闭,重启会导致会话失效.因此打造一个高可用性的系统,必须将 ...
- [ASP.NET][Session] 使用 SQLServer 会话管理解决 Session 丢失问题
使用 SQLServer 会话管理解决 Session 丢失问题 步骤 1.通过命令行执行 aspnet_regsql.exe 程序(不要双击安装),先在 CMD 中输入命令 cd C:\Window ...
- session会话管理
session会话和cookie一起被称为会话跟踪技术,主要通过保存在服务器端的session数据和客户端浏览器的cookie数据共同完成用户访问服务器的足迹记录. 1. 什么是会话 会话sessio ...
随机推荐
- 第21章 DMA—直接存储区访问—零死角玩转STM32-F429系列
第21章 DMA—直接存储区访问 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fi ...
- ckplayer插件播放视频
官网:超酷网页视频 本篇介绍:插件播放视频, 添加插件(额外的功能), 视频格式之间的转换 PC端一般都是利用插件(Flash)来播放视频,可以支持很多格式.网上很多说这个插件的,这里只是做个记录 ...
- Strut2 的 Action获取JSP 页面参数的方法
struts2 Action获取表单传值1.通过属性驱动式JSP:<form action="sys/login.action" method="post" ...
- caffe中的sgd,与激活函数(activation function)
caffe中activation function的形式,直接决定了其训练速度以及SGD的求解. 在caffe中,不同的activation function对应的sgd的方式是不同的,因此,在配置文 ...
- python的**和*
1.**两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8*如果是字符串.列表.元组与一个整数N相乘,返回一个其所有 ...
- java基础必备单词讲解 day two
variable 变量 count 统计 sum 总数 salary 薪水 Scanner 接收 import 导入 eclipse 日食 control 控制 shift 改变 alt 替换键 ha ...
- 关于ACL中通配符掩码(反掩码)认识
ACL(Access Control List) 访问控制列表在作为数据包的过滤器以及在对指定的某种类型的数据包的优先级,起到了对某些数据包的优先级起到了限制流量的作用,减少了网络的拥塞. ...
- MySQL超大表如何提高count速度
经常用到count统计记录数,表又超级大,这时候sql执行很慢,就是走索引,也是很慢的,怎么办呢? 1.这个时候我们就要想为什么这么慢:根本原因是访问的数据量太大,就算只计算记录数也是很慢的. 2.如 ...
- bootloader 关闭看门狗
#define pWTCON 0x53000000disable_watchdog: ldr r0, =pWTCON mov r1, #0x0 str r1, [r0]
- PHP 7.1版本 微信安全模式消息接受
token 验证就不多讲了 重点说一下PHP7.1版本的加密解密算法 php7.1发布后新特性吸引了不少PHPer,大家都在讨论新特性带来的好处与便利. 但是从php7.0 升级到 php7.1 废弃 ...