目的是将后端逻辑、流程、业务写清楚,所以前端代码很简陋(丑)
-
功能一:登录
-
功能二:注册
-
功能三:欢迎界面
-
功能四:商品分类界面
-
功能五:购物界面
-
功能六:结算界面
还有很多瑕疵并没有进行处理(这个 demo 只是为了使用 Tomcat 练习 Servlet、JSP、EL、JSTL,了解流程,所以只实现了部分功能):
- 界面丑
- 无法查询用户信息(用户看不到自己的余额、已购买商品记录、浏览记录…)
- 用户无法充钱
- 购物界面,一份商品一次只能选择一个
- 商品存量可以为负数
- 没有设置管理员(控制商品存量、进货、改价、添加新货)
- 结算界面无法去除商品
- 用户无法对购物车结算
- …
完整代码获取
环境
- 编程语言:Java 14.0.1
- IDE:intelliJ IDEA 2020.1
- 数据库:MySQL 8.0(用户名与密码都是root,ip及端口是localhost:3306)
- JDBC:mysql-connector-java-8.0.20.jar
- Web容器:Tomcat 9.0.37
- 交互:浏览器
数据库初始化
- 创建三张表格:用户表格、商品种类表格、商品表格
- 商品表格与商品种类表格是多对一的关系
create database shopping;
use shopping;
create table user(
uname varchar(20),
upassword varchar(20),
ubalance float(10,2)
);
alter table user add primary key(uname);
insert into user values('zhangsan','333',3000);
insert into user values('lisi','444',4000);
create table kind(
kid int(4),
kname varchar(20)
);
alter table kind add primary key(kid);
insert into kind values(1,'食品');
insert into kind values(2,'书籍');
insert into kind values(3,'服饰');
create table commodity(
cid int(6),
cname varchar(20),
cprice float(10,2),
ccount int(6),
kid int(4)
);
alter table commodity add primary key(cid);
alter table commodity add constraint fk_commodity_kind foreign key (kid) references kind(kid);
insert into commodity values(1,'费列罗巧克力',10,100,1);
insert into commodity values(2,'安慕希酸奶',8,100,1);
insert into commodity values(3,'百草味草莓干',20,100,1);
insert into commodity values(4,'Head First Java',78,100,2);
insert into commodity values(5,'Java核心技术',87,100,2);
insert into commodity values(6,'算法导论',96,100,2);
insert into commodity values(7,'程序员格子衫',200,100,3);
insert into commodity values(8,'程序员双肩包',150,100,3);
insert into commodity values(9,'程序员假发',300,100,3);
编辑器配置参考
idea编辑器的一些必要设置(仅供参考)
- 字符编码
idea编辑器 > File > Settings > Editor > File Encodings
- JDBC的jar包关联
idea编辑器 > File > Project Structure > Libraries > + > Java
- Web容器配置
idea编辑器 > Run> Edit Configurations
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)