JAVAWEB综训报告 用SERVLET实现购物车
JSP实训报告

二、应用JSP+Servlet+JavaBean实现购物车修改
1.编辑list_cart.jsp页面,通过购物车列表中每个商品记录中的“-”和“+”超链接实现商品数量的修改;
2.编写CartServlet逻辑处理代码。
三、应用Filter实现中文乱码处理
1.创建过滤器类EncodingFilter,实现Filter接口;
2.编写EncodingFilter类代码;
3.配置Filter;
工作过程
记录
资讯获取与分析:
获取购物车实体类cart的属性,获取购物中商品的信息。
设计与实现:
添加类cart,创建空构造方法,创造getset方法。创建com.digital.servlet包,创建servlet,在里面创建dopost和doget方法实现购物车的添加和修改。
最后在网页中访决页面出现中文乱码暂时修改页面为utf-8格式学习体会:
实验过程中,要学会多咨询,询问,才能做得更好
遗留的问题与改进方案:
有一些不懂得地方,需要不断的学习与完善。准备课后咨询同学
工作评价
综合素质(30%)
同学签字
工作任务(40%)
技能训练(10%)
《JSP应用开发》工作任务书
项目四:JSP+Servlet+JavaBean实现购物车
学号
姓名
班级
组别
组长
成员名单
责任教师
工作任务
1、应用JSP+Servlet+JavaBean实现购物车添加
2、应用JSP+Servlet+JavaBean实现购物车修改
3、应用Filter实现中文乱码处理
javaweb购物车课程设计

java web购物车课程设计一、课程目标知识目标:1. 理解Java Web购物车的概念和作用,掌握其基本原理;2. 学会使用Java语言及相关技术,如Servlet和JSP,实现购物车的增删改查功能;3. 掌握数据库连接和操作,将购物车数据存储到数据库中;4. 了解Java Web项目的部署和运行过程。
技能目标:1. 能够独立设计和编写Java Web购物车程序,具备实际项目开发能力;2. 掌握调试和优化Java Web购物车程序的方法,提高程序性能;3. 学会使用版本控制工具,如Git,对项目进行管理和维护;4. 具备一定的项目分析和解决问题的能力。
情感态度价值观目标:1. 培养学生对Java Web编程的兴趣和热情,激发学习动力;2. 培养学生的团队协作精神,学会与他人共同解决问题;3. 培养学生的创新意识,敢于尝试新技术和新方法;4. 增强学生的网络安全意识,遵循法律法规,保护用户隐私。
本课程针对高中年级学生,结合课程性质、学生特点和教学要求,将目标分解为具体的学习成果。
通过本课程的学习,学生能够掌握Java Web购物车的开发技能,培养编程兴趣和团队协作能力,为未来从事计算机相关领域工作打下坚实基础。
二、教学内容1. Java Web基础:回顾Java基础知识,学习Servlet和JSP技术,理解Web服务器工作原理。
- 教材章节:第1章 Java Web概述,第2章 Servlet技术,第3章 JSP技术。
- 内容安排:了解Java Web开发环境,掌握Servlet的生命周期方法,学习JSP页面内置对象和标签库。
2. 数据库操作:学习数据库基本操作,掌握JDBC技术,实现购物车数据存储。
- 教材章节:第4章 数据库基础,第5章 JDBC技术。
- 内容安排:学习数据库的基本概念,掌握SQL语句编写,学习JDBC连接数据库及操作。
3. 购物车功能实现:根据需求分析,设计和编写购物车功能模块。
JAVAWEB开发_购物车功能实现

JAVAWEB开发_购物车功能实现购物车是一个非常常见的功能,用于记录用户选择的商品和相应的数量,以便用户可以随时查看和管理自己的购物清单。
在Java Web开发中实现购物车功能,需要考虑以下几个方面:1. 数据模型设计:购物车功能需要记录商品信息和数量,可以设计一个CartItem类表示购物车中的一项商品,包含商品信息(如商品ID、名称、价格等)和数量属性。
另外,还需要设计一个ShoppingCart类表示整个购物车,包含CartItem对象的集合和相关操作方法。
2. 数据存储与管理:购物车数据可以存储在内存中或数据库中,根据实际需求选择适合的方式。
购物车功能需要实现添加商品、删除商品、更新数量和清空购物车等操作,可以在ShoppingCart类中定义相应的方法实现这些功能。
例如,添加商品可以通过一个addItem方法,将CartItem对象添加到购物车的集合中。
3. 用户界面设计:购物车功能需要提供一个用户界面用于展示购物车中的商品和相关操作,可以使用JSP、HTML和CSS等技术实现。
用户界面需要展示商品的名称、价格和数量,并提供相应的操作按钮用于删除商品、更新数量和清空购物车等操作。
用户在界面上可以修改商品数量后,需要通过Ajax或表单提交等方式更新购物车中的相应商品数量。
4. 数据持久化:购物车功能需要实现用户登录状态下购物车数据的持久化,以便用户可以在下次登录后继续使用之前的购物车数据。
可以使用Session或Cookie等技术实现购物车数据的存储和恢复。
当用户登录时,可以将购物车数据保存到数据库中;当用户再次登录时,可以从数据库中加载之前保存的购物车数据。
5. 价格计算与结算:购物车功能需要计算购物车中商品的总价,并提供结算功能。
可以在ShoppingCart类中定义一个calculateTotalPrice方法实现价格计算,根据购物车中的商品数量和价格计算总价。
结算功能可以调用支付接口完成支付操作,也可以将订单保存到数据库中,并跳转到订单确认页面。
应用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>【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】。
javaweb购物车源代码2

