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. 解读java同步类CountDownLatch

    同步辅助类: CountDownLatch是一个同步辅助类,在jdk5中引入,它允许一个或多个线程等待其他线程操作完成之后才执行. 实现原理 : CountDownLatch是通过计数器的方式来实现, ...

  2. JQuery 思维导图

    JQuery 就这么点内容,但是他能做出很多很多的效果.

  3. 剑指OFFER——合并两个有序的链表

    输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 再做这道题就是想不起来书上怎么做的了,但是最近看STL里面全是这种基础的合并啊,比较啊.就算不会也看会了. ...

  4. # webpack 3 & React 的简单配置 。

    今天真是难过的一天

  5. SLF4J源码解析-LoggerFactory(一)

    slf4j的含义为Simple logging facade for Java,其为简单的为java实现的日志打印工具,本文则对其源码进行简单的分析 JAVA调用SLF4J public class ...

  6. [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等

    1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...

  7. 【Linux】新建用户 用户组

      案例 hadoop #添加用户组 sudo useradd -s /bin/bash -g hadoop -d /home/hadoop -m hadoop #添加用户 sudo passwd h ...

  8. cygwin环境c语言开发

    . 在windows上开发c语言,使用sublime编辑器 在工具栏tools-->run 结果报错,原因是没有在GNU环境下使用sublime text2 在 cygwin环境下启动subli ...

  9. C#基础 课堂笔记 下

           函数 1.认识函数  定义:具有独立功能,并能通过名称重复使用的代码  函数的声明位置 必须在   类   中  函数声明语法  函数声明示例  函数的调用   定义:函数调用就是使用函 ...

  10. java异常之后代码执行测试

    1.程序代码: public static void main(String[] args) { int[] a = {1,2,3}; for(int i=0;i<4;i++){ System. ...