当前位置 : 主页 > 编程语言 > java >

MVC三层架构的JavaWeb商城项目的促销功能模块【基础版】开发过程记录

来源:互联网 收集:自由互联 发布时间:2023-03-22
一. Javaweb原生课程商城的促销模块(基础版)需求开发记录 1.1 项目背景 这是内科大2020届计科的JavaWeb的结课大作业。该作业要求设计一个原生的Javaweb项目。 本项目类型为:传统商城

一. Javaweb原生课程商城的促销模块(基础版)需求开发记录

1.1 项目背景

这是内科大2020届计科的JavaWeb的结课大作业。该作业要求设计一个原生的Javaweb项目。

  • 本项目类型为:传统商城
  • 本项目使用原生JavaWeb采用MVC架构,项目包括前台和后台
    • 前台用于用户购买产品
    • 后台用于管理
  • 本项目数据库采用Mysql
  • 本需求难度:量子微易
  • 本次项目需求:促销模块(基础版)

1.2 本次需求

系统新增功能扩展或优化功能:大家可以在本系统的基础上进行系统新增功能扩展或优化。如:评价,好评,差评,促销,优惠券,分期付款,售后,销售统计分析等等,这些只是一些提示,并不限于此。大家可以上淘宝、京东等网站找找系统新增功能扩展的思路。 11月5日晚7:00检查系统新增功能。

在写完了评价系统模块之后,我看了一些本次的任务需求:促销模块较为简单,逻辑简单。

  • 数据库在促销模块(基础版)不需要修改,在之后的我写的进阶版需要修改。
  • 为了满足多数读者的参考需求,本篇笔记较为详细,为保姆级教程。

二.开发过程

1.1 Curriculums类对象

1.新增加isPromotion(促销),这里是布尔类型,主要作用是后端的移入移出判断。在商品类对象里只需要添加:

private boolean isPromotion;

image-20221101140135054

2.在下面写下调用返回值:

public boolean getIsPromotion() { return isPromotion; } public void setPromotion(boolean isPromotion) { this.isPromotion = isPromotion; }

3.当然无参和有参返回也添加一下:(这里手动添加即可)

无参如下:

image-20221101140513374

有参如下:

image-20221101140545683

1.2 Service层

1.先到AdminCurriculumsListServlet里,找到如下调用方法,使用ctrl+鼠标左键点击进入目标Service层的相关方法中。

image-20221101140907840

2.得到如下图:

image-20221101141134694

3.观察上图,将下面语句添加到上面的红线中:

g.setPromotion(gDao.isPromotion(g));

1.3Dao层

在DAO层里写isPromotion方法,直接复制放进去即可!

public boolean isPromotion(Curriculums g) throws SQLException { return isRecommend(g, 4); }

在这里插入图片描述

1.4 Servlet层

Servlet无需修改。

1.5 Jsp页面

1.到下面这个页面中:是在admin文件夹下的Curriculums_list,找到自己对应的jsp文件,进入:

image-20221101141339279

2.将下面代码添加到下图指出的地方:

<c:choose> <c:when test="${g.isPromotion }"> <a rel="nofollow" class="btn btn-info" href="/admin/Curriculums_recommend?id=${g.id }&method=remove&typeTarget=4&pageNumber=${p.pageNumber}&type=${type}">移出促销</a> </c:when> <c:otherwise> <a rel="nofollow" class="btn btn-primary" href="/admin/Curriculums_recommend?id=${g.id }&method=add&typeTarget=4&pageNumber=${p.pageNumber}&type=${type}">加入促销</a> </c:otherwise> </c:choose>

上述代码解释:

这里是EL表达式,g.isPromotion是我们上面添加的布尔类型值,如果为ture,执行移出促销,反之加入促销。逻辑比较简单。

注意:

注意上面的typeTarget=4,这里改为4,因为我设计的促销类型为4,如果按照我的逻辑来的话,您可以选择直接的复制粘贴即可。

image-20221101141517059

3.还是在本jsp页面,我们到前面增加一个按钮:

<li <c:if test="${type==4 }">class="active"</c:if> role="presentation"><a rel="nofollow" href="/admin/Curriculums_list?type=4">爆款促销</a></li>

注意:

上面的${type==4 }

image-20221101141903599

1.6 前台jsp略微修改

1.到主文件夹下的header.jsp。

注意:

不是admin下的,我们这里要略微的改一下前台页面。

image-20221101142341357

2.找到这里,把下面的代码替换到下图的红色方框中。

<li><a rel="nofollow" href="/Curriculumsrecommend_list?type=4" <c:if test="${param.flag==3 && t==4}">class="active"</c:if>>6折促销</a></li>

注意:

/Curriculumsrecommend_list?type=4 这里的4,以及t==4

image-20221101142511187

1.7 效果展示

1.加入促销image-20221101142704911

2.促销查看:

image-20221101142740776

3.移出促销:

image-20221101142844395

4.前台促销专栏

image-20221101142831624

三. 最后

3.1 后续想法

大体想了一些做一个几折促销,设计到数据库的改动,和前台的3个页面的分别改动以及后端的大部分改动。较为麻烦,如果时间足够的话会尝试一下。毕竟自动的改变几折促销在后面的优惠券任务也是非常的相似。

网友评论