在这里做的是一个图书购物车简单的小系统。
Megan 运行结果部分图片显示:所以需要创建一个实体类,其中应该包括一个书本的所有内容,将其set,get,和构造方法补充完毕,将其类称为Book.java。
然后需要创建一个Dome.java来代替数据库,也就是说这个Dome里面的数据将作为数据库。
接着就是Java web的三层模型,分别是Dao Service Servlet在这里做的都是模拟,因为是Dome.java模拟的是数据,所以也不用在连接数据库了,因为Dome里面的数据是Book类型的,所以在这里面使用了Map<String,Book>的类型,将数据使用map.put的方法添加进去。
下面就是Dao层的代码不需要数据库,所以这里就简单了,直接创建新的方法就可以了。
创建GetAll()方法,获取存放书籍的Map集合。
创建find的方法,根据关键字获取某本书籍,也就是获取的时候某一个id值下面的book 因为购物车是一个整体,购物车里面放的是购物项,可以对其进行增加或者删除什么的操作,所以创建一个Cart.java这就是购物车类,创建CartItem.java这是购物车之中的购物项,购物项中应该包括Book,以及这本书的quantity,还有价钱,需要注意的是该五项的价钱应该等于书的数量*这本书的价格。
所以在补充set,get方法的时候,应该将其getPrice的方法重新在写一下。
购物车里面是购物项和购物车的总价格,在这里创建一个map集合Map<String,CartItem>,创建方法:addBook将购物项加入到购物车里面,创建方法:getPrice购物车的总价就是所有购物项的价格加起来,addBook的时候,还需要判断购物车是否存在该购物项,如果不存在的话就需要new CartItem,将用户传递过来的书籍作为其中的参数,将购物项的数量设置为1,然后使用map.put,将购物项加入到购物车其中,如果该购物项存在的话,那么只需要将其的数量设置加1就可以了,然后对getPrice的方法进行修改,将购物车的总价就是所有的购物项的价格加起来Service层就是对Dao层的调用,getAll(),findBook(),添加购买书籍。
J2EE聊天室和购物车实验报告

实验报告||实验名称实现聊天室和购物车课程名称Java EE编程技术||一、实验目的及要求学生在了解Java语言的基础上了解并掌握J2EE的构架及相关技术,重点掌握核心技术中最基本的Servlet、JSP、Javabean、JDBC,初步具有基于J2EE平台的软件开发能力、设计并实现小型应用系统1.设计并实现简单的聊天室:1)要求使用JSP或者servlet,使用session控制2)至少3个页面3)使用application对象或者servletcontext保存聊天信息4)能进行用户登录验证5)能显示在线用户名及数量6)供多个用户同时聊天7)选作:数据库存用户名、注册、登录2. 实现购物车1)使用servlet、JSP实现购物车,要求使用java的集合对象、session控制,购物车在结算前能进行购买数量的反复修改。
2)使用javaBean对购物车进行重新整合实现,实现表示层和业务逻辑层的分离。
3)选作:使用数据库保存货物和购物订单、用户登录、注册二、所用仪器、设备PC机,基于window xp 或者windows server 平台,使用JDK+Netbeans+MySQL为开发工具三、实验原理1.设计结构框架如下图2.聊天室由index.jsp , logincheck.jsp,room.jsp , say.jsp,out.jsp 构成。
购物车由index.jsp ,shopping.jsp , sure.jsp构成。
控制层是用来实现各个表示层间的跳转以及对数据的操作。
数据层由session和application构成。
3.javabean实质是一个java类;使用javabean可以实现代码的重复利用,减少代码的使用量。
Index.jsp//登录页面Logcheck.jsp//验证用户名,重定向到聊天室Room.jsp//聊天室,接收和显示聊天内容Say.jsp//获得和处理聊天内容并转回room.jspout.jsp//将用户状态改为下线,即将用户从application中删除四、实验结果 1.聊天室登陆聊天室Index.jsp //商场主页Shoping.jsp //将所买的物品的数量及复选框的选择情况记录到session ,并通过调用javabean 计算物品总花费。
javaee购物车课程设计

