1. 课程设计博客链接

项目地址

2. 个人负责模块或任务说明

ps:一个人做的项目

  • 一个登录jsp文件,登录成功转入商品界面,

  • 一个商品jsp文件,显示所有商品信息,数据从MySql数据库导入,可以加入购物车,然后跳转到购物车界面,

  • 一个购物车jsp文件,显示添加到购物车的商品信息,可以返回商品界面继续购物,也可以删除某商品,可以清空购物车,购物车界面可以显示商品总价,支付跳转到支付确认界面确认总价,结束系统。

3. 项目主要功能流程图

4. 自己的代码提交记录截图

5. 项目运行截图

6. 项目主要代码:

ShowProducts.jsp中主要代码:

<%
Map<String, Goods> products = new HashMap<String, Goods>();
ArrayList<Goods> list = new Connect().getAllgoods();
int num = 1;
for (Goods e : list)
products.put(String.valueOf(num++), e);
session.setAttribute("products", products);
%>
<%
Set productIdSet = products.keySet();
Iterator it = productIdSet.iterator();
int number = 1;
while (it.hasNext()) {
String id = (String) it.next();
Goods product = (Goods) products.get(id);
%>

Buy.jsp主要代码:

<%
Cart c = (Cart) session.getAttribute("cart");
if (c == null) {
c = new Cart();
session.setAttribute("cart", c);
}
Map products = (HashMap) session.getAttribute("products");//接收商品Map
List<GoodsItem> items = c.getItems();//购物车的商品条目放入List if (action != null && action.trim().equals("add")) {
String id = request.getParameter("id");
Goods p = (Goods) products.get(id);
GoodsItem gi = new GoodsItem();
gi.setGoods(p);
gi.setCount(1);
c.add(gi);
} if (action != null && action.trim().equals("clear")) {
c.clear(); } if (action != null && action.trim().equals("delete")) {
String id = (String) request.getParameter("id");
c.deleteItemById(id);
}
%>

“加入购物车”链接到Buy.jsp文件并传送选中的product.getId()值放到参数id和action方法add:

<a href="Buy.jsp?id=<%=product.getId()%>&action=add">加入购物车</a>(执行add转到购物车页面)

“删除”链接到Buy.jsp文件(本页面)并传送选中的gi.getGoods().getId()值放到参数id和action方法delect:

< a href="Buy.jsp?action=delete&id=<%=gi.getGoods().getId()%>">删除</a>(执行delect刷新本页面)

链接到商品界面:

<a href="ShowProducts.jsp" target="cart">返回</a>

执行clear刷新本页面:

<a href="Buy.jsp?action=clear">清空</a>

链接到支付确认页面,并把总价传送,执行clear

<%
double total = 0;
if (c.getTotalPrice() != 0)
total = c.getTotalPrice();
session.setAttribute("total", total);
%>
<a href="CheckPay.jsp?total=<%=total%>&action=clear">支付</a>

7. 课程设计感想

这个项目功能还太少,页面不够美观,有很大的改进空间。

通过这次课程设计,我学到了不少有用的知识,还有思考方法,实验过程非常艰辛,没日没夜的打代码查资料,还好结果是好的,努力了总会有收获。

