<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'FalseLogin.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
<hr/><div align="center"><font size="6">
</font><font size="6" color="#ff8040"> 尊敬的用户请登录之后在进行购买操作!</font>
</div>
<br/>
<div align="center">
<a href="Login.jsp">登陆</a>
</div></body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ page import="com.Bookinfo.web.util.Book" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Continue.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
<hr/><div align="center">
尊敬的用户:<font color="#ff8040"><%=session.getAttribute("LoginName") %></font>,你已经成功购买此书!
<%! double num=0;
String bookName;
%>
<%
List<Book> listBook=(ArrayList)session.getAttribute("CartMessage");
num=0;
for(int i=0;i<listBook.size();i++){
Book b=listBook.get(i);
num=b.getPrice();
bookName=b.getName();
%>
<%} %>
您购买的这本书的名字是:<%=bookName %>
您购买的这本书的单价是:<%=num %>
</div>
<br/>
<div align="center"><a href="BookTable.jsp">继续购买</a>
<a href="index.jsp">返回首页</a></div>
</body>
</html>
package com.Bookinfo.Servlet.util;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CancleServlet extends HttpServlet {
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
request.getSession().removeAttribute("LoginName");
response.sendRedirect("index.jsp");
}
}
package com.Bookinfo.Servlet.util;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.Bookinfo.BFace.util.CartIface;
import com.Bookinfo.BImple.util.CartImple;
import com.Bookinfo.web.util.Book;
public class CartServlet extends HttpServlet {
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
HttpSession sess=request.getSession();
//判断登录名是否为空
if(sess.getAttribute("LoginName")==null){
response.sendRedirect("FalseLogin.jsp");
}else{
String bookId=request.getParameter("bookId");//得到用户购买的图书的id
//将用户的图书的id存放到购物车中去中
List<Integer> cart=(List<Integer>)sess.getAttribute("cartFrist");
//将图书id添加进去
cart.add(Integer.parseInt(bookId));
//得到购物车里面的信息
CartIface ciface=new CartImple();
List<Integer> listCartID=(List<Integer>) sess.getAttribute("cartFrist");
List<Book> listbook=new ArrayList<Book>();
for (int i = 0; i <listCartID.size(); i++) {
Book bo=ciface.getBookById(listCartID.get(i));
listbook.add(bo);
}
sess.setAttribute("CartMessage",listbook);
response.sendRedirect("Continue.jsp");
}
}
}
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ page import="com.Bookinfo.web.util.Book" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%! int sumBook=0; %>
<%if(session.getAttribute("LoginName")!=null){
%>
<%=session.getAttribute("LoginName") %>
购物车里面有
<%
List<Book> listBook=(ArrayList)session.getAttribute("cartFrist");
sumBook=listBook.size();
%>
<%=sumBook %>件商品
<%
}else{
%>
<a href="Login.jsp">登陆</a>
<%
}
%>
<a href="Cancle">退出</a>
<a href="bookTable">查看信息</a>
<a href="CartMessageServlet">查看购物车</a>
</body>
</html>
分享到:
相关推荐
大家都知道ECShop会员退出登录同时会把已经加入购物车里的商品清空掉,通过本内容做修改即可实现会员退出登录同时保留原购物车里面的商品不清空。
在本文中,我们将深入探讨如何使用Servlet、JSP和JavaBean技术实现一个功能完善的购物车系统。这个系统的核心是Servlet,它作为服务器端的主要处理组件,接收并响应客户端的请求。JSP则用于生成动态网页内容,展示...
- 用户在未登录状态下,购物车信息可能需要存储在本地存储(如localStorage或cookie),登录后同步到服务器。 - 为了防止用户在并发操作下看到不一致的数据,后端可能需要使用事务来确保数据的一致性。 - 考虑到性能...
购买过程涉及到订单生成,当用户确认购物车内的书籍后,系统会生成一份订单,记录购买的详细信息,包括书籍列表、单价、总价、用户信息等。这个过程可能还会涉及库存检查,确保所选书籍有充足的库存可供购买。 下...
- **订单处理**:会员可继续购物、清空购物车或结账下单;完成订单填写收货信息后,订单将被提交至后台处理。 ##### 管理端功能 - **订单管理**:订单管理员负责处理订单,更新订单状态,以便用户了解发货情况。 -...
本项目着重实现了用户登录、注册、管理员登录、商品展示以及购物车添加功能,旨在创建一个基本的在线购物平台。下面我们将深入探讨这些核心功能。 1. 用户登录与注册: 用户登录和注册是任何Web应用的基础,为用户...
4. **购买和结账**:在用户准备结账时,JSP会收集购物车中的所有书籍信息,进行总价计算,并可能引导用户进入支付流程。这可能涉及到与第三方支付接口的集成,例如支付宝或微信支付。在此过程中,JSP需要确保数据的...
在这个系统中,MySQL用于存储图书信息(如书名、作者、价格等),以及用户的购物车数据(如用户ID、商品ID、数量等)。 5. **Model-View-Controller(MVC)架构**:在开发Java Web应用时,MVC模式常被采用。在这个...
这个系统的核心功能包括用户登录、注册以及购物车的管理,但并不支持实际的购买流程,也就是说,它缺乏与支付接口的集成。接下来,我们将深入探讨这个系统的组成部分和涉及的技术点。 【JDBC(Java Database ...
它需要实现用户可以将想要购买的书籍添加到购物车,同时支持修改购物车中的书籍数量、删除单个书籍,以及清空整个购物车。此外,购物车还需要能持久化存储,即使用户关闭浏览器,再次登录时仍能恢复购物车的状态。这...
用户可以将商品添加到购物车,查看购物车中的商品列表,修改数量,甚至删除商品。购物车的状态通常存储在服务器端的会话(session)对象中,这样即使用户在不同页面之间切换,购物车内容也能保持一致。Servlet负责...
【JSP实现的购物车系统】是一个基于Java服务器页面(JSP)技术构建的电子商务应用程序,主要用于模拟在线购物过程中的核心功能,如商品选择、添加到购物车、用户登录与注册以及订单结算。该系统旨在提供一个用户友好...
单击“继续购物”导航按钮,继续购买商品。 (4)单击“结账”导航按钮,对当前购物车中的商品进行结算。 (5)单击“清空购物车”导航按钮,将当前购物车中的商品全部清除。 (6)单击“进入后台”超链接,对商品...
这需要在数据库中为每个用户创建一个购物车表,存储用户的购物车项,包括商品ID、数量、添加时间等信息。此外,购物车的持久化也是关键,当用户退出并重新登录时,应能恢复之前添加的商品。 其次,购物车的操作包括...
5. **保存购物车**:为了防止用户意外丢失购物车内容,系统应该提供购物车保存功能,例如登录后自动保存购物车,或者用户可以手动保存购物车状态。 6. **合并购物车**:对于拥有多个账户的用户,系统可能需要提供...
尽管描述中没有明确提及,但通常情况下,当用户完成购物并结账时,购物车内的图书信息会被保存到数据库中,形成订单记录。这样即使用户关闭浏览器,下次登录时仍能看到之前保存的购物车内容。 总的来说,"图书...
4. **商品数量调整**:用户可以增加或减少购物车中商品的数量,这需要JSP页面能够处理这种更新,并相应地更新存储的商品信息。 5. **购物车显示**:用户可以看到购物车中的所有商品,包括名称、价格、数量等。JSP...
- **未登录状态测试**:尝试未登录状态下访问购物车页面,确认是否被重定向至登录页面。 - **登录后购物车为空的状态**:模拟用户首次登录并访问购物车页面,确认是否显示购物车为空的信息。 - **添加商品后的测试**...
数据库存储更安全,尤其在用户长时间未结算时,购物车信息可持久化。 在实训过程中,我们需要设计购物车的添加、删除商品、更新商品数量以及查看购物车等功能。这可能涉及多个ASP.NET Web表单,每个表单处理不同的...
3. 购物车管理:用户可以将选择的商品添加到购物车,购物车允许用户查看所选商品,调整购买数量,并可移除不需要的商品。 4. 结账功能:用户在完成购物车内的商品选择后,可以进行结账操作,这一过程通常涉及到订单...