javaee购物车课程设计一、课程目标知识目标:1. 学生能理解Java EE购物车的基本概念,掌握其核心功能和实现原理。
2. 学生能掌握使用Servlet和JSP实现购物车功能的基本步骤,了解相关的Java类和接口。
3. 学生能了解数据库连接和操作在购物车中的应用,掌握SQL语句的编写和执行。
技能目标:1. 学生能运用Java EE技术独立设计和实现一个简单的购物车系统。
2. 学生能通过调试和优化,解决购物车系统中可能出现的问题。
3. 学生能运用所学知识对购物车系统进行拓展,提高系统的功能和性能。
情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情,提高自主学习和解决问题的能力。
2. 学生在团队协作中,学会沟通与分工,培养合作精神和集体荣誉感。
3. 学生通过购物车项目实践,认识到编程在生活中的实际应用,激发创新意识。
课程性质:本课程为Java EE方向的实践课程,以项目为导向,注重培养学生的动手能力和实际应用能力。
学生特点:学生已具备一定的Java基础,熟悉Java语法和面向对象编程,对Web开发有一定了解。
教学要求:教师需结合实际项目,引导学生掌握购物车的核心技术和实现方法,注重实践与理论相结合,提高学生的编程能力和解决问题的能力。
同时,关注学生的情感态度价值观培养,使学生在课程学习中得到全面发展。
通过分解课程目标为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 购物车基本概念与功能需求分析- 购物车的作用和意义- 功能需求:添加商品、查看商品、修改商品数量、删除商品、结算2. Java EE技术基础- Servlet的生命周期和常用方法- JSP页面基本语法和内置对象- JavaBean的使用3. 数据库连接与操作- JDBC的使用- SQL语句编写与执行- 数据库连接池技术4. 购物车系统设计与实现- 系统架构设计- 购物车类的设计与实现- 购物车与数据库的交互5. 购物车功能模块开发- 添加商品到购物车- 查看购物车商品列表- 修改购物车商品数量- 删除购物车商品- 购物车结算功能6. 系统测试与优化- 功能测试- 性能测试- 安全性测试- 代码优化7. 课程项目与实践- 项目需求分析- 项目设计与实现- 项目测试与调试- 项目总结与拓展教学内容根据课程目标和教材章节安排,注重科学性和系统性。
java web开发之购物车功能实现

