<p><h1 align="center">37.基于sevlet+jsp的网上商城管理系统</h1></p>
<p> 获取sql文件 QQ: 386869957 QQ群: 377586148 </p>
<p> [推荐站点: 从戎源码网](https://armycodes.com/) </p>
## 简介
> 本代码来源于网络,仅供学习参考使用!
> 登录地址:http://localhost:8080/
> 用户名密码:admin 123456
>
## 环境
- <b>IntelliJ IDEA 2009.3</b>
- <b>Mysql 5.7.26</b>
- <b>Tomcat 7.0.73</b>
- <b>JDK 1.8</b>
## 简介
基于sevlet+jsp的网上商城管理系统:运行在Tomcat 7.0的web工程,前台用了jsp、js、css等技术,后台用了Servlet作控制器调用java类来进行业务处理,MySQL后台数据库。
大学期末实训项目。
亮点
1. 从高层架构至底层细节的编码思路和方法,从底层数据库到实体类、逻辑类再到控制层最后到表层页面的设计编码顺序。
2. 边开发边测试的开发过程实践。
3. 整合多个Servlet调用,使用传入操作参数operate实现区别调用业务逻辑。
4. 从数据库中按需地有限地取出需要数据,以保证数据的安全性。
## 功能说明
1. #### 注册
1. 点击登录页面下方的“注册”按钮进入注册页面。
2. 注册页面包括:用户名、用户编号(待分配)、密码、确认密码(需与密码一直)、真实名、性别、证件类型、证件号、电话号码、邮箱地址、所在城市、添加时间(自动生成)、联系地址。
3. 填写完毕之后,点击下方“注册”按钮提交填写资料;“重置”按钮清空填写。
4. 经过后台处理,若填写的资料合法则录入保存数据库,并返回成功提示(包括注册的用户名跟用户编号)同时跳转到登录页面;否则,弹出错误提示并刷新注册页面。
2. #### 登录
1. 登录页面是本站入口
2. 填写用户名、密码之后点击“提交”按钮提交登录信息;“重置”按钮清空填写。
3. 经过后台处理,若登录的用户名跟密码均存在,则提示登录成功同时跳转到网站主页面;若用户名不存在,则提示用户名错误同时刷新登录页面;若存在用户名却不是相应的密码,则提示密码错误同时刷新登录页面。
3. #### 网站主页面
1. 登录成功进入主页面:
1. 上方,登录的用户信息:用户编号、用户类型、真实姓名
2. 左边,菜单栏:点击按钮在右边内容框架显示相应内容,根据用户类型不同显示按钮不同。
3. 右边,内容页:默认显示欢迎页,通过点击菜单栏按钮来改变进入的页面。
2. 菜单栏项目:
1. 一般用户:查看商品、查看商品类型、查看订单、退出登录
2. 管理员:查看商品、查看商品类型、查看订单、添加商品、添加商品类型、添加订单、查看用户、退出登录
4. #### 查看商品
1. 点击菜单栏“查看商品”按钮在内容框架现实所有商品查询结果。
2. 商品查询结果包括:商品编号、商品名称、简介、品牌、原产地、单价、折扣、添加时间、商品销售总数、商品类型名称、操作。
3. 通过“操作”栏下 查看详细、修改、删除 三个超链接可实现删、改、查等功能。
4. 查看详细:点击“查看详细”链接,进入商品详细页面,显示包括:商品名称、商品编号、商品简介、品牌、原产地、价格、折扣、商品图片、商品类型名称、添加日期、商品数量。其中,商品图片以图片方式显示。
5. 修改:点击“修改”链接,进入商品修改页面,可修改包括:商品名称、商品简介、品牌、原产地、价格、折扣、商品图片、商品类型、商品数量。商品编号无法更改,添加日期自动生成。商品类型则为下拉选框。
6. 删除:点击“删除”链接,删除此条商品信息。若删除成功,则弹出成功提示。
5. #### 添加商品
1. 点击菜单栏“添加商品”按钮,在内容框架打开添加商品页面。
2. 添加商品需填写项目包括:商品名称、商品简介、品牌、原产地、价格、折扣、商品图片、商品类型名称、商品数量。商品类型为下拉选框,添加日期为自动生成。若添加成功,则弹出提示显示该商品被分配到的id。
6. #### 退出登录
1. 点击菜单栏“退出登录”按钮返回登录页面,并同时销毁当前session。
## 心得总结
### 实训收获
这次期末实训的项目是在线商城系统。在制作商城系统的过程中,我把重心放在了后台servlet、实体和逻辑类的构建编码上。实体类用数据类型进行封装,极大的简化了参数的数据结构和传值效率;一个servlet通过operate(操作)参数判断当前提交操作,合并了同一实体的多个servlet,极大简化了代码增强了可读性;在dao的逻辑处理类中,通过调用DBHandle(数据库操作类),把复杂的逻辑过程用方法封装,隐蔽了内部逻辑,调用时更简洁明了。
除了后台,前端编写方面,我也参照了各个网站比较常见的写法。例如,用link标签stylesheet外联css样式表,做到一个css样式多个网页重复利用;css内部的样式的过滤器优先级的使用方法;页面上用javascript获取窗口DOM对象以及实现提交跳转。
### 后台编码的心得
1. 全新的代码构建方式:从底层到顶层(数据库→数据库操作类→实体类→逻辑类→servlet处理类→前台网页)。
2. 重构架大于重功能:一开始先统一创建好每一个操作层面的包与其中的类,再之后的编程中有着更清晰的调用思路。增强了代码的可维护性。
3. comm包的使用:在servlet、实体、逻辑层面之外,建立comm通用包以存放通用类。除了DBHandle这样的底层通用操作之外,servlet里也有大量的重复处理操作(例如设置字体,清除过期的session属性等)。我把这些相同操作抽象封装到comm.ServletDeal类中的静态方法,极大的隐蔽了代码细节,在servlet之中只需关系传入传出的调用结果即可。
4. 编码过程中的测试:comm包中专门建立了测试类Dome,以便在后台编码的过程中针对每一个方法能够编写测试用例(尽管没有用Junit而是用的main方法加输出)。达到边开发边测试的编码效果,有bug能及时发现,极大的减少了单个环节出错的概率。
5. 插入新的条目之后返回id:插入数据库成功,数据库会自动分配id。add方法如果返回的是此id则更加符合需求,于是把插入成功条目数改成新插入条目的id。
### 前台编码的心得
1. css外联样式表的使用:在webcontent网站根目录文件里专门建立CSS文件夹,统一放置外联样式文件,方便整理调用。
2. css样式表里选择器的语法及其优先级:id>标签+属性+值>class>标签+属性>标签;class之内的标签可以通过最上级class获取等等。
3. 使用javascript的DOM对象:获取名为“content”的窗口:"var win=top.frams['content'];"。在目标窗口内实现页面跳转:" win.location.href="./login.jsp" "。
4. 页面session的使用与销毁:例如在登录界面检查是否存在登录的session属性"loginUserinfo",若存在,则用invalidate()方法销毁当前session。
### 不足
1. 合法性检测及防卫性编程:页面输入在提交之前应有javascript检测输入合法性,若输入不合法则应在提交servlet之前阻止提交,以减少资源的消耗。同时对于各种可能的误操作及误输入没有有效的阻挡和提示。
2. 严格的安全性:例如在用户登录时储存在session中的用户信息,不应包括密码;若操作需要验证密码,则应提交到数据库重新请求验证。
3. 按钮化和文件传输:用户信息的填写,商品图片的提交,这�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于sevlet+jsp的网上商城管理系统:运行在Tomcat 7.0的web工程,前台用了jsp、js、css等技术,后台用了Servlet作控制器调用java类来进行业务处理,MySQL后台数据库。.zip 适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关项目/竞赛学习等。 项目具有较高的学习借鉴价值,也可直接拿来修改复现。可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。 可放心下载学习借鉴,你会有所收获。 —— 对于学习和实践,选择合适的项目和资源确实是一种有效的方式。 在进行毕业设计、课程设计或大作业时,选择具备学习借鉴价值的项目可以帮助你理解和应用所学知识,同时也可以通过修改和扩展来实现其他功能。 通过参与实际项目,你可以应用所学的理论知识,深入了解软件开发或其他领域的实践流程和技术要求。 可放心下载学习借鉴,你会有所收获。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
资源推荐
资源详情
资源评论
收起资源包目录
基于sevlet+jsp的网上商城管理系统:运行在Tomcat 7.0的web工程,前台用了jsp、js、css等技术,后台用了Servlet作控制器调用java类来进行业务处理,MySQL后台数据库。.zip (71个子文件)
archiewebcode1
src
buss
OrdersServlet.java 3KB
GoodsServlet.java 5KB
UserServlet.java 5KB
TypeServlet.java 5KB
dao
UserDao.java 5KB
GoodsDao.java 5KB
OrdersDao.java 5KB
TypeDao.java 3KB
comm
DBHandle.java 2KB
ServletDeal.java 1KB
Constant.java 735B
Demo.java 2KB
vo
Type.java 355B
Goods.java 2KB
Orders.java 2KB
User.java 2KB
screenshot
3.png 100KB
1.png 10KB
6.png 58KB
5.png 39KB
4.png 210KB
7.png 61KB
2.png 20KB
web
WEB-INF
web.xml 304B
WebContent
CSS
detailTable.css 498B
menuStyle.css 180B
queryTable.css 236B
errPageStyle.css 77B
User
userList.jsp 2KB
register.jsp 3KB
login.jsp 1KB
WEB-INF
lib
mysql-connector-java-5.1.7-bin.jar 693KB
web.xml 406B
Type
typeAdd.jsp 948B
typeModify_err.jsp 518B
typeDetail.jsp 1017B
typeList.jsp 1KB
typeAdd_err.jsp 504B
typeModify.jsp 1KB
MainFrame
menu.jsp 2KB
welcome.jsp 444B
title.jsp 771B
homepage.jsp 554B
Goods
goodsList.jsp 2KB
goodsModify.jsp 3KB
goodsModify_err.jsp 544B
goodsDetail.jsp 3KB
goodsAdd.jsp 2KB
goodsAdd_err.jsp 500B
img
beizi.jpg 6KB
20140103120224750_iPhone5s.jpg 69KB
410019804-1_l.jpg 6KB
20140101195811984_biao.jpg 11KB
biao.jpg 11KB
daily.jpg 5KB
20140101200534156_xiushengyurongfu.png 128KB
20140101195948906_fugumaoyi.png 156KB
20140102180307500_iPhone_5s.jpg 114KB
002.jpg 4KB
beizi1.jpg 6KB
20140103150112406_jpg_200x200.jpg 26KB
20140103154657296_jpg_200x200.jpg 26KB
20140103120140875_iPhone5s.jpg 69KB
20140102180337359_iPhone_5s.jpg 114KB
20140102180149703_xiaoMihei.png 165KB
20140103120257828_iPhone5s.jpg 69KB
META-INF
MANIFEST.MF 36B
Orders
ordersAdd.jsp 769B
ordersList.jsp 2KB
.gitignore 635B
README.md 9KB
共 71 条
- 1
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功