应用Servlet实现购物车
应用Servlet实现购物车具体实现过程1、创建封装商品信息的值JavaBean---------GoodsSingle package com.yxq.valuebean;public class GoodsSingle {private String name; //保存商品名称private float price; //保存商品价格private int num; //保存商品购买数量public String getName() {return name;}public void setName(String name) { = name;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public float getPrice() {return price;}public void setPrice(float price) {this.price = price;}}2、创建工具JavaBean-------- MyTools 实现字符型数据转换为整型及乱码处理package com.yxq.toolbean;import java.io.UnsupportedEncodingException;public class MyTools {public static int strToint(String str){ //将String型数据转换为int型数据的方法if(str==null||str.equals(""))str="0";int i=0;try{i=Integer.parseInt(str); //把str 转换成int 类型的变量}catch(NumberFormatException e){ // try-catch就是监视try中的语句,如果抛出catch中声明的异常类型i=0;e.printStackTrace(); //把Exception 的详细信息打印出来}return i;}public static String toChinese(String str){ //进行转码操作的方法if(str==null)str="";try {str=new String(str.getBytes("ISO-8859-1"),"gb2312");} catch (UnsupportedEncodingException e) {str="";e.printStackTrace();}return str;}}3、创建购物车JavaBean------ ShopCar实现添加、删除,购物车制作package com.yxq.toolbean;package com.yxq.toolbean;import java.util.ArrayList;import com.yxq.valuebean.GoodsSingle;public class ShopCar {private ArrayList buylist=new ArrayList();//用来存储购买的商品public void setBuylist(ArrayList buylist) {this.buylist = buylist;}/*** @功能向购物车中添加商品* @参数single为GoodsSingle类对象,封装了要添加的商品信息*/public void addItem(GoodsSingle single){if(single!=null){if(buylist.size()==0){//如果buylist中不存在任何商品GoodsSingle temp=new GoodsSingle();temp.setName(single.getName());temp.setPrice(single.getPrice());temp.setNum(single.getNum());buylist.add(temp); //存储商品}else{//如果buylist中存在商品int i=0;for(;i<buylist.size();i++){//遍历buylist集合对象,判断该集合中是否已经存在当前要添加的商品GoodsSingle temp=(GoodsSingle)buylist.get(i);//获取buylist集合中当前元素if(temp.getName().equals(single.getName())){ //判断从buylist集合中获取的当前商品的名称是否与要添加的商品的名称相同//如果相同,说明已经购买了该商品,只需要将商品的购买数量加1temp.setNum(temp.getNum()+1);//将商品购买数量加1break;//结束for循环}}if(i>=buylist.size()){//说明buylist中不存在要添加的商品GoodsSingle temp=new GoodsSingle();temp.setName(single.getName());temp.setPrice(single.getPrice());temp.setNum(single.getNum());buylist.add(temp);//存储商品}}}}/*** @功能从购物车中移除指定名称的商品* @参数name表示商品名称public void removeItem(String name){for(int i=0;i<buylist.size();i++){ //遍历buylist集合,查找指定名称的商品GoodsSingle temp=(GoodsSingle)buylist.get(i);//获取集合中当前位置的商品if(temp.getName().equals(name)){ //如果商品的名称为name参数指定的名称if(temp.getNum()>1){ //如果商品的购买数量大于1temp.setNum(temp.getNum()-1); //则将购买数量减1break; //结束for循环}else if(temp.getNum()==1){ //如果商品的购买数量为1buylist.remove(i); //从buylist集合对象中移除该商品}}}}4、创建实例首页面index.jsp,初始化商品信息<%@ page contentType="text/html;charset=gb2312"%><jsp:forward page="/index"/>5、创建处理用户访问首页面请求的Servlet---IndexServletpackage com.yxq.servlet;import java.io.IOException;import java.util.ArrayList;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.yxq.valuebean.GoodsSingle;public class IndexServlet extends HttpServlet {private static ArrayList goodslist=new ArrayList();protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession session=request.getSession();session.setAttribute("goodslist",goodslist);response.sendRedirect("show.jsp");}static{ //静态代码块String[] names={"苹果","香蕉","梨","橘子"};float[] prices={2.8f,3.1f,2.5f,2.3f};for(int i=0;i<4;i++){GoodsSingle single=new GoodsSingle();single.setName(names[i]);single.setPrice(prices[i]);single.setNum(1);goodslist.add(single);}}}6、show.jsp显示商品信息<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.util.ArrayList" %><%@ page import="com.yxq.valuebean.GoodsSingle" %> <% ArrayListgoodslist=(ArrayList)session.getAttribute("goodslist"); %><table border="1" width="450" rules="none" cellspacing="0" cellpadding="0"><tr height="50"><td colspan="3" align="center">提供商品如下</td></tr><tr align="center" height="30" bgcolor="lightgrey"> <td>名称</td><td>价格(元/斤)</td><td>购买</td></tr><% if(goodslist==null||goodslist.size()==0){ %><tr height="100"><td colspan="3" align="center">没有商品可显示!</td></tr><%}else{for(int i=0;i<goodslist.size();i++){GoodsSinglesingle=(GoodsSingle)goodslist.get(i);%><tr height="50" align="center"><td><%=single.getName()%></td><td><%=single.getPrice()%></td><td><a href="doCar?action=buy&id=<%=i%>">购买</a></td></tr><%}}%>7、创建处理用户购买、移除、清空购物车请求的ServletServlet----- BuyServletpackage com.yxq.servlet;import java.io.IOException;import java.util.ArrayList;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.yxq.toolbean.MyTools;import com.yxq.toolbean.ShopCar;import com.yxq.valuebean.GoodsSingle;public class BuyServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String action=request.getParameter("action"); //获取action参数值if(action==null)action="";if(action.equals("buy")) //触发了“购买”请求buy(request,response); //调用buy()方法实现商品的购买if(action.equals("remove")) //触发了“移除”请求remove(request,response); //调用remove()方法实现商品的移除if(action.equals("clear")) //触发了“清空购物车”请求clear(request,response); //调用clear()方法实现购物车的清空}//实现购买商品的方法protected void buy(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {HttpSession session=request.getSession();String strId=request.getParameter("id"); //获取触发“购买”请求时传递的id参数,该参数存储的是商品在goodslist对象中存储的位置int id=MyTools.strToint(strId);ArrayListgoodslist=(ArrayList)session.getAttribute("goodslist");GoodsSingle single=(GoodsSingle)goodslist.get(id);ArrayListbuylist=(ArrayList)session.getAttribute("buylist"); //从session范围内获取存储了用户已购买商品的集合对象if(buylist==null)buylist=new ArrayList();ShopCar myCar=new ShopCar();myCar.setBuylist(buylist); //将buylist对象赋值给ShopCar类实例中的属性myCar.addItem(single); //调用ShopCar类中addItem()方法实现商品添加操作session.setAttribute("buylist",buylist);response.sendRedirect("show.jsp"); //将请求重定向到show.jsp页面}//实现移除商品的方法protected void remove(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession session=request.getSession();ArrayListbuylist=(ArrayList)session.getAttribute("buylist");String name=request.getParameter("name");ShopCar myCar=new ShopCar();myCar.setBuylist(buylist); //将buylist对象赋值给ShopCar类实例中的属性myCar.removeItem(MyTools.toChinese(name)); //调用ShopCar类中removeItem ()方法实现商品移除操作response.sendRedirect("shopcar.jsp");}//实现清空购物车的方法protected void clear(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession session=request.getSession();ArrayListbuylist=(ArrayList)session.getAttribute("buylist"); //从session范围内获取存储了用户已购买商品的集合对象buylist.clear();//清空buylist集合对象,实现购物车清空的操作response.sendRedirect("shopcar.jsp");}}8、在web.xml文件中配置Servlet<?xml version="1.0" encoding="UTF-8"?><web-app><!-- 配置IndexServlet --><servlet><servlet-name>indexServlet</servlet-name><servlet-class>com.yxq.servlet.IndexServlet</servlet-class ></servlet><servlet-mapping><servlet-name>indexServlet</servlet-name><url-pattern>/index</url-pattern></servlet-mapping><!-- 配置BuyServlet --><servlet><servlet-name>buyServlet</servlet-name><servlet-class>com.yxq.servlet.BuyServlet</servlet-class> </servlet><servlet-mapping><servlet-name>buyServlet</servlet-name><url-pattern>/doCar</url-pattern></servlet-mapping></web-app>9、创建页面shopcar.jsp购物车<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.util.ArrayList" %><%@ page import="com.yxq.valuebean.GoodsSingle" %> <%//获取存储在session中用来存储用户已购买商品的buylist 集合对象ArrayListbuylist=(ArrayList)session.getAttribute("buylist");float total=0; //用来存储应付金额%><table border="1" width="450" rules="none" cellspacing="0" cellpadding="0"><tr height="50"><td colspan="5" align="center">购买的商品如下</td></tr><tr align="center" height="30" bgcolor="lightgrey"> <td width="25%">名称</td><td>价格(元/斤)</td><td>数量</td><td>总价(元)</td><td>移除(-1/次)</td><% if(buylist==null||buylist.size()==0){ %><tr height="100"><td colspan="5" align="center">您的购物车为空!</td></tr><%}else{for(int i=0;i<buylist.size();i++){GoodsSingle single=(GoodsSingle)buylist.get(i);String name=single.getName(); //获取商品名称float price=single.getPrice(); //获取商品价格int num=single.getNum(); //获取购买数量//计算当前商品总价,并进行四舍五入float money=((int)((price*num+0.05f)*10))/10f;total+=money; //计算应付金额%><tr align="center" height="50"><td><%=name%></td><td><%=price%></td><td><%=num%></td><td><%=money%></td><td><ahref="doCar?action=remove&name=<%=single.getName() %>">移除</a></td></tr><%}}%><tr height="50" align="center"><td colspan="5">应付金额:<%=total%></td></tr><tr height="50" align="center"><td colspan="2"><a href="show.jsp">继续购物</a></td><td colspan="3"><a href="doCar?action=clear">清空购物车</a></td></tr></table>。
购物车功能实现
购物车功能实现购物车功能是电商网站的重要组成部分,实现了方便用户选择和管理商品的功能,以下是购物车功能的实现方式:1. 添加商品:用户在浏览商品详情页时,可以通过点击“加入购物车”按钮将商品添加到购物车中。
后台服务器收到请求后,将商品信息和数量保存到数据库中。
2. 修改商品数量:用户可以在购物车页面修改商品的购买数量,通过增加或减少数量按钮来实现。
每次修改数量都会发送请求到后台,更新数据库中的商品数量。
3. 删除商品:用户可以选择删除购物车中的某个商品,通过点击删除按钮来实现。
后台服务器删除对应的商品记录,更新数据库。
4. 清空购物车:用户可以选择一键清空购物车,通过点击“清空购物车”按钮来实现。
后台服务器删除用户购物车中的所有商品记录,更新数据库。
5. 查看购物车:用户可以通过点击购物车图标或链接来查看购物车的详情页。
后台服务器根据用户的请求,从数据库中获取用户购物车中的商品列表,并返回给前端页面展示。
6. 购物车页面展示:购物车页面展示用户购物车中的商品列表,包括商品名称、价格、数量、小计和总计等信息。
用户可以通过修改数量、删除商品和清空购物车的操作来管理购物车。
7. 结算功能:用户在购物车页面可以选择结算功能,通过点击“结算”按钮来跳转到结算页面。
结算页面展示用户选择购买的商品,同时提供支付方式和地址选择等功能。
8. 购物车状态保存:购物车功能需要保证用户在不同设备、不同浏览器上的购物车状态同步,可以通过用户账户绑定购物车的方式实现。
用户登录后,将购物车信息与用户账户绑定,用户在不同设备上登录后购物车状态可以同步。
购物车功能的实现需要前端页面和后台服务器的配合,前端页面负责展示购物车信息并与用户交互,后台服务器负责处理前端页面的请求,更新数据库中的购物车信息。
同时需要考虑用户登录状态、商品库存、商品价格和促销活动等因素来优化购物车功能的实现。
java购物车的实现原理
java购物车的实现原理
Java购物车的实现原理通常涉及以下几个方面:
1. 数据结构,购物车通常是一个存储商品信息的容器。
在
Java中,可以使用集合类(如ArrayList、HashMap)来存储商品信息,每个商品可以用一个对象来表示,对象中包含商品的属性(如
名称、价格、数量等)。
这样可以方便地对商品进行增删改查操作。
2. 会话管理,在Web应用中,购物车通常与用户的会话相关联。
当用户添加商品到购物车时,需要将商品信息存储在会话中;当用
户浏览购物车或结算时,需要从会话中获取购物车的信息。
Java中
可以使用HttpSession来管理用户的会话信息,将购物车信息存储
在会话中。
3. 操作逻辑,购物车的实现需要考虑用户的操作,如添加商品、删除商品、修改商品数量等。
在Java中,可以通过Servlet或者框
架(如Spring MVC)来处理用户的请求,根据用户的操作来对购物
车进行相应的增删改操作。
4. 数据持久化,有些情况下,需要将购物车的信息持久化存储,
以便用户下次登录时能够看到之前添加的商品。
在Java中可以使用数据库来存储购物车信息,可以使用JDBC或者ORM框架(如Hibernate)来实现购物车信息的持久化。
总的来说,Java购物车的实现原理涉及数据结构、会话管理、操作逻辑和数据持久化等方面,需要综合运用Java语言的特性和相关框架来实现一个完善的购物车功能。
希望这些信息能够帮助你理解Java购物车的实现原理。
会话及会话技术及答案
第5章一、填空1.服务器向客户端发送Cookie时,会在HTTP响应头字段中增加____响应头字段。
2.Web应用中的会话指的是一个客户端(浏览器)与____之间连续发生的一系列请求和响应过程。
3.Session相对于Cookie具有更高的安全性,它将关键数据保存在____端。
4.在Servlet技术中,提供了两个用于保存会话数据的对象,分别是____和Session。
5.Tomcat容器中会话的有效时间可以在____文件中设置,默认会话过期时间为30分钟。
二、判断1.Tomcat容器中如果将元素中的时间值设置成0或一个负数,则表示会话永不超时。
2.Session是一种将会话数据保存到服务器端的技术,需要借助Cookie技术来实现。
3.Cookie的domain属性是用来指定浏览器访问的域,设置domain属性时严格区分大小写。
4.Cookie的path属性设置后,只对当前访问路径所属的目录有效。
5.一次会话过程中,只允许客户端与服务器进行一次请求与响应过程。
三、选择1.下列对于setMaxAge(-1)方法的描述中,正确的是()A: 表示通知浏览器保存这个Cookie信息B: 表示通知浏览器立即删除这个Cookie信息C: 表示当浏览器关闭时,Cookie信息会被删除D: 以上说法都是错误的2.Tomcat服务器的默认会话超时时间是()A: 30秒B: 30分钟C: 30毫秒D: 30小时3.下面选项中,用于强制使Session对象无效的方法是()A: request. invalidate ();B: session. validate ();C: response. invalidate ();D: session. invalidate ();4.下面选项中,当存在Session对象直接返回,否则返回null的方法是()A: request.getSession();B: request.getSession(true);C: request.getSession(false);D: response.getSession();5.下列选项中,能够用于获取客户端所有cookie对象的方法是()A: List cookies = request.getCookies();B: Cookie[] cookies = request.getCookies();C: List cookies = response.getCookies();D: Cookie[] cookies = response.getCookies();四、简答1.简述什么是会话技术?会话过程类似于生活中的打电话过程,它指的是一个客户端(浏览器)与Web 服务器之间连续发生的一系列请求和响应过程。
购物车项目开发设计与实现
项目开发技术购物车项目开发设计与实现目录1 项目需求本次研究选择的开发语言为Java,该系统基于B/S架构,用户可以通过浏览器对服务器使用访问。
首先需要实现网上购物的基本功能,显示商品列表、添加商品到购物车、确认订单,我所研究的重点是对网上购物车的设计与实现模块。
系统功能需求1、能够完成游客或已注册用户对网上商品列表的浏览,以及对各商品的详细信息的查看。
2、能够完成已登陆客户对商品的选购:添加商品到个人购物车,并且对已添加到购物车的商品进行数量的增加、减少、修改和删除等操作。
3、能够通过查看购物车对所选商品进行确定、挑选,确认或修改购物者的联系方式,通过定单查询对支付费用进行确定。
开发系统语言需求采用的主要技术是基于服务器端的JSP、Java的组件JavaBean,以及网页编程语言HTML。
利用JavaEE平台提供的Web编程方式,通过B/S结构方式,实现数据从数据库,到业务处理,到前台展示。
Web部分采用基于MVC模式的Struts框架实现,表现层主要用JSP与JavaScript、EL相结实现,控制层采用ActionServlet负责处理请求和转发请求,业务逻辑层使用JavaBean实现,并且采用DAO设计模式进行数据访问的封装,数据持久层采用JDBC 技术实现业务层和数据库的交互。
设计开发的原则:每层之间都是采用面向接口编程技术,降低了上层对下层逻辑调用的依赖,该项目体现了低耦合、高内聚的设计思想。
服务器: Apache Tomcat数据库: MySQL技术实现:Struts+JDBC+JavaBean发集成环境:用Eclipcse集成环境进行开发JavaScript程序运行环境:Windows XP或Windows 7。
用于编辑HTML文档的字符编辑器或HTML文档编辑器。
开发以及运行环境需求本系统开发的基本环境如表表1-1系统开发环境项目最低配置CPU P4或同型号的CPU内存256M硬盘40G以上显卡Geforce2以上操作系统Windows 7/XP本系统的运行环境如下表表1-2 系统运行环境项目最低配置CPU P3或同型号以上的CPU内存128M硬盘20G以上显卡Geforce2以上操作系统Windows 7/XP 界面需求界面的原则要求:如方便、简洁、美观、一致等。
JSP 实现网上购物
JSP 实现网上购物
以前练习中虽然实现过简单的网上购物,但只是使用JSP来实现。
本练习通过Servlet实现简易网上购物程序,该程序需要手动输入要购买的物品,输入完毕后可以提交输入物品。
可以多次输入和查看购买物品。
具体步骤如下:(1)分析程序。
该实例有三个Servlet类组成,分别为输入类GoShop、控制类Control和显示类Save。
(2)实现购物车输入界面:GoShosp.java文件,输入下列代码:
码转换。
在下面创建一个向量对象ve,并调用addElement()方法将获取的数据prod uct添加到向量对象中。
并使用session对象绑定向量ve。
(4)实现购买物品显示类:Save.java文件,输入下列代码:
该文件首先获取session对象绑定的向量ve,在while循环中,将向量中的信息输出到客户端。
(5)测试。
将上述三个Servlet文件配置,其配置方法和前面的Servlet相同。
请求GoShop的Servlet,其执行结果如图5-26。
在该图中输入要购买物品,单击【提交】按钮,会显示图5-27的窗口。
单击图5-27中的【查看所有物品】,会显示如图5-28所示窗口:
图5-26 选择商品页面图5-27 物品购买控制页面
图5-28 显示商品信息页面。
Java-Web应用开发:修改和清空购物车
4.3 修改和清空购物车1 目标在商品数量文本框内输入一个新的数量,点击“修改数量”,购物车刷新,按照新数量重新计算总金额。
如果用户输入“0”,修改数量之后,该条目从购物车中删除。
(程序未做JS有效值判断,所以请勿输入不合法的数量值)。
点击“清空购物车”,将购物车从session里删除。
2 思路(1) 购物车页面的表格是购物车对象cart的展示结果,表格中的每一行就是购物车cart中的一个元素,两者的内容和顺序是完全一样的。
(2) 购物车页面的表格是放在form表单里的,用户在文本框中修改数量后,点击“修改数量”超链接激发表单的提交,表单提交时,所有的数量文本框中的值都会被提交。
(3) 表单提交给CartEditServlet处理,该servlet取出每个商品数量文本框中的新值,将购物车里对应的商品数量修改为此新值(表格里的第一行商品对应的就是购物车里的第一件商品,第二行对应第二件,以此类推)。
如果某行的数量修改为0,这行对应的购物车商品就从购物车里移除。
(4) 数量文本框的命名规则为num+i,即第一件商品数量框名为num0,第二件为num1,第三件为num2。
这样在遍历购物车时,通过循环变量,就能拼接出当前商品的数量文本框名称,从而获得当前商品的新数量。
(5) 购物车商品数量修改完毕后,forward回查看购物车页面showCart.jsp,展示修改后的结果。
(6) 清空购物车,将购物车对象从session中移除或者把购物车对象clear。
3 步骤3.1 创建CartEditServlet类在cn.estore.servlet.cart包中,创建CartEditServlet类,该servlet处理购物车的修改和清空,由请求参数action的值区分用户动作,请求提交给此servlet的时候必须提供?action=**参数,如果action=clear表示清空,action=modify表示修改数量。
写javaweb购物车那些用文献
写javaweb购物车那些用文献
要编写一个JavaWeb购物车,您可以参考以下文献:
1. "Java Servlets and JSP - Build Java EE (JEE) app in 25 Steps" - Ranga Rao Karanam
这本书详细介绍了使用Java Servlets和JSP构建Java EE应用程序的步骤,其中包括购物车的实现。
2. "Head First Servlets and JSP: Passing the Sun Certified Web Component Developer Exam" - Bryan Basham, Kathy Sierra, Bert Bates
这本书是学习Java Servlets和JSP的经典教材,其中包含了购物车的示例代码和实现方法。
3. "Java Web Development: Servlet, JSP, Oracle Database, and Bootstrap" - LOKESH SAHU
这本书详细介绍了使用Java Servlets和JSP进行Web开发的方法,其中包括购物车的实现。
4. "Java Web Programming with Eclipse" - David Turner, Jinseok Chae
这本书介绍了使用Eclipse进行Java Web编程的方法,其中包含了购物车的实现示例。
这些文献提供了从基础知识到实际示例的全面指导,能够帮助您了解如何使用Java Servlets和JSP实现购物车功能。
JSP 使用session购物车
JSP 使用session购物车当客户在某家网站购买大量的各种商品时,需要跳转页面的次数会很多。
每当客户选择一种商品就需要把这种商品的信息记录到某个位置,并且这个记录能跟踪客户直到最后结账。
这样的“信息记录的位置”类似于某人去超市购物时使用的购物车,所以也把它形象的叫做“购物车”。
session对象可用于跟踪浏览者,本练习使用session对象实现简易的购物车。
这里需要三个页面相互协作来完成任务,第一个页面用于展示商品,供客户来选择,第二个页面用于实现购物流程的控制(选择继续购物或结账),另一个负责对客户结账处理。
步骤如下:(1)创建选择商品页面:shop.jsp,其效果如图3-19所示。
为了方便演示起见,本练习把客户选择商品过程简化为一个文本输入框,直接让客户输入商品名即可。
文件核心代码如下所示。
图3-19 选择商品<form name="form1" method="post" action="doShop.jsp"><div align="left"><table width="100%" border="0" cellspacing="5"><tr><td><p>请选择要购买的商品:<input type="text" name="goods"><input type="submit" name="Submit" value="提交"></p></td></tr></table></div></form>客户选择的商品数据并加入到购物车,另一个就是实现购物流程的控制(继续购物或结账)。
java项目开发实例
java项目开发实例
1. 实例一:购物车系统
该项目主要实现一个购物车系统,用户可以在网上购买商品,将商品放入购物车,然后结算,完成购买。
功能模块:
1. 用户登录注册:用户可以进行登录注册,可以保存用户信息;
2. 商品管理:可以增加删除商品,可以查看所有商品信息;
3. 购物车管理:可以将商品放入购物车,可以查看购物车中的商品;
4. 结算管理:可以查看购买的商品信息,并进行结算;
5. 订单管理:可以查看已经完成的订单,可以查看订单的状态。
实现技术:
1. 前端:HTML、CSS、JavaScript、Bootstrap等;
2. 后端:Servlet、JSP、MySQL等;
3. 框架:SpringMVC、Struts2等。
2. 实例二:在线考试系统
该项目主要实现一个在线考试系统,用户可以在网上进行考试,考试结束后可以查看考试结果。
功能模块:
1. 用户登录注册:用户可以进行登录注册,可以保存用户信息;
2. 试卷管理:可以增加删除试卷,可以查看所有试卷信息;
3. 试题管理:可以增加删除试题,可以查看所有试题信息;
4. 考试管理:可以设置考试时间,可以查看考试结果;
5. 成绩管理:可以查看考试成绩,可以查看。
购物车
一、/fly_winds/blog/static/531203252008254157519/if(action.equals("add")) {//添加商品String productid = request.getParameter("productid");CartDB dao = new CartDB();cartbean bean = new cartbean();bean=dao.getProductMessage(productid);boolean flag = true;Vector cart = (Vector) session.getAttribute("cart");if (cart == null) {//如果是第一次就创建购物车cart = new Vector();} else {//如果有该物品就数量加一for (int i = 0; i < cart.size(); i++) {cartbean bb = (cartbean) cart.elementAt(i);if (bb.getProductid().equals(productid)) {bb.setNumber(bb.getNumber() + 1);cart.setElementAt(bb, i);flag = false;}}}if (flag) {//如果是新商品就加入购物车中cart.addElement(bean);session.setAttribute("cart", cart);}response.sendRedirect("shoppingcart.jsp");}if (action.equals("modify")||action.equals("modify1")) {//更改购物车商品数量Vector cart = (Vector) session.getAttribute("cart");for (int i = 0; i < cart.size(); i++) {cartbean bb = (cartbean) cart.elementAt(i);int number = Integer.parseInt(request.getParameter("number" + i));bb.setNumber(number);}session.setAttribute("cart", cart);if(action.equals("modify")){response.sendRedirect("shoppingcart.jsp");}else if(action.equals("modify1")){response.sendRedirect("referorder.jsp");}}if (action.equals("del")||action.equals("del1")) {//从购物车上删除商品int id = Integer.parseInt(request.getParameter("id"));Vector cart = (Vector) session.getAttribute("cart");cart.removeElementAt(id);session.setAttribute("cart", cart);if(action.equals("del")){response.sendRedirect("shoppingcart.jsp");}else if(action.equals("del1")){response.sendRedirect("referorder.jsp");}}JSP中代码<%@ page contentType="text/html; charset=GBK" %> <%@ page import="java.util.Vector,shopping.bean.*" %> <html><head><title>购物车</title><link rel="stylesheet" type="text/css" href="syle/style.css"/> <style type="text/css"><!--.style5 {color: #FFFFFF;font-size: 16px;}-->.border {BORDER: #6687ba 1px solid}.style9 {color: #0792ed}body {margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;}</style><script type="" language="javascript">function back(){history.back();}</script><script language="javascript" type=""><!--function check(number){var result =number.value;if(result==""){alert("数量不能为空!");number.focus();return false;}if(isNaN(result) || result<=0){alert("请输入合法的数量!");number.focus();return false;}form1.submit();}--></script><script type="" language="javascript">function referorder(){location.href="referorder.jsp";}</script><title>shoppingcart</title></head><body bgcolor="#ffffff"><br /><%Vector cart = (Vector)session.getAttribute("cart");if(cart == null || cart.size() == 0) {out.println("<h3 align='center'>您的购物车为空!</h3>");out.println("<center><a href='LoginJsp.jsp'>继续购物</a></center>"); } else {%><h3 align="center">您的购物车</h3><form name="form1" action="cartservlet?action=modify" method="POST"> <table border="0" width="100%" class="border"><tr><th>编号</th><th>商品名称</th><th>单价</th><th>数量</th><th>金额</th><th>删除</th></tr><%float total = 0;for(int i = 0; i < cart.size(); i++) {cartbean bean = (cartbean)cart.elementAt(i);//float price = bean.getPrice();String productid = bean.getProductid();float price = bean.getPrice();int number = bean.getNumber();float sum = price * number;total = total + sum;String total2=""+total;bean.setTotalprice(sum);//orders or=new orders();//or.setTotalprice(total);session.setAttribute("totalprice",total2);%><tr><td align="center"><%=i+1 %></td><td align="center">诺基亚 <%=productid%></td><td align="center">¥<%=price%>元</td><td align="center"><input type="text" size="5" name="number<%=i%>" value="<%=number%>" onblur="check(this);"/></td><td align="center">¥<%=sum%>元</td><td align="center"><a href="cartservlet?action=del&id=<%=i%>">删除</a></td></tr><%}%><tr><td align="center" bgcolor="#FFCC00" colspan="7">商品金额总计:¥<font color="red"><%=total %>元</font><input name="button2" type="button" class="input_bot" value="去收银台" onclick="referorder();"><input name="button" type="button" class="input_bot" onClick="back();" value="继续购物"></td> </tr></table></form><%}%></body></html>二、内置对象实例--购物车简介一、主要功能:1、“index.jsp”页面中显示用户可以购买的商品。
