一:案例一(简易购物车)

1.目录结构

  

2.step1.jsp

 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <h2>Step1:选择要购买的图书</h2>
11     <form action="<%=request.getContextPath() %>/processStep1" method="post">
12         <table border="1" cellpadding="10" cellspacing="0">
13             <tr>
14                 <td>书名</td>
15                 <td>购买</td>
16             </tr>
17             <tr>
18                 <td>JAVA</td>
19                 <td><input type="checkbox" name="book" value="JAVA"></td>
20             </tr>
21             <tr>
22                 <td>Oracle</td>
23                 <td><input type="checkbox" name="book" value="Oracle"></td>
24             </tr>
25             <tr>
26                 <td>Struct2</td>
27                 <td><input type="checkbox" name="book" value="Struct2"></td>
28             </tr>
29             <tr>
30                 <td colspan="2">
31                     <input type="submit" value="Submit"/>
32                 </td>
33             </tr>
34         </table>
35     </form>
36 </body>
37 </html>

3.ProcessStep1Servlet.java

 1 package javaweb;
 2
 3 import java.io.IOException;
 4 import javax.servlet.ServletException;
 5 import javax.servlet.annotation.WebServlet;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9
10 /**
11  * Servlet implementation class ProcessStep1Servlet
12  */
13 @WebServlet("/processStep1")
14 public class ProcessStep1Servlet extends HttpServlet {
15     private static final long serialVersionUID = 1L;
16
17     /**
18      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
19      */
20     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
21         //获取选中的图书的信息
22         String[] books=request.getParameterValues("book");
23
24         //将图书放进HttpSession中
25         request.getSession().setAttribute("books", books);
26
27         //重定向页面到shopcart/step2.jsp
28         //这里使用的绝对路径,同理,在jsp里也需要使用相对路径
29         response.sendRedirect(request.getContextPath()+"/shopCart/step2.jsp");
30     }
31
32 }

4.step2.jsp

 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <h2>Step2:请输入信用卡的信息</h2>
11     <form action="<%=request.getContextPath()%>/processStep2" method="post">
12         <table border="1" cellpadding="10" cellspacing="0">
13             <tr>
14                 <td colspan="2">寄送信息</td>
15             </tr>
16             <tr>
17                 <td>姓名</td>
18                 <td><input type="text" name="name" /></td>
19             </tr>
20             <tr>
21                 <td>地址</td>
22                 <td><input type="text" name="address" /></td>
23             </tr>
24             <tr>
25                 <td colspan="2">信用卡信息</td>
26             </tr>
27             <tr>
28                 <td>种类</td>
29                 <td><input type="radio" name="cardType" value="Visa" />Visa <input
30                     type="radio" name="cardType" value="Master" />Master</td>
31             </tr>
32             <tr>
33                 <td>卡号</td>
34                 <td><input type="text" name="cardNum" /></td>
35             </tr>
36             <tr>
37                 <td colspan="2"><input type="submit" value="Submit" /></td>
38             </tr>
39         </table>
40     </form>
41 </body>
42 </html><%@ page language="java" contentType="text/html; charset=utf-8"
43     pageEncoding="utf-8"%>
44 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
45 <html>
46 <head>
47 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
48 <title>Insert title here</title>
49 </head>
50 <body>
51     <h2>Step2:请输入信用卡的信息</h2>
52     <form action="<%=request.getContextPath()%>/processStep2" method="post">
53         <table border="1" cellpadding="10" cellspacing="0">
54             <tr>
55                 <td colspan="2">寄送信息</td>
56             </tr>
57             <tr>
58                 <td>姓名</td>
59                 <td><input type="text" name="name" /></td>
60             </tr>
61             <tr>
62                 <td>地址</td>
63                 <td><input type="text" name="address" /></td>
64             </tr>
65             <tr>
66                 <td colspan="2">信用卡信息</td>
67             </tr>
68             <tr>
69                 <td>种类</td>
70                 <td><input type="radio" name="cardType" value="Visa" />Visa <input
71                     type="radio" name="cardType" value="Master" />Master</td>
72             </tr>
73             <tr>
74                 <td>卡号</td>
75                 <td><input type="text" name="cardNum" /></td>
76             </tr>
77             <tr>
78                 <td colspan="2"><input type="submit" value="Submit" /></td>
79             </tr>
80         </table>
81     </form>
82 </body>
83 </html>