ShoppingCart shoppingCartTemp = new ShoppingCart();
if (null != temp) {
if (shoppingCartService.isExistUserAndCashTicket(user, temp)) {
}
}
}
/**
*添加cookie操作
*
* @param name
* cookie的name
* @param value
* cookie的value
*/
public void addCookie(String name, String value) {
Cookie cookie = new Cookie(name.trim(), value.trim());
*传递到这里,这时候,后台要做的就是从cookie中查询出是否有相同的记录,如果有相同的记录<br>*用户登录后:<br>
*用户在登录后,如果有添加购物车操作,则不用保存到cookie中,而是直接持久化购物车信息<br>
*
* @throws Exception
// System.out.println("there is no any cookie ..");
//没有cookie
} else {
for (Cookie c : cookies) {
System.out.println("haha there are many cookies :" + c.getName() + " " + c.getValue());
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 性能需求分析
随着计算机技术的发展和网络人口的增加,网络世界越来 越丰富,电子商务已经成为网上的一股潮流 。我们相信要不了 太长时间,顾客就可以在网络世界上获得他们在现实世界上可以
-3-
获得的所有商品和服务。而对图书的需求也与日俱增,因此开发 一个网上商店系统是有很大的实用价值和经济价值。
Book book=(Book)buylist.elementAt(i); %> <tr>
<td><b><%=book.getArtist()%></b></td> <td><b><%=book.getName()%></b></td> <td><b><%=book.getPrice()%></b></td> <td><b><%=book.getQuantity()%></b></td> </tr> </table> ………
………
(2)对所展示的书籍又不熟悉的,点击对应的书籍我们 设有详细信息的超链接,看完信息后可以点击“返回购物” 从而回到展示页面。
点击《简爱》书籍:
对于上面超链接部分的代码:
……… <p><img src="image/2.jpg" align="left" /><font color="#000000" size="+1" face="宋体">《简·爱》创作于英国谢菲尔德,是一部带有自传 色彩的长篇小说,它阐释了这样一个主题:人的价值=尊严+爱。《简·爱》
·····学院
Java Web 应用开发课程设计
用 Servlet 实现购物车
班 级:······· 姓 名:#####
### # # 指导教师:#
时间:2012/12/24 至 2012/12/28
目录
1、课程设计概述---------------------------3
1.1 课程设计的主要思想-----------------------3 1.2 课程设计的主要目的-----------------------3
res.setContentType("text/html;charset=GB2312"); req.setCharacterEncoding("GB2312"); HttpSession session=req.getSession(false); if(session==null) { res.sendRedirect("httP://localhost:8080/error.html"); }
</form> ………
(5) 如果以及确定要买的书籍就点击下面的“结账”,就 会到达结账功能模块的页面,这里将显示你的支付情 况。
结账页面对应的代码附录: ……
-8-
<table border="0" cellpadding="0" width="100%"> <%
Vector buylist=(Vector)session.getValue("shopping.shoppingcart"); String amount=(String)request.getAttribute("amount"); for(int i=0;i<buylist.size();i++) {
作。 (3) 能正确的运用 jsp,selvlet,javaben。 (4) 要注意连贯性,就是页面的跳转要连贯。
3、课程详细说明、调试
3.1 课程设计流程图
商品展示
选中
添加购物车
从车中取出
ቤተ መጻሕፍቲ ባይዱ
继续购物
结账
3.2 课程设计功能模块图
-4-
购物车各文件对应功能模块表
对应模块
对应文件
对应功能
商品展示模块
EShop.jsp
2、课程需求分析---------------------------3
2.1 性能需求分析-----------------------------3 2.2 功能需求分析-----------------------------4
3、课程详细说明、调试---------------------4
对于我们计算机软件专业的学生来说,这是一次我们所学知 识用于现实中的很有意义的实践活动,所以开发这样一个简单的 Servlet 实现的购物车是很有价值的。
2.2 功能需求分析
利用 Servlet 实现的这个购物车应具备的功能有: (1) 商品的展示界面,所选中购买商品的界面以及商品付
款的界面。 (2) 能对添加到购物车的商品进行添加,删除等简单的操
-6-
中的简爱人生追求有两个基本旋律:富有激情、幻想、反抗和坚持不懈的精 神;对人间自由幸福的渴望和对更高精神境界的追求。这本小说的主题是通 过对孤女坎坷不平的人生经历,成功地塑造了一个不安于现状、不甘受辱、 敢于抗争的女性形象,反映一个平凡心灵的坦诚倾诉的呼号和责难,一个小 写的人成为一个大写的人的渴望。<br><br>
}
-9-
else if(action.equals("ADD")){ boolean match=false; Book aBook=getBook(req); if(buylist==null){ buylist=new Vector(); buylist.addElement(aBook); } else{ for(int i=0;i<buylist.size();i++){ Book book=(Book)buylist.elementAt(i); if(book.getName().equals(aBook.getName())){
3.1 课程设计流程图---------------------------4 3.2 课程设计功能模块图-----------------------5 3.3 课程源代码调试示-------------------------5 3.4 课程需要注意的问题-----------------------11
用于显示商品的情况
购物车模块
Cart.jsp
用于显示购物车的情况
结账模块
CheckOut.jsp
用于显示结账的情况
数据存储模块 ShoppingServlete.java 用于数据的存储和计算
商品处理模块
Book.java
用于实现商品的对象化
3.3 课程源代码结果调试示例
(1)输入正确的地址将会显示的商品展示模块页面 在浏览器中输入 http://localhost:8080/sq1/EShop.js:
(6)关于数据的存储模块和商品的对象化模块的代码都
会用到,下面对这两个文件附录一些关键的代码:
ShoppingServlet.java:
………
重写 doPost()方法:
doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{
<h2 align="right"><a href="EShop.jsp">返回购买</a></h2> ………
(3)点击下拉列表选中自己喜欢的书籍,点击“添加到 购物车”就会到达购物车模块的页面,如果想删除就点击旁 边的“从购物车中取出”。
购物车界面对应的关键代码:
……… <%
for(int index=0;index<buylist.size();index++){ Book book=(Book)buylist.elementAt(index); %>
上面的商品展示界面对应的关键代码:
………
<form name="shoppingForm" action="bb" method="POST"> <b>书目</b> <select name="Book">
-5-
<option>简爱/作者一/14.95</option> <option>商务文件/作者二/16.95</option> <option>励志书/作者三/16.95</option> <option>投标书/作者四/13.95</option> <option>白雪公主/作者五/14.95</option> <option>小白看魔术/作者六/10.95</option> </select> <b>订购数量:</b> <input type="text" name="qty" size="3" value="1"/> <input type="hidden" name="action" value="ADD"/> <input type="submit" name="submit" value="添加到购物车"/> </form> </center> <p/> <jsp:include page="Cart.jsp"/>