2017Java课程设计201521123007的更多相关文章

  1. 2017JAVA课程设计

    1.团队课程设计博客链接 http://www.cnblogs.com/ltykm/p/7063663.html 2.个人负责模块或任务说明 本人任务:定时器具体功能的实现 3.自己的代码提交记录截图 ...

  2. [课程设计]任务进度条&开发日志目录

    任务进度条&开发日志目录 周期 时间 任务 Sprint One   11.14     ●  Scrum团队分工及明确任务1.0    Sprint One   11.15   ●  Scr ...

  3. 课程设计 --- 黑白棋中的 AI

    原文链接:https://www.dreamwings.cn/reversi/3013.html 到了考试周了佯,可是偏偏这个时候迎来了很多很多的课程设计,幸好教授把C语言的课程设计提前发出了,不然都 ...

  4. Java课程设计——扫雷(winmine)

    因为是我的课程设计,要是有冲突就不好了,转载注明出处!!! 程序很简单,毕竟我是搞acm的,我就只介绍一下闪光点. 中心空白搜索的时候,我用的DFS: 有一点是要注意的,就是JFrame不支持重画,还 ...

  5. [课程设计]Scrum 1.6 多鱼点餐系统开发进度

    [课程设计]Scrum 1.6 多鱼点餐系统开发进度(点餐页面按钮添加&修复) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4. ...

  6. [课程设计]Scrum 1.7 多鱼点餐系统开发进度

    [课程设计]Scrum 1.7 多鱼点餐系统开发进度(点餐菜式内容添加及美化) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题 ...

  7. [课程设计]Scrum 1.3 多鱼点餐系统开发进度

    [课程设计]Scrum 1.3 多鱼点餐系统开发进度   Scrum 1.3 多鱼点餐系统开发进度 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追 ...

  8. [课程设计]Scrum团队分工及明确任务1.0 ----多鱼点餐

    [课程设计]Scrum团队分工及明确任务1.0 ----多鱼点餐 一.开发背景 多鱼点餐系统是一套比较系统化的针对餐厅点餐服务的产品,从顾客进入餐厅点餐到用餐结束再到最后的结账买单,需要全面的.高效的 ...

  9. [课程设计]Scrum 1.6 多鱼点餐系统开发进度(点餐页面按钮添加&修复)

    [课程设计]Scrum 1.6 多鱼点餐系统开发进度(点餐页面按钮添加&修复) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4. ...

随机推荐

  1. Android Studio上修改项目(module)的包名(Package Name)

    当你对着包名右击,查找Refactor(重构)下的Rename(快捷键:SHIFT+F6)时,弹出来的仅仅是包名最后一个路径的名称,如下图: 但你往往希望修改整个包名,比如exmple,所以你需要以下 ...

  2. MYSQL updatexml报错注入

    首先了解下updatexml()函数 UPDATEXML (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为X ...

  3. Python学习笔记1:数据模型和特殊方法(魔术方法)

    首先不要脸的放上个人网站:www.comingnext.cn 1.关于数据模型 在Python的官方文档中是这样说的: 对象是Python对数据的抽象.Python程序中所有数据都由对象或对象之间的关 ...

  4. APP应用测试技巧

    分页数据 测试分页数据,必须要满足一页数据,根据APP设置的分页数据准备一些测试数据. 满足一页数据的时候上下滑动瀑布流时, 页面数据是否会正常展示: 是否会出现第二页请求不到数据: 是否会出现重复加 ...

  5. 转载:细说Cookie

    细说Cookie 转载:http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html 阅读目录 开始 Cookie 概述 Cookie的 ...

  6. git 生成公钥、私钥方法与clone使用方法

    我的配置流程 Git配置 Git安装完之后,需做git配置.打开git bash,分别执行以下两句命令 git config --global user.name "用户名" gi ...

  7. WeQuant交易策略—RSI

    RSI指标策略 策略介绍 RSI(相对强弱指标),是通过一段时期内的平均收盘上涨和下跌数,计算价格上涨所产生的波动占整个波动的百分比,来分析市场买卖盘的意向和实力. 计算公式(以日为单位举例) RSI ...

  8. Jquery $(this).attr和$(this).val用法示例

    以下是个人心得整理,有兴趣朋友可以参考参考 $(this).attr(key); 获取节点属性名为key的值,相当于getAttribute(key)方法 $(this).attr(key,value ...

  9. Andrew Ng机器学习课程笔记--week9(下)(推荐系统&协同过滤)

    本周内容较多,故分为上下两篇文章. 本文为下篇. 一.内容概要 1. Anomaly Detection Density Estimation Problem Motivation Gaussian ...

  10. TensorFlow框架(5)之机器学习实践

    1. Iris data set Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理.Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数据集,分为3类, ...