5.ProcessStep2Servlet.java

 1 package javaweb;
 2
 3 import java.io.IOException;
 4 import javax.servlet.ServletException;
 5 import javax.servlet.annotation.WebServlet;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9
10 /**
11  * Servlet implementation class ProcessStep2Servlet
12  */
13 @WebServlet("/processStep2")
14 public class ProcessStep2Servlet extends HttpServlet {
15     private static final long serialVersionUID = 1L;
16
17     /**
18      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
19      */
20     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
21         //获取请求参数name address cardType cardNum
22         String name=request.getParameter("name");
23         String address=request.getParameter("address");
24         String cardType=request.getParameter("cardType");
25         String cardNum=request.getParameter("cardNum");
26
27         //将参入放进一个对象中
28         Customer customer=new Customer(name, address, cardType, cardNum);
29
30         //将请求信息存入HtppSession中
31         request.getSession().setAttribute("customer", customer);
32
33         //重定向到confirm.jsp
34         response.sendRedirect(request.getContextPath()+"/shopCart/confirm.jsp");
35     }
36
37 }

6.conform.jsp

 1 <%@page import="javaweb.Customer"%>
 2 <%@ page language="java" contentType="text/html; charset=utf-8"
 3     pageEncoding="utf-8"%>
 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11     <%
12         Customer customer=(Customer)session.getAttribute("customer");
13         String[] books=(String[])session.getAttribute("books");
14     %>
15     <h2>Step3:请确认</h2>
16     <table>
17         <tr>
18             <td>顾客姓名</td>
19             <td><%=customer.getName() %></td>
20         </tr>
21         <tr>
22             <td>顾客地址</td>
23             <td><%=customer.getAddress() %></td>
24         </tr>
25         <tr>
26             <td>顾客卡号</td>
27             <td><%=customer.getCardNum() %></td>
28         </tr>
29         <tr>
30             <td>顾客类型</td>
31             <td><%=customer.getCardType() %></td>
32         </tr>
33         <tr>
34             <td>Books</td>
35             <td>
36                 <%
37                     for(String book:books){
38                         out.print(book);
39                         out.print("<br>");
40                     }
41                 %>
42             </td>
43         </tr>
44     </table>
45 </body>
46 </html>

7.补充简单bean,Customer.java

 1 package javaweb;
 2
 3 public class Customer {
 4     private String name;
 5     private String address;
 6     private String cardType;
 7     private String cardNum;
 8     public Customer() {
 9
10     }
11     public Customer(String name, String address, String cardType, String cardNum) {
12         super();
13         this.name = name;
14         this.address = address;
15         this.cardType = cardType;
16         this.cardNum = cardNum;
17     }
18     public String getName() {
19         return name;
20     }
21     public void setName(String name) {
22         this.name = name;
23     }
24     public String getAddress() {
25         return address;
26     }
27     public void setAddress(String address) {
28         this.address = address;
29     }
30     public String getCardType() {
31         return cardType;
32     }
33     public void setCardType(String cardType) {
34         this.cardType = cardType;
35     }
36     public String getCardNum() {
37         return cardNum;
38     }
39     public void setCardNum(String cardNum) {
40         this.cardNum = cardNum;
41     }
42
43 }

8.展示结果

  

二:

转载于:https://www.cnblogs.com/juncaoit/p/7471833.html

Session机制二(简易购物车案例)相关推荐

  1. Session | web应用的session机制、session的实现原理

    目录 一:web应用的session机制 二:session的实现原理 一:web应用的session机制 (1)什么是会话? ①会话对应的英语单词:session ②用户打开浏览器,进行一系列操作, ...

  2. js-09二级联动购物车案例

    js-09二级联动&&购物车案例 一.二级联动 二.购物车案例 一.二级联动 <body onload="fa()"><label>省份:& ...

  3. 登录和注销、基于Session的购物车案例、验证码的使用、防止表单重复提交

    一:登录和注销: 登录login.jsp界面 <body><%//销毁sessionsession.invalidate();%> <h3>用户登录</h3& ...

  4. 简易版购物车案例(vue)

    简易版购物车案例(vue) <div id="app"><div v-if="books.length"><table>&l ...

  5. 【Vue案例】——实现简易购物车功能

    实现简易购物车功能 静态页面展示 商品详情页 购物车页面 购物车功能的实现 将商品添加至购物车 首先我们要在商品详情页为每一个商品的添加购物车按钮绑定一个点击事件,参数是该商品对象(将商品的所有属性包 ...

  6. JS9day(BOM对象模型,setTimeout定时器,JS单线程执行机制,location对象,swiper插件,localStorage本地存储,购物车案例升级版,学习信息案例(本地存储))

    文章目录 BOM简介 定时器-延时函数 5秒关闭广告案例 递归模拟setInterval函数 两种定时器对比 JS 执行机制 location对象 navigator对象 histroy对象(了解) ...

  7. React(二):jsx事件绑定、条件渲染、列表渲染、jsx的本质、购物车案例

    React(二) 一.jsx事件绑定 1.this的绑定方式 2.jsx中绑定this的三种方式 3.事件对象和传参 (1)事件对象怎么传 (2)其他参数怎么传? 二.条件渲染 1.直接if-else ...

  8. Servlet之session实践:session实现简易购物车

    文章目录 Servlet之session实践:session实现简易购物车 1 过程分析 1.1 Product类:存储商品信息 1.2 ShoppingItem类:存储购买条目信息 1.3 Shop ...

  9. 【PHP基础-9】Session机制详解及Session身份认证应用案例

    目录 1 Session 机制概述 1.1 什么是Session 1.2 Session作用 1.3 session的运行机制: 2 Session应用案例 2.1 实验要求 2.2 实验环境 2.3 ...

最新文章

  1. 一小段jQuery代码的分析与优化
  2. 解决:Reading table information for completion of table and column names
  3. STM32开发 -- 打开网址测试脚本编写
  4. Ubuntu配置IPFS的环境
  5. 排列组合(HDU-1521)
  6. 雷电交加,雨水倾泻--北京
  7. springboot+shiro+jwt实现token认证登录
  8. MySQL 中的共享表空间与独立表空间,用哪个好呢?
  9. In-Stream Big Data Processing
  10. html博客音乐播放器代码大全,播放器代码大全
  11. S老师 Top-Down RPG Starter Kit 学习
  12. vue 点击某一行的按钮,获取当前行的数据
  13. steam for linux 安装目录,我该如何安装Steam?
  14. windows2008+IIS7部署智遥工作流
  15. McAfee设置信任文件
  16. 在使用计算机结束时,计算机使用完毕后应将显示器的电源关闭对吗?
  17. APICloud(二):选择一张或多张图片
  18. 什么是CSRF,怎么防范CSRF!
  19. 博弈论-多智能体强化学习基础
  20. new/delete与malloc/free的区别

热门文章

  1. 53个要点提高PHP编程效率
  2. Windows Server 2016 服务器总是有暴力破解密码导致的审核失败
  3. Linux 环境安装 Node、nginx、docker、vsftpd、gitlab
  4. 利用stub技术进行单元测试
  5. spring装配Bean过程
  6. Python装饰器 计时器记录方法执行性能
  7. postman的使用方法详解!最全面的教程
  8. Java并发机制深究1-synchronized和volatile
  9. Access denied for user 'root'@'localhost' (using password:YES) 解决方案
  10. lucene4.5近实时搜索