├── .gitignore ├── README.md ├── WebContent ├── CSS │ ├── detailTable.css │ ├── errPageStyle.css │ ├── menuStyle.css │ └── queryTable.css ├── Goods │ ├── goodsAdd.jsp │ ├── goodsAdd_err.jsp │ ├── goodsDetail.jsp │ ├── goodsList.jsp │ ├── goodsModify.jsp │ └── goodsModify_err.jsp ├── META-INF │ └── MANIFEST.MF ├── MainFrame │ ├── homepage.jsp │ ├── menu.jsp │ ├── title.jsp │ └── welcome.jsp ├── Orders │ ├── ordersAdd.jsp │ └── ordersList.jsp ├── Type │ ├── typeAdd.jsp │ ├── typeAdd_err.jsp │ ├── typeDetail.jsp │ ├── typeList.jsp │ ├── typeModify.jsp │ └── typeModify_err.jsp ├── User │ ├── login.jsp │ ├── register.jsp │ └── userList.jsp ├── WEB-INF │ ├── lib │ │ └── mysql-connector-java-5.1.7-bin.jar │ └── web.xml └── img │ ├── 002.jpg │ ├── 20140101195811984_biao.jpg │ ├── 20140101195948906_fugumaoyi.png │ ├── 20140101200534156_xiushengyurongfu.png │ ├── 20140102180149703_xiaoMihei.png │ ├── 20140102180307500_iPhone_5s.jpg │ ├── 20140102180337359_iPhone_5s.jpg │ ├── 20140103120140875_iPhone5s.jpg │ ├── 20140103120224750_iPhone5s.jpg │ ├── 20140103120257828_iPhone5s.jpg │ ├── 20140103150112406_jpg_200x200.jpg │ ├── 20140103154657296_jpg_200x200.jpg │ ├── 410019804-1_l.jpg │ ├── beizi.jpg │ ├── beizi1.jpg │ ├── biao.jpg │ └── daily.jpg ├── screenshot ├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── 6.png └── 7.png ├── src ├── buss │ ├── GoodsServlet.java │ ├── OrdersServlet.java │ ├── TypeServlet.java │ └── UserServlet.java ├── comm │ ├── Constant.java │ ├── DBHandle.java │ ├── Demo.java │ └── ServletDeal.java ├── dao │ ├── GoodsDao.java │ ├── OrdersDao.java │ ├── TypeDao.java │ └── UserDao.java └── vo │ ├── Goods.java │ ├── Orders.java │ ├── Type.java │ └── User.java └── web └── WEB-INF └── web.xml /.gitignore: -------------------------------------------------------------------------------- 1 | ###################################################################### 2 | # Build Tools 3 | 4 | .gradle 5 | /build/ 6 | !gradle/wrapper/gradle-wrapper.jar 7 | 8 | target/ 9 | !.mvn/wrapper/maven-wrapper.jar 10 | 11 | out/ 12 | 13 | ###################################################################### 14 | # IDE 15 | 16 | ### STS ### 17 | .apt_generated 18 | .classpath 19 | .factorypath 20 | .project 21 | .settings 22 | .springBeans 23 | 24 | ### IntelliJ IDEA ### 25 | .idea 26 | *.iws 27 | *.iml 28 | *.ipr 29 | 30 | ### NetBeans ### 31 | nbproject/private/ 32 | build/* 33 | nbbuild/ 34 | dist/ 35 | nbdist/ 36 | .nb-gradle/ 37 | 38 | ###################################################################### 39 | # Others 40 | *.log 41 | *.xml.versionsBackup 42 | *.swp 43 | 44 | !*/build/*.java 45 | !*/build/*.html 46 | !*/build/*.xml 47 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

37.基于sevlet+jsp的网上商城管理系统

2 | 3 | - 完整代码获取地址:从戎源码网 ([https://armycodes.com/](https://armycodes.com/)) 4 | - 技术探讨、资料分享,请加QQ群:692619798 5 | - 作者微信:19941326836 QQ:952045282 6 | - 承接计算机毕业设计、Java毕业设计、Python毕业设计、深度学习、机器学习 7 | - 选题+开题报告+任务书+程序定制+安装调试+论文+答辩ppt 一条龙服务 8 | - 所有选题地址 ([https://github.com/YuLin-Coder/AllProjectCatalog](https://github.com/YuLin-Coder/AllProjectCatalog)) 9 | 10 | ## 环境 11 | 12 | - IntelliJ IDEA 2009.3 13 | 14 | - Mysql 5.7.26 15 | 16 | - Tomcat 7.0.73 17 | 18 | - JDK 1.8 19 | 20 | 21 | ## 简介 22 | 基于sevlet+jsp的网上商城管理系统:运行在Tomcat 7.0的web工程,前台用了jsp、js、css等技术,后台用了Servlet作控制器调用java类来进行业务处理,MySQL后台数据库。 23 | 24 | 大学期末实训项目。 25 | 26 | 亮点 27 | 28 | 1. 从高层架构至底层细节的编码思路和方法,从底层数据库到实体类、逻辑类再到控制层最后到表层页面的设计编码顺序。 29 | 2. 边开发边测试的开发过程实践。 30 | 3. 整合多个Servlet调用,使用传入操作参数operate实现区别调用业务逻辑。 31 | 4. 从数据库中按需地有限地取出需要数据,以保证数据的安全性。 32 | 33 | ## 功能说明 34 | 35 | 1. #### 注册 36 | 1. 点击登录页面下方的“注册”按钮进入注册页面。 37 | 2. 注册页面包括:用户名、用户编号(待分配)、密码、确认密码(需与密码一直)、真实名、性别、证件类型、证件号、电话号码、邮箱地址、所在城市、添加时间(自动生成)、联系地址。 38 | 3. 填写完毕之后,点击下方“注册”按钮提交填写资料;“重置”按钮清空填写。 39 | 4. 经过后台处理,若填写的资料合法则录入保存数据库,并返回成功提示(包括注册的用户名跟用户编号)同时跳转到登录页面;否则,弹出错误提示并刷新注册页面。 40 | 2. #### 登录 41 | 1. 登录页面是本站入口 42 | 2. 填写用户名、密码之后点击“提交”按钮提交登录信息;“重置”按钮清空填写。 43 | 3. 经过后台处理,若登录的用户名跟密码均存在,则提示登录成功同时跳转到网站主页面;若用户名不存在,则提示用户名错误同时刷新登录页面;若存在用户名却不是相应的密码,则提示密码错误同时刷新登录页面。 44 | 3. #### 网站主页面 45 | 1. 登录成功进入主页面: 46 | 1. 上方,登录的用户信息:用户编号、用户类型、真实姓名 47 | 2. 左边,菜单栏:点击按钮在右边内容框架显示相应内容,根据用户类型不同显示按钮不同。 48 | 3. 右边,内容页:默认显示欢迎页,通过点击菜单栏按钮来改变进入的页面。 49 | 2. 菜单栏项目: 50 | 1. 一般用户:查看商品、查看商品类型、查看订单、退出登录 51 | 2. 管理员:查看商品、查看商品类型、查看订单、添加商品、添加商品类型、添加订单、查看用户、退出登录 52 | 53 | 4. #### 查看商品 54 | 1. 点击菜单栏“查看商品”按钮在内容框架现实所有商品查询结果。 55 | 2. 商品查询结果包括:商品编号、商品名称、简介、品牌、原产地、单价、折扣、添加时间、商品销售总数、商品类型名称、操作。 56 | 3. 通过“操作”栏下 查看详细、修改、删除 三个超链接可实现删、改、查等功能。 57 | 4. 查看详细:点击“查看详细”链接,进入商品详细页面,显示包括:商品名称、商品编号、商品简介、品牌、原产地、价格、折扣、商品图片、商品类型名称、添加日期、商品数量。其中,商品图片以图片方式显示。 58 | 5. 修改:点击“修改”链接,进入商品修改页面,可修改包括:商品名称、商品简介、品牌、原产地、价格、折扣、商品图片、商品类型、商品数量。商品编号无法更改,添加日期自动生成。商品类型则为下拉选框。 59 | 6. 删除:点击“删除”链接,删除此条商品信息。若删除成功,则弹出成功提示。 60 | 61 | 5. #### 添加商品 62 | 1. 点击菜单栏“添加商品”按钮,在内容框架打开添加商品页面。 63 | 2. 添加商品需填写项目包括:商品名称、商品简介、品牌、原产地、价格、折扣、商品图片、商品类型名称、商品数量。商品类型为下拉选框,添加日期为自动生成。若添加成功,则弹出提示显示该商品被分配到的id。 64 | 65 | 6. #### 退出登录 66 | 1. 点击菜单栏“退出登录”按钮返回登录页面,并同时销毁当前session。 67 | 68 | ## 心得总结 69 | ### 实训收获 70 | 这次期末实训的项目是在线商城系统。在制作商城系统的过程中,我把重心放在了后台servlet、实体和逻辑类的构建编码上。实体类用数据类型进行封装,极大的简化了参数的数据结构和传值效率;一个servlet通过operate(操作)参数判断当前提交操作,合并了同一实体的多个servlet,极大简化了代码增强了可读性;在dao的逻辑处理类中,通过调用DBHandle(数据库操作类),把复杂的逻辑过程用方法封装,隐蔽了内部逻辑,调用时更简洁明了。 71 | 72 | 除了后台,前端编写方面,我也参照了各个网站比较常见的写法。例如,用link标签stylesheet外联css样式表,做到一个css样式多个网页重复利用;css内部的样式的过滤器优先级的使用方法;页面上用javascript获取窗口DOM对象以及实现提交跳转。 73 | 74 | ### 后台编码的心得 75 | 1. 全新的代码构建方式:从底层到顶层(数据库→数据库操作类→实体类→逻辑类→servlet处理类→前台网页)。 76 | 2. 重构架大于重功能:一开始先统一创建好每一个操作层面的包与其中的类,再之后的编程中有着更清晰的调用思路。增强了代码的可维护性。 77 | 3. comm包的使用:在servlet、实体、逻辑层面之外,建立comm通用包以存放通用类。除了DBHandle这样的底层通用操作之外,servlet里也有大量的重复处理操作(例如设置字体,清除过期的session属性等)。我把这些相同操作抽象封装到comm.ServletDeal类中的静态方法,极大的隐蔽了代码细节,在servlet之中只需关系传入传出的调用结果即可。 78 | 4. 编码过程中的测试:comm包中专门建立了测试类Dome,以便在后台编码的过程中针对每一个方法能够编写测试用例(尽管没有用Junit而是用的main方法加输出)。达到边开发边测试的编码效果,有bug能及时发现,极大的减少了单个环节出错的概率。 79 | 5. 插入新的条目之后返回id:插入数据库成功,数据库会自动分配id。add方法如果返回的是此id则更加符合需求,于是把插入成功条目数改成新插入条目的id。 80 | 81 | ### 前台编码的心得 82 | 1. css外联样式表的使用:在webcontent网站根目录文件里专门建立CSS文件夹,统一放置外联样式文件,方便整理调用。 83 | 2. css样式表里选择器的语法及其优先级:id>标签+属性+值>class>标签+属性>标签;class之内的标签可以通过最上级class获取等等。 84 | 3. 使用javascript的DOM对象:获取名为“content”的窗口:"var win=top.frams['content'];"。在目标窗口内实现页面跳转:" win.location.href="./login.jsp" "。 85 | 4. 页面session的使用与销毁:例如在登录界面检查是否存在登录的session属性"loginUserinfo",若存在,则用invalidate()方法销毁当前session。 86 | 87 | 88 | ### 不足 89 | 1. 合法性检测及防卫性编程:页面输入在提交之前应有javascript检测输入合法性,若输入不合法则应在提交servlet之前阻止提交,以减少资源的消耗。同时对于各种可能的误操作及误输入没有有效的阻挡和提示。 90 | 2. 严格的安全性:例如在用户登录时储存在session中的用户信息,不应包括密码;若操作需要验证密码,则应提交到数据库重新请求验证。 91 | 3. 按钮化和文件传输:用户信息的填写,商品图片的提交,这种有严格规定的数据,应该通过按钮式操作自动化处理,而非用户自行输入填写。唯有如此才能减少错误发生,提高系统便利性。 92 | 4. 页面布局:采用frameset+table而非div,页面布局不够灵活,审美性不足。 93 | 94 | **总结**:编码的前期设计是非常重要的,代码在编写过程中的简洁、抽象、模块化、标准化都大大有助于代码的读取、编写和维护。 95 | 96 | ### 自我认识 97 | 98 | 通过这次项目实训的学习,我发现自己在项目构建的前期设计准备方面仍然有所欠缺,这种欠缺在这次的实训中有了深刻的认识。经过老师的一番点播,我意识到了软件工程对于实际编写代码的重要性。然后在编码的抽象化上,我尽量尝试了模块化抽象化的编写方法,并且注重代码的可读性。但我仍觉做得并不好,究其原因还是对项目的整个开发流程缺乏认识和经验。在以后的学习生活中,还应该更加努力,多多练习。 99 | 100 | ## 更新日志 101 | 撰写说明文档,上传已完成的在线商城系统项目。 102 | 103 | ## 运行截图 104 | ![](screenshot/1.png) 105 | 106 | ![](screenshot/2.png) 107 | 108 | ![](screenshot/3.png) 109 | 110 | ![](screenshot/4.png) 111 | 112 | ![](screenshot/5.png) 113 | 114 | ![](screenshot/6.png) 115 | 116 | ![](screenshot/7.png) 117 | -------------------------------------------------------------------------------- /WebContent/CSS/detailTable.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | table{ 3 | width:42em; 4 | margin:3em auto; 5 | } 6 | td,th{ 7 | padding:5px; 8 | border-width:1px; 9 | background-color:#f8fc6a; 10 | } 11 | th{ 12 | background-color:#c1e732; 13 | } 14 | td{ 15 | text-align:right; 16 | width:10em; 17 | } 18 | .objName{ 19 | background-color:#51cdff; 20 | width:6em; 21 | } 22 | .buttonBar{ 23 | background-color:transparent; 24 | text-align:center; 25 | height:3em; 26 | } 27 | .buttonStyle{ 28 | letter-spacing:1.5em; 29 | height:2em; 30 | padding-left:1.7em; 31 | } 32 | input[type=text],input[type=password]{ 33 | width:100%; 34 | height:1.5em; 35 | } 36 | #cutWidthInput{ 37 | width:80%; 38 | } -------------------------------------------------------------------------------- /WebContent/CSS/errPageStyle.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | *{ 3 | text-align:center; 4 | } 5 | h1{ 6 | color:red; 7 | margin-top:2em; 8 | } -------------------------------------------------------------------------------- /WebContent/CSS/menuStyle.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | *{ 3 | margin:0; 4 | padding:0; 5 | } 6 | body{ 7 | text-align:center; 8 | } 9 | input{ 10 | margin:10px auto; 11 | } 12 | .topButton{ 13 | margin-top:50px; 14 | } 15 | input[type=button]{ 16 | height:3em; 17 | width:7em; 18 | } -------------------------------------------------------------------------------- /WebContent/CSS/queryTable.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | table{ 3 | margin:0 auto; 4 | } 5 | td{ 6 | padding:5px; 7 | border-width:1px; 8 | } 9 | .title>td{ 10 | text-align:center; 11 | background-color:#51cdff; 12 | } 13 | .list>td{ 14 | background-color:#f8fc6a; 15 | } 16 | .col_short{ 17 | width:50px; 18 | } 19 | .col_operate{ 20 | width:90px; 21 | } -------------------------------------------------------------------------------- /WebContent/Goods/goodsAdd.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="java.util.Iterator"%> 2 | <%@page import="java.util.List"%> 3 | <%@page import="dao.TypeDao"%> 4 | <%@page import="vo.Type"%> 5 | <%@page import="java.util.Date"%> 6 | <%@page import="java.sql.Timestamp"%> 7 | <%@ page language="java" contentType="text/html; charset=UTF-8" 8 | pageEncoding="UTF-8"%> 9 | 10 | 11 | 12 | 13 | 添加商品 14 | 15 | 16 | <% 17 | List li=new TypeDao().query(""); 18 | Iterator it=li.iterator(); 19 | %> 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 78 | 79 |
添加商品
商品名称商品编号待分配
商品简介
品牌原产地
价格 元折扣 折
商品图片
商品类型 54 | 64 | 添加日期<%=new Timestamp(new Date().getTime()).toString() %>
商品数量 件
75 | 76 | 77 |
80 | 81 |
82 | 83 | -------------------------------------------------------------------------------- /WebContent/Goods/goodsAdd_err.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 商品添加出错 8 | 9 | 10 | 11 |

商品添加出错!

12 |

点击返回

13 | 14 | -------------------------------------------------------------------------------- /WebContent/Goods/goodsDetail.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="vo.Goods"%> 2 | <%@ page language="java" contentType="text/html; charset=UTF-8" 3 | pageEncoding="UTF-8"%> 4 | 5 | 6 | 7 | 8 | 查看商品详细 9 | 10 | 11 | <% 12 | Goods model=(Goods)session.getAttribute("SelectedGoodsInfo"); 13 | %> 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 |
商品详细
商品名称<%=model.getGoodsname() %>商品编号<%=model.getGoodsid() %>
商品简介<%=model.getSummary() %>
品牌<%=model.getBrand() %>原产地<%=model.getPlace() %>
价格<%=model.getPrice() %> 元折扣<%=model.getDiscount() %> 折
商品图片
商品类型名称<%=model.getTypeName() %>添加日期<%=model.getAddDate() %>
商品数量<%=model.getGoodssum() %> 件
59 | 105 | 106 | 111 | -------------------------------------------------------------------------------- /WebContent/Goods/goodsList.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="java.util.ArrayList"%> 2 | <%@page import="java.util.Iterator"%> 3 | <%@page import="vo.Goods"%> 4 | <%@page import="java.util.List"%> 5 | <%@ page language="java" contentType="text/html; charset=UTF-8" 6 | pageEncoding="UTF-8"%> 7 | 8 | 9 | 10 | 11 | 查询结果 12 | 13 | 14 | <% 15 | @SuppressWarnings("unchecked") 16 | List li=(List)session.getAttribute("GoodsList"); 17 | Iterator it=li.iterator(); 18 | %> 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | <% 35 | while(it.hasNext()){ 36 | Goods model=it.next(); 37 | %> 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 54 | 55 | <% 56 | } 57 | %> 58 |
商品编号商品名称简介品牌原产地单价折扣添加时间商品销售总数商品类型名称操作
<%=model.getGoodsid() %><%=model.getGoodsname() %><%=model.getSummary() %><%=model.getBrand() %><%=model.getPlace() %><%=model.getPrice() %><%=model.getDiscount() %><%=model.getAddDate() %><%=model.getGoodssum() %><%=model.getTypeName() %> 50 | 查看详细 51 | 修改 52 | 删除 53 |
59 | 60 | -------------------------------------------------------------------------------- /WebContent/Goods/goodsModify.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="dao.TypeDao"%> 2 | <%@page import="java.util.Iterator"%> 3 | <%@page import="vo.Type"%> 4 | <%@page import="java.util.List"%> 5 | <%@page import="vo.Goods"%> 6 | <%@ page language="java" contentType="text/html; charset=UTF-8" 7 | pageEncoding="UTF-8"%> 8 | 9 | 10 | 11 | 12 | 查看商品详细 13 | 14 | 15 | <% 16 | Goods model=(Goods)request.getSession().getAttribute("SelectedGoodsInfo"); 17 | List li = new TypeDao().query(""); 18 | Iterator it = li.iterator(); 19 | String selected=null; 20 | %> 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 81 | 82 |
商品信息
商品名称商品编号<%=model.getGoodsid() %>
商品简介
品牌原产地
价格 元折扣 折
商品图片
商品类型 56 | 67 | 添加日期<%=model.getAddDate() %>
商品数量 件
77 | 78 | 79 | 80 |
83 | 84 | 85 |
86 | 87 | 92 | -------------------------------------------------------------------------------- /WebContent/Goods/goodsModify_err.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 商品信息修改出错 8 | 9 | 10 | 11 |

商品信息修改出错!

12 |

点击返回

13 | 14 | -------------------------------------------------------------------------------- /WebContent/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /WebContent/MainFrame/homepage.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 主页面 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /WebContent/MainFrame/menu.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="vo.User"%> 2 | <%@ page language="java" contentType="text/html; charset=UTF-8" 3 | pageEncoding="UTF-8"%> 4 | 5 | 6 | 7 | 8 | 菜单栏 9 | 10 | 11 | <% 12 | User model=(User)session.getAttribute("loginUserinfo"); 13 | boolean isAdmin="1".equals(model.getUserType()); 14 | %> 15 | 16 |
17 |
18 |
19 | <% 20 | if(isAdmin){ 21 | %> 22 |
23 |
24 |
25 |
26 | <% 27 | } 28 | %> 29 |
30 | 31 | 58 | -------------------------------------------------------------------------------- /WebContent/MainFrame/title.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="vo.User"%> 2 | <%@ page language="java" contentType="text/html; charset=UTF-8" 3 | pageEncoding="UTF-8"%> 4 | 5 | 6 | 7 | 8 | 首页标题 9 | 18 | 19 | <% 20 | User model = (User) session.getAttribute("loginUserinfo"); 21 | boolean isAdmin = "1".equals(model.getUserType()); 22 | String showName; 23 | if(isAdmin){ 24 | showName="后台管理员\""; 25 | } else { 26 | showName="尊敬的顾客\""; 27 | } 28 | showName+=model.getRealname(); 29 | %> 30 | 31 | 用户编号:<%=model.getId()%> 32 |

33 | <%=showName%>"您好! 34 |

35 | 36 | -------------------------------------------------------------------------------- /WebContent/MainFrame/welcome.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 欢迎页 8 | 14 | 15 | 16 |

欢迎来到在线商城!

17 | 18 | -------------------------------------------------------------------------------- /WebContent/Orders/ordersAdd.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="java.util.Date"%> 2 | <%@page import="java.sql.Timestamp"%> 3 | <%@page import="java.util.Iterator"%> 4 | <%@page import="vo.Goods"%> 5 | <%@page import="dao.GoodsDao"%> 6 | <%@page import="java.util.List"%> 7 | <%@ page language="java" contentType="text/html; charset=UTF-8" 8 | pageEncoding="UTF-8"%> 9 | 10 | 11 | 12 | 13 | 添加订单 14 | 15 | 16 | <% 17 | List li=new GoodsDao().query(""); 18 | Iterator it=li.iterator(); 19 | 20 | String orderDate=new Timestamp(new Date().getTime()).toString(); 21 | %> 22 | 23 | 待完成 24 | 25 | -------------------------------------------------------------------------------- /WebContent/Orders/ordersList.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="java.util.Iterator"%> 2 | <%@page import="vo.Orders"%> 3 | <%@page import="java.util.List"%> 4 | <%@ page language="java" contentType="text/html; charset=UTF-8" 5 | pageEncoding="UTF-8"%> 6 | 7 | 8 | 9 | 10 | 查询订单 11 | 12 | 13 | <% 14 | @SuppressWarnings("unchecked") 15 | List li=(List)session.getAttribute("OrdersList"); 16 | Iterator it=li.iterator(); 17 | %> 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | <% 33 | while(it.hasNext()){ 34 | Orders model=it.next(); 35 | %> 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 51 | 52 | <% 53 | } 54 | %> 55 |
订单编号订单生成日期商品名数量付款方式运送方式用户姓名发货状态总价操作
<%=model.getId() %><%=model.getOrderDate() %><%=model.getGoodsName() %><%=model.getAmount() %><%=model.getPayType() %><%=model.getTransportType() %><%=model.getUserName() %><%=model.getZhuang() %><%=model.getMoney() %> 47 | 查看详细 48 | 修改 49 | 删除 50 |
56 | 57 | -------------------------------------------------------------------------------- /WebContent/Type/typeAdd.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 添加商品类型 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 |
添加商品类型
商品类型名称商品类型编号待分配
24 | 25 | 26 |
29 | 30 |
31 | 32 | -------------------------------------------------------------------------------- /WebContent/Type/typeAdd_err.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 添加商品类型出错 8 | 9 | 10 | 11 |

商品类型添加出错!

12 |

点击返回

13 | 14 | -------------------------------------------------------------------------------- /WebContent/Type/typeDetail.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="vo.Type"%> 2 | <%@ page language="java" contentType="text/html; charset=UTF-8" 3 | pageEncoding="UTF-8"%> 4 | 5 | 6 | 7 | 8 | 商品类型详情 9 | 10 | 11 | <% 12 | Type model=(Type)session.getAttribute("SelectedTypeInfo"); 13 | %> 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 |
添加商品类型
商品类型名称<%=model.getTypeName() %>商品类型编号<%=model.getId() %>
27 | 28 |
31 | 32 | 37 | -------------------------------------------------------------------------------- /WebContent/Type/typeList.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="java.util.Iterator"%> 2 | <%@page import="vo.Type"%> 3 | <%@page import="java.util.List"%> 4 | <%@ page language="java" contentType="text/html; charset=UTF-8" 5 | pageEncoding="UTF-8"%> 6 | 7 | 8 | 9 | 10 | 商品类型查询 11 | 12 | 13 | <% 14 | @SuppressWarnings("unchecked") 15 | List li=(List)session.getAttribute("TypeList"); 16 | Iterator it=li.iterator(); 17 | %> 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | <% 26 | while(it.hasNext()){ 27 | Type model=it.next(); 28 | %> 29 | 30 | 31 | 32 | 37 | 38 | <% 39 | } 40 | %> 41 |
商品类型编号商品类型名称操作
<%=model.getId() %><%=model.getTypeName() %> 33 | 查看详细 34 | 修改 35 | 删除 36 |
42 | 43 | -------------------------------------------------------------------------------- /WebContent/Type/typeModify.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="vo.Type"%> 2 | <%@ page language="java" contentType="text/html; charset=UTF-8" 3 | pageEncoding="UTF-8"%> 4 | 5 | 6 | 7 | 8 | 商品类型详情 9 | 10 | 11 | <% 12 | Type model=(Type)session.getAttribute("SelectedTypeInfo"); 13 | %> 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 32 | 33 |
添加商品类型
商品类型名称商品类型编号<%=model.getId() %>
28 | 29 | 30 | 31 |
34 | 35 | 36 |
37 | 38 | 43 | -------------------------------------------------------------------------------- /WebContent/Type/typeModify_err.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 商品类型修改出错 8 | 9 | 10 | 11 |

商品类型修改出错!

12 |

点击返回

13 | -------------------------------------------------------------------------------- /WebContent/User/login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 登录界面 8 | 9 | 10 | <% 11 | if(session.getAttribute("loginUserinfo")!=null){ 12 | session.invalidate(); 13 | } 14 | %> 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 35 | 36 |
欢迎来到在线商城
用户名
密码
31 | 32 | 33 | 34 |
37 | 38 |
39 | 40 | 45 | -------------------------------------------------------------------------------- /WebContent/User/register.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="java.util.Date"%> 2 | <%@page import="java.sql.Timestamp"%> 3 | <%@ page language="java" contentType="text/html; charset=UTF-8" 4 | pageEncoding="UTF-8"%> 5 | 6 | 7 | 8 | 9 | 用户注册 10 | 11 | 12 | <% 13 | String addTime=new Timestamp(new Date().getTime()).toString(); 14 | %> 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 71 | 72 |
注册新用户
用户名用户编号待分配
密码确认密码
真实名性别 38 | 男   39 | 女      40 |
证件类型证件号
电话号码邮箱地址
所在城市添加时间<%=addTime %>
联系地址
67 | 68 | 69 | 70 |
73 | 74 | 75 | 76 |
77 | 78 | 83 | -------------------------------------------------------------------------------- /WebContent/User/userList.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="java.util.Iterator"%> 2 | <%@page import="vo.User"%> 3 | <%@page import="java.util.List"%> 4 | <%@ page language="java" contentType="text/html; charset=UTF-8" 5 | pageEncoding="UTF-8"%> 6 | 7 | 8 | 9 | 10 | 查询用户 11 | 12 | 13 | <% 14 | @SuppressWarnings("unchecked") 15 | List li=(List)session.getAttribute("UserList"); 16 | Iterator it=li.iterator(); 17 | %> 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | <% 33 | while(it.hasNext()){ 34 | User model=it.next(); 35 | %> 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 51 | 52 | <% 53 | } 54 | %> 55 |
用户编号用户名真实名性别用户类型注册日期城市邮箱地址联系方式操作
<%=model.getId() %><%=model.getUsername() %><%=model.getRealname() %><%=model.getSex() %><%=model.getUserType() %><%=model.getAddTime() %><%=model.getCity() %><%=model.getEmail() %><%=model.getNumber() %> 47 | 查看详细 48 | 修改 49 | 删除 50 |
56 | 57 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | /User/login.jsp 8 | 9 | -------------------------------------------------------------------------------- /WebContent/img/002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/002.jpg -------------------------------------------------------------------------------- /WebContent/img/20140101195811984_biao.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140101195811984_biao.jpg -------------------------------------------------------------------------------- /WebContent/img/20140101195948906_fugumaoyi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140101195948906_fugumaoyi.png -------------------------------------------------------------------------------- /WebContent/img/20140101200534156_xiushengyurongfu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140101200534156_xiushengyurongfu.png -------------------------------------------------------------------------------- /WebContent/img/20140102180149703_xiaoMihei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140102180149703_xiaoMihei.png -------------------------------------------------------------------------------- /WebContent/img/20140102180307500_iPhone_5s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140102180307500_iPhone_5s.jpg -------------------------------------------------------------------------------- /WebContent/img/20140102180337359_iPhone_5s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140102180337359_iPhone_5s.jpg -------------------------------------------------------------------------------- /WebContent/img/20140103120140875_iPhone5s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140103120140875_iPhone5s.jpg -------------------------------------------------------------------------------- /WebContent/img/20140103120224750_iPhone5s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140103120224750_iPhone5s.jpg -------------------------------------------------------------------------------- /WebContent/img/20140103120257828_iPhone5s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140103120257828_iPhone5s.jpg -------------------------------------------------------------------------------- /WebContent/img/20140103150112406_jpg_200x200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140103150112406_jpg_200x200.jpg -------------------------------------------------------------------------------- /WebContent/img/20140103154657296_jpg_200x200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/20140103154657296_jpg_200x200.jpg -------------------------------------------------------------------------------- /WebContent/img/410019804-1_l.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/410019804-1_l.jpg -------------------------------------------------------------------------------- /WebContent/img/beizi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/beizi.jpg -------------------------------------------------------------------------------- /WebContent/img/beizi1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/beizi1.jpg -------------------------------------------------------------------------------- /WebContent/img/biao.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/biao.jpg -------------------------------------------------------------------------------- /WebContent/img/daily.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/WebContent/img/daily.jpg -------------------------------------------------------------------------------- /screenshot/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/screenshot/1.png -------------------------------------------------------------------------------- /screenshot/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/screenshot/2.png -------------------------------------------------------------------------------- /screenshot/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/screenshot/3.png -------------------------------------------------------------------------------- /screenshot/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/screenshot/4.png -------------------------------------------------------------------------------- /screenshot/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/screenshot/5.png -------------------------------------------------------------------------------- /screenshot/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/screenshot/6.png -------------------------------------------------------------------------------- /screenshot/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuLin-Coder/No37OnlineMallManagementSystem/0f4fb6128689b0aaeb5c8780b350e6c2eec8be6a/screenshot/7.png -------------------------------------------------------------------------------- /src/buss/GoodsServlet.java: -------------------------------------------------------------------------------- 1 | package buss; 2 | 3 | import comm.Constant; 4 | import comm.ServletDeal; 5 | import dao.GoodsDao; 6 | import vo.Goods; 7 | 8 | import javax.servlet.ServletException; 9 | import javax.servlet.annotation.WebServlet; 10 | import javax.servlet.http.HttpServlet; 11 | import javax.servlet.http.HttpServletRequest; 12 | import javax.servlet.http.HttpServletResponse; 13 | import java.io.IOException; 14 | import java.sql.Timestamp; 15 | import java.util.Date; 16 | import java.util.List; 17 | 18 | /** 19 | * Servlet implementation class GoodsServlet 20 | */ 21 | @WebServlet("/GoodsServlet") 22 | public class GoodsServlet extends HttpServlet { 23 | private static final long serialVersionUID = 1L; 24 | 25 | /** 26 | * @see HttpServlet#HttpServlet() 27 | */ 28 | public GoodsServlet() { 29 | super(); 30 | // TODO Auto-generated constructor stub 31 | } 32 | 33 | /** 34 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 35 | */ 36 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 37 | doPost(request, response); 38 | } 39 | 40 | /** 41 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 42 | */ 43 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 44 | //设置字符集 45 | request.setCharacterEncoding(Constant.CHARSET); 46 | response.setContentType(Constant.CONTENTHEAD); 47 | //判断执行何种操作 48 | String operate=request.getParameter("operate"); 49 | if(operate.equals("add")){ 50 | add(request,response); 51 | }else if(operate.equals("del")){ 52 | del(request,response); 53 | }else if(operate.equals("modify")){ 54 | modify(request,response); 55 | }else if(operate.equals("getModel")){ 56 | getModel(request,response); 57 | }else if(operate.equals("query")){ 58 | query(request,response); 59 | } 60 | } 61 | 62 | private void add(HttpServletRequest request, HttpServletResponse response) { 63 | Goods model=dealInputModel(request); 64 | String id=new GoodsDao().add(model); 65 | try { 66 | if(!("").equals(id)){ 67 | String hint ="商品\\\""+model.getGoodsname()+"\\\"添加成功,分配的商品编号为:"+id; 68 | ServletDeal.popupHintAndRedict(response, hint, "./Goods/goodsAdd.jsp"); 69 | } else { 70 | response.sendRedirect("./Goods/goodsAdd_err.jsp"); 71 | } 72 | } catch (Exception e) { 73 | System.out.println("add页面输出跳转方法出错"); 74 | e.printStackTrace(); 75 | } 76 | } 77 | 78 | private void del(HttpServletRequest request, HttpServletResponse response) { 79 | String id=request.getParameter("id"); 80 | int ret=new GoodsDao().del(id); 81 | if(ret==1){ 82 | String hint=id+"号商品已删除!"; 83 | ServletDeal.popupHintAndRedict(response, hint, "./GoodsServlet?operate=query"); 84 | } else { 85 | ServletDeal.popupHintAndRedict(response, "删除操作失败!", "./GoodsServlet?operate=query"); 86 | } 87 | } 88 | 89 | private void modify(HttpServletRequest request, HttpServletResponse response) { 90 | Goods model=dealInputModel(request); 91 | int ret=new GoodsDao().modify(model); 92 | try{ 93 | if(ret==1){ 94 | ServletDeal.popupHintAndRedict(response, "修改商品信息成功!", "./GoodsServlet?operate=query&clear=SelectedGoodsInfo"); 95 | } else { 96 | response.sendRedirect("./Goods/goodsModify_err.jsp"); 97 | } 98 | } catch (Exception e){ 99 | System.out.println("modify的response跳转页面出错"); 100 | } 101 | } 102 | 103 | private void getModel(HttpServletRequest request,HttpServletResponse response) { 104 | Goods model=new GoodsDao().getModel(request.getParameter("id")); 105 | request.getSession().setAttribute("SelectedGoodsInfo", model); 106 | request.getSession().setAttribute("clear", "SelectedGoodsInfo"); 107 | try { 108 | response.sendRedirect(modelSendURL(request)); 109 | } catch (IOException e) { 110 | e.printStackTrace(); 111 | System.out.println("getModel的response跳转页面出错"); 112 | } 113 | } 114 | 115 | private void query(HttpServletRequest request, HttpServletResponse response) { 116 | ServletDeal.clearSession(request); 117 | List li=new GoodsDao().query(""); 118 | request.getSession().setAttribute("GoodsList", li); 119 | request.getSession().setAttribute("clear", "GoodsList"); 120 | try{ 121 | if (li.size()>0) { 122 | response.sendRedirect("./Goods/goodsList.jsp"); 123 | } else { 124 | response.getWriter().print("查询失败"); 125 | } 126 | }catch(Exception e){ 127 | System.out.println("query的response跳转页面出错"); 128 | } 129 | } 130 | 131 | /** 132 | * 处理从页面传入的实例参数并设置返回一个实例 133 | * @param request 134 | * @return 135 | */ 136 | private Goods dealInputModel(HttpServletRequest request){ 137 | Goods model=new Goods(); 138 | model.setGoodsname(request.getParameter("goodsname")); 139 | model.setSummary(request.getParameter("summary")); 140 | model.setBrand(request.getParameter("brand")); 141 | model.setPlace(request.getParameter("place")); 142 | model.setPrice(request.getParameter("price")); 143 | model.setDiscount(request.getParameter("discount")); 144 | model.setPicPath(request.getParameter("picPath")); 145 | model.setTypeId(request.getParameter("typeId")); 146 | model.setAddDate((new Timestamp(new Date().getTime())).toString()); 147 | model.setGoodssum(request.getParameter("goodssum")); 148 | if(!request.getParameter("operate").equals("add")){ 149 | model.setGoodsid(request.getParameter("goodsid")); 150 | } 151 | return model; 152 | } 153 | /** 154 | * 获取实体之后要重定向的地址处理 155 | * @param request 156 | * @return 157 | */ 158 | private String modelSendURL(HttpServletRequest request){ 159 | String page=request.getParameter("page"); 160 | String url=""; 161 | if("detail".equals(page)){ 162 | url="./Goods/goodsDetail.jsp"; 163 | } else if("modify".equals(page)){ 164 | url="./Goods/goodsModify.jsp"; 165 | } 166 | return url; 167 | } 168 | 169 | 170 | } 171 | -------------------------------------------------------------------------------- /src/buss/OrdersServlet.java: -------------------------------------------------------------------------------- 1 | package buss; 2 | 3 | import java.io.IOException; 4 | import java.util.List; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | 12 | import vo.Goods; 13 | import vo.Orders; 14 | import comm.Constant; 15 | import comm.ServletDeal; 16 | import dao.GoodsDao; 17 | import dao.OrdersDao; 18 | 19 | /** 20 | * Servlet implementation class OrdersServlet 21 | */ 22 | @WebServlet("/OrdersServlet") 23 | public class OrdersServlet extends HttpServlet { 24 | private static final long serialVersionUID = 1L; 25 | 26 | /** 27 | * @see HttpServlet#HttpServlet() 28 | */ 29 | public OrdersServlet() { 30 | super(); 31 | // TODO Auto-generated constructor stub 32 | } 33 | 34 | /** 35 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 36 | */ 37 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 38 | doPost(request, response); 39 | } 40 | 41 | /** 42 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 43 | */ 44 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 45 | // 设置字符集 46 | request.setCharacterEncoding(Constant.CHARSET); 47 | response.setContentType(Constant.CONTENTHEAD); 48 | 49 | String operate=request.getParameter("operate"); 50 | if(operate.equals("add")){ 51 | add(request,response); 52 | }else if(operate.equals("del")){ 53 | del(request,response); 54 | }else if(operate.equals("modify")){ 55 | modify(request,response); 56 | }else if(operate.equals("getModel")){ 57 | getModel(request,response); 58 | }else if(operate.equals("query")){ 59 | query(request,response); 60 | } 61 | } 62 | 63 | private void add(HttpServletRequest request, HttpServletResponse response) { 64 | // TODO Auto-generated method stub 65 | 66 | } 67 | 68 | private void del(HttpServletRequest request, HttpServletResponse response) { 69 | // TODO Auto-generated method stub 70 | 71 | } 72 | 73 | private void modify(HttpServletRequest request, HttpServletResponse response) { 74 | // TODO Auto-generated method stub 75 | 76 | } 77 | 78 | private void getModel(HttpServletRequest request, 79 | HttpServletResponse response) { 80 | // TODO Auto-generated method stub 81 | 82 | } 83 | 84 | private void query(HttpServletRequest request, HttpServletResponse response) { 85 | ServletDeal.clearSession(request); 86 | List li=new OrdersDao().query(""); 87 | request.getSession().setAttribute("OrdersList", li); 88 | request.getSession().setAttribute("clear", "OrdersList"); 89 | try{ 90 | if (li.size()>0) { 91 | response.sendRedirect("./Orders/ordersList.jsp"); 92 | } else { 93 | response.getWriter().print("查询失败"); 94 | } 95 | }catch(Exception e){ 96 | System.out.println("query的response跳转页面出错"); 97 | } 98 | } 99 | 100 | } 101 | -------------------------------------------------------------------------------- /src/buss/TypeServlet.java: -------------------------------------------------------------------------------- 1 | package buss; 2 | 3 | import java.io.IOException; 4 | import java.util.List; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | 12 | import comm.Constant; 13 | import comm.ServletDeal; 14 | import dao.TypeDao; 15 | import vo.Type; 16 | 17 | /** 18 | * Servlet implementation class TypeServlet 19 | */ 20 | @WebServlet("/TypeServlet") 21 | public class TypeServlet extends HttpServlet { 22 | private static final long serialVersionUID = 1L; 23 | 24 | /** 25 | * @see HttpServlet#HttpServlet() 26 | */ 27 | public TypeServlet() { 28 | super(); 29 | // TODO Auto-generated constructor stub 30 | } 31 | 32 | /** 33 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 34 | */ 35 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 36 | doPost(request, response); 37 | } 38 | 39 | /** 40 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 41 | */ 42 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 43 | //设置字符集 44 | request.setCharacterEncoding(Constant.CHARSET); 45 | response.setContentType(Constant.CONTENTHEAD); 46 | 47 | String operate=request.getParameter("operate"); 48 | if(operate.equals("add")){ 49 | add(request,response); 50 | }else if(operate.equals("del")){ 51 | del(request,response); 52 | }else if(operate.equals("modify")){ 53 | modify(request,response); 54 | }else if(operate.equals("getModel")){ 55 | getModel(request,response); 56 | }else if(operate.equals("query")){ 57 | query(request,response); 58 | } 59 | } 60 | 61 | private void add(HttpServletRequest request,HttpServletResponse response) { 62 | Type model=dealInputModel(request); 63 | String id=new TypeDao().add(model); 64 | try { 65 | if(id!=null){ 66 | String hint="添加商品类型\\\""+model.getTypeName()+"\\\"成功,分配的编号:"+id; 67 | ServletDeal.popupHintAndRedict(response, hint, "./TypeServlet?operate=query"); 68 | } else { 69 | response.sendRedirect("./Type/typeAdd_err.jsp"); 70 | } 71 | } catch (Exception e) { 72 | System.out.println("add的response跳转页面出错"); 73 | } 74 | } 75 | 76 | private void del(HttpServletRequest request, HttpServletResponse response) { 77 | String id=request.getParameter("id"); 78 | int ret=new TypeDao().del(id); 79 | try { 80 | if (ret == 1) { 81 | String hint=id+"号商品类型删除成功!"; 82 | ServletDeal.popupHintAndRedict(response, hint, "./TypeServlet?operate=query"); 83 | } else { 84 | ServletDeal.popupHintAndRedict(response, "删除失败!", "./TypeServlet?operate=query"); 85 | } 86 | } catch (Exception e) { 87 | System.out.println("del的response跳转页面出错"); 88 | } 89 | } 90 | 91 | private void modify(HttpServletRequest request, HttpServletResponse response) { 92 | Type model=dealInputModel(request); 93 | int ret=new TypeDao().modify(model); 94 | try{ 95 | if(ret==1){ 96 | ServletDeal.popupHintAndRedict(response, "修改商品类型成功!", "./TypeServlet?operate=query"); 97 | } else { 98 | response.sendRedirect("./Type/typeModify_err.jsp"); 99 | } 100 | } catch (Exception e){ 101 | System.out.println("modify跳转页面出错"); 102 | } 103 | } 104 | 105 | private void getModel(HttpServletRequest request,HttpServletResponse response) { 106 | Type model=new TypeDao().getModel(request.getParameter("id")); 107 | request.getSession().setAttribute("SelectedTypeInfo", model); 108 | request.getSession().setAttribute("clear","SelectedTypeInfo"); 109 | try{ 110 | response.sendRedirect(modelSendURL(request)); 111 | }catch(Exception e){ 112 | System.out.println("获取model跳转页面异常"); 113 | } 114 | } 115 | 116 | private void query(HttpServletRequest request, HttpServletResponse response) { 117 | ServletDeal.clearSession(request); 118 | List li=new TypeDao().query(""); 119 | try{ 120 | if (li.size()>0) { 121 | request.getSession().setAttribute("TypeList", li); 122 | request.getSession().setAttribute("clear", "TypeList"); 123 | response.sendRedirect("./Type/typeList.jsp"); 124 | } else { 125 | ServletDeal.popupHintAndRedict(response, "查询商品类型列表出错!", "../MainFrame/welcom.jsp"); 126 | } 127 | }catch(Exception e){ 128 | System.out.println("query的response跳转页面出错"); 129 | } 130 | } 131 | 132 | /** 133 | * 处理从页面传入的实例参数并设置返回一个实例 134 | * @param request 135 | * @return 136 | */ 137 | private Type dealInputModel(HttpServletRequest request){ 138 | Type model=new Type(); 139 | model.setTypeName(request.getParameter("typeName")); 140 | if(!request.getParameter("operate").equals("add")){ 141 | model.setId(request.getParameter("id")); 142 | } 143 | return model; 144 | } 145 | 146 | /** 147 | * 获取实体之后要重定向的地址处理 148 | * @param request 149 | * @return 150 | */ 151 | private String modelSendURL(HttpServletRequest request){ 152 | String page=request.getParameter("page"); 153 | String url=""; 154 | if("detail".equals(page)){ 155 | url="./Type/typeDetail.jsp"; 156 | } else if("modify".equals(page)){ 157 | url="./Type/typeModify.jsp"; 158 | } 159 | return url; 160 | } 161 | } 162 | -------------------------------------------------------------------------------- /src/buss/UserServlet.java: -------------------------------------------------------------------------------- 1 | package buss; 2 | 3 | import java.io.IOException; 4 | import java.util.List; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | 12 | import vo.Type; 13 | import vo.User; 14 | import comm.Constant; 15 | import comm.ServletDeal; 16 | import dao.TypeDao; 17 | import dao.UserDao; 18 | 19 | /** 20 | * Servlet implementation class UserServlet 21 | */ 22 | @WebServlet("/UserServlet") 23 | public class UserServlet extends HttpServlet { 24 | private static final long serialVersionUID = 1L; 25 | 26 | /** 27 | * @see HttpServlet#HttpServlet() 28 | */ 29 | public UserServlet() { 30 | super(); 31 | // TODO Auto-generated constructor stub 32 | } 33 | 34 | /** 35 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 36 | */ 37 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 38 | doPost(request, response); 39 | } 40 | 41 | /** 42 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 43 | */ 44 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 45 | //设置字符集 46 | request.setCharacterEncoding(Constant.CHARSET); 47 | response.setContentType(Constant.CONTENTHEAD); 48 | //判断执行何种操作 49 | String operate=request.getParameter("operate"); 50 | if(operate.equals("add")){ 51 | add(request,response); 52 | }else if(operate.equals("login")){ 53 | login(request,response); 54 | }else if(operate.equals("del")){ 55 | del(request,response); 56 | }else if(operate.equals("modify")){ 57 | modify(request,response); 58 | }else if(operate.equals("getModel")){ 59 | getModel(request,response); 60 | }else if(operate.equals("query")){ 61 | query(request,response); 62 | } 63 | } 64 | 65 | private void add(HttpServletRequest request, HttpServletResponse response) { 66 | User model=dealInputModel(request); 67 | String id=new UserDao().add(model); 68 | try{ 69 | if(id!=null){ 70 | String hint="用户\\\""+model.getUsername()+"\\\"注册成功,分配的编号是:"+id; 71 | ServletDeal.popupHintAndRedict(response, hint, "./User/login.jsp"); 72 | } else { 73 | ServletDeal.popupHintAndRedict(response, "注册失败,请重新注册", "./User/register.jsp"); 74 | } 75 | } catch (Exception e){ 76 | System.out.println("register提示并跳转异常"); 77 | } 78 | } 79 | 80 | private void login(HttpServletRequest request, HttpServletResponse response) { 81 | String username=request.getParameter("username"); 82 | String password=request.getParameter("password"); 83 | String where="username='"+username+"'"; 84 | List li=new UserDao().query(where); 85 | try{ 86 | // if(!li.isEmpty()){ 87 | // request.getSession().setAttribute("loginUserinfo", li.get(0)); 88 | // ServletDeal.popupHintAndRedict(response, "登陆成功!", "./MainFrame/homepage.jsp"); 89 | // } else { 90 | // ServletDeal.popupHintAndRedict(response, "登陆出错,请重新登陆", "./User/login.jsp"); 91 | // } 92 | String errUrl="./User/login.jsp"; 93 | if(li.isEmpty()){ 94 | ServletDeal.popupHintAndRedict(response, "用户名输入错误,请重新登录!", errUrl); 95 | return; 96 | } 97 | for(int i=0;i li=new UserDao().query(""); 129 | try{ 130 | if (li.size()>0) { 131 | request.getSession().setAttribute("UserList", li); 132 | request.getSession().setAttribute("clear", "UserList"); 133 | response.sendRedirect("./User/userList.jsp"); 134 | } else { 135 | ServletDeal.popupHintAndRedict(response, "查询商品类型列表出错!", "../MainFrame/welcom.jsp"); 136 | } 137 | }catch(Exception e){ 138 | System.out.println("query的response跳转页面出错"); 139 | } 140 | } 141 | 142 | /** 143 | * 处理从页面传入的实例参数并设置返回一个实例 144 | * @param request 145 | * @return 146 | */ 147 | private User dealInputModel(HttpServletRequest request){ 148 | User model=new User(); 149 | model.setCity(request.getParameter("city")); 150 | model.setUsername(request.getParameter("username")); 151 | model.setRealname(request.getParameter("realname")); 152 | model.setPassword(request.getParameter("password")); 153 | model.setAddress(request.getParameter("address")); 154 | model.setPapersNO(request.getParameter("papersNO")); 155 | model.setPapersType(request.getParameter("papersType")); 156 | model.setSex(request.getParameter("sex")); 157 | model.setNumber(request.getParameter("number")); 158 | model.setAddTime(request.getParameter("addTime")); 159 | model.setUserType(request.getParameter("userType")); 160 | model.setEmail(request.getParameter("email")); 161 | return model; 162 | } 163 | } 164 | -------------------------------------------------------------------------------- /src/comm/Constant.java: -------------------------------------------------------------------------------- 1 | package comm; 2 | 3 | import java.sql.ResultSet; 4 | import java.sql.SQLException; 5 | 6 | /** 7 | * 常量储存类 8 | * @author overlord 9 | * 10 | */ 11 | public class Constant { 12 | //字符集设置相关方法 13 | public static final String CHARSET="utf-8"; 14 | public static final String CONTENTHEAD="text/html;charset=utf-8"; 15 | 16 | /** 17 | * 获取新增行自动分配ID的常用方法 18 | * @param dbHandle 已插入数据的数据库对象 19 | * @return 20 | */ 21 | public static String getID(DBHandle dbHandle){ 22 | ResultSet res = dbHandle.executeQuery("select last_insert_id();"); 23 | String id=null; 24 | try { 25 | res.next(); 26 | id=res.getString(1); 27 | } catch (SQLException e) { 28 | e.printStackTrace(); 29 | System.out.println("获取新增行id的sql方法异常"); 30 | } 31 | return id; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/comm/DBHandle.java: -------------------------------------------------------------------------------- 1 | package comm; 2 | 3 | import java.sql.Connection; 4 | import java.sql.DriverManager; 5 | import java.sql.ResultSet; 6 | import java.sql.Statement; 7 | 8 | public class DBHandle { 9 | //声明私有静态常量:数据库连接位置、登录名、密码、驱动名 10 | final private String URL="jdbc:mysql://localhost:3306/no37_onlinestore?characterEncoding=utf-8"; 11 | final private String LOGIN="root"; 12 | final private String PASSWORD="123456"; 13 | final private String DRIVERNAME="com.mysql.jdbc.Driver"; 14 | //声明私有静态属性:数据库连接、sql语句执行对象、查询结果集 15 | private Connection conn; 16 | private Statement st; 17 | private ResultSet rs; 18 | 19 | //建立连接 20 | /** 21 | * 数据库连接 22 | */ 23 | public void getConnection(){ 24 | try { 25 | Class.forName(DRIVERNAME); // 第一步:加载驱动程序 26 | conn = DriverManager.getConnection(URL, LOGIN, PASSWORD);// 第二步:创建一个数据库连接 27 | System.out.println("获取数据库连接成功!"); 28 | }catch(Exception e){ 29 | System.out.println("执行getConnection()方法出错:"); 30 | e.printStackTrace(); 31 | } 32 | } 33 | 34 | //执行SQL insert/update/delete 35 | /** 36 | * 数据库增加/删除/修改 37 | * @param sql 38 | * @return 受影响行数:-1 异常 39 | */ 40 | public int executeUpdate(String sql){ 41 | int ret=0; 42 | try{ 43 | if(conn==null){ 44 | getConnection(); 45 | } 46 | if(st==null) 47 | { 48 | st=conn.createStatement(); 49 | } 50 | System.out.println("=================="+sql); 51 | ret=st.executeUpdate(sql); 52 | }catch(Exception e){ 53 | System.out.println("执行executeUpdate(sql)方法出错:"+sql); 54 | e.printStackTrace(); 55 | ret=-1; 56 | } 57 | return ret; 58 | } 59 | 60 | //执行查询 select 61 | 62 | /** 63 | * 数据库查询 64 | * @param sql 65 | */ 66 | public ResultSet executeQuery(String sql){ 67 | try{ 68 | if(conn==null){ 69 | getConnection(); 70 | } 71 | if(st==null) 72 | { 73 | st=conn.createStatement(); 74 | } 75 | System.out.println("=================="+sql); 76 | rs=st.executeQuery(sql); 77 | }catch(Exception e){ 78 | System.out.println("执行executeQuery(String sql)方法出错:"+sql); 79 | e.printStackTrace(); 80 | } 81 | return rs; 82 | } 83 | 84 | //关闭连接 85 | /** 86 | * 数据库关闭 87 | */ 88 | public void close(){ 89 | try { 90 | if (rs!=null){ 91 | rs.close(); 92 | } 93 | if (st!=null){ 94 | st.close(); 95 | } 96 | if (conn!=null){ 97 | conn.close(); 98 | }} 99 | catch(Exception e){ 100 | System.out.println("执行close()方法出错:"); 101 | e.printStackTrace(); 102 | } 103 | } 104 | 105 | } 106 | -------------------------------------------------------------------------------- /src/comm/Demo.java: -------------------------------------------------------------------------------- 1 | package comm; 2 | 3 | import java.sql.ResultSet; 4 | import java.sql.SQLException; 5 | import java.sql.Timestamp; 6 | import java.util.Date; 7 | import java.util.Iterator; 8 | import java.util.List; 9 | 10 | import dao.GoodsDao; 11 | import vo.Goods; 12 | 13 | public class Demo { 14 | 15 | public static void main(String[] args) { 16 | // DBHandle db=new DBHandle(); 17 | // ResultSet rs=db.executeQuery("select * from goods;"); 18 | // try { 19 | // while(rs.next()){ 20 | // for(int i=1;i<12;i++){ 21 | // System.out.print(rs.getString(i)+" "); 22 | // } 23 | // System.out.println(); 24 | // } 25 | // } catch (SQLException e) { 26 | // // TODO Auto-generated catch block 27 | // e.printStackTrace(); 28 | // } 29 | // try{ 30 | // String id="7"; 31 | // String sql = "select g.*,t.typeName as typeName from goods g join type t on g.typeId=t.id where goodsid="+id+";"; 32 | // DBHandle dbHandle = new DBHandle(); 33 | // ResultSet res = dbHandle.executeQuery(sql); 34 | // 35 | // while (res.next()) { 36 | // System.out.println(res.getString("goodsid")); 37 | // System.out.println(res.getString("goodsname")); 38 | // } 39 | // dbHandle.close(); 40 | // }catch(Exception e){ 41 | // 42 | // } 43 | 44 | List li=new GoodsDao().query(""); 45 | // Iterator it=li.iterator(); 46 | // while(it.hasNext()){ 47 | // Goods model=it.next(); 48 | // System.out.print(model.getGoodsid()+" "); 49 | // System.out.print(model.getGoodsname()+" "); 50 | // //summary,brand,place,price,discount,picPath,typeId,addDate,goodssum 51 | // System.out.print(model.getSummary()+" "); 52 | // System.out.print(model.getBrand()+" "); 53 | // System.out.print(model.getPlace()+" "); 54 | // System.out.print(model.getPrice()+" "); 55 | // System.out.print(model.getAddDate()+" "); 56 | // System.out.print(model.getGoodssum()+" "); 57 | // System.out.print(model.getTypeName()+" "); 58 | // System.out.println(); 59 | // } 60 | // for(int i=0;i"); 21 | pw.println("alert(\""+hint+"\");"); 22 | pw.println("window.location=\""+url+"\";"); 23 | pw.println(""); 24 | } catch (IOException e) { 25 | e.printStackTrace(); 26 | System.out.println("弹出提示并跳转页面出错"); 27 | } 28 | } 29 | 30 | /** 31 | * 提交查询页面的时候清除已过期的session存储属性 32 | * @param request 33 | */ 34 | public static void clearSession(HttpServletRequest request){ 35 | String clear=(String)request.getSession().getAttribute("clear"); 36 | if(clear!=null){ 37 | request.getSession().removeAttribute(clear); 38 | request.getSession().removeAttribute("clear"); 39 | } 40 | } 41 | 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/dao/GoodsDao.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import java.sql.ResultSet; 4 | import java.util.ArrayList; 5 | import java.util.List; 6 | 7 | import comm.Constant; 8 | import comm.DBHandle; 9 | import vo.Goods; 10 | /** 11 | * 商品的增、删、改、查、得到实体提交数据库操作处理类 12 | * @author overlord 13 | * 14 | */ 15 | public class GoodsDao { 16 | 17 | /** 18 | * 向数据库增加商品 19 | * @param model 商品实例 20 | * @return 添加是否成功:成功增加数据的条目数 21 | */ 22 | public String add(Goods model){ 23 | String id=null; 24 | String sql="insert into Goods (goodsname,summary,brand,place,price,discount,picPath,typeId,addDate,goodssum) values ("; 25 | sql=sql+"'"+model.getGoodsname()+"'"; 26 | sql=sql+",'"+model.getSummary()+"'"; 27 | sql=sql+",'"+model.getBrand()+"'"; 28 | sql=sql+",'"+model.getPlace()+"'"; 29 | sql=sql+","+model.getPrice(); 30 | sql=sql+","+model.getDiscount(); 31 | sql=sql+",'"+model.getPicPath()+"'"; 32 | sql=sql+","+model.getTypeId(); 33 | sql=sql+",'"+model.getAddDate()+"'"; 34 | sql=sql+","+model.getGoodssum(); 35 | sql+=");"; 36 | DBHandle dbHandle=new DBHandle(); 37 | int ret=dbHandle.executeUpdate(sql); 38 | if(ret==1){ 39 | id=Constant.getID(dbHandle); 40 | } 41 | dbHandle.close(); 42 | return id; 43 | } 44 | /** 45 | * 从数据库删除商品 46 | * @param id 要删除的商品ID 47 | * @return 删除是否成功:成功删除数据的条目数 48 | */ 49 | public int del(String id){ 50 | String sql="delete from goods where goodsid="+id+";"; 51 | DBHandle dbHandle=new DBHandle(); 52 | int ret=dbHandle.executeUpdate(sql); 53 | dbHandle.close(); 54 | return ret; 55 | } 56 | /** 57 | * 修改数据库已有的商品 58 | * @param model 要更新的商品实例(通过此实例ID定位商品条目) 59 | * @return 修改是否成功:成功修改数据的条目数 60 | */ 61 | public int modify(Goods model){ 62 | String sql="update goods set"; 63 | sql=sql+" goodsname='"+model.getGoodsname()+"',"; 64 | sql=sql+"summary='"+model.getSummary()+"',"; 65 | sql=sql+"brand='"+model.getBrand()+"',"; 66 | sql=sql+"place='"+model.getPlace()+"',"; 67 | sql=sql+"price="+model.getPrice()+","; 68 | sql=sql+"discount="+model.getDiscount()+","; 69 | sql=sql+"picPath='"+model.getPicPath()+"',"; 70 | sql=sql+"typeId="+model.getTypeId()+","; 71 | sql=sql+"addDate='"+model.getAddDate()+"',"; 72 | sql=sql+"goodssum="+model.getGoodssum()+""; 73 | sql=sql+" where goodsid="+model.getGoodsid()+""; 74 | sql+=";"; 75 | DBHandle dbHandle=new DBHandle(); 76 | int ret=dbHandle.executeUpdate(sql); 77 | dbHandle.close(); 78 | return ret; 79 | } 80 | /** 81 | * 通过ID,从数据库查询得到商品实例 82 | * @param id 要查询的商品ID 83 | * @return 返回查询的商品实体:Goods类型 84 | */ 85 | public Goods getModel(String id){ 86 | Goods model=new Goods(); 87 | try{ 88 | String sql = "select g.*,t.typeName as typeName from goods g join type t on g.typeId=t.id where goodsid="+id+";"; 89 | DBHandle dbHandle = new DBHandle(); 90 | ResultSet res = dbHandle.executeQuery(sql); 91 | while (res.next()) { 92 | model.setGoodsid(res.getString("goodsid")); 93 | model.setGoodsname(res.getString("goodsname")); 94 | model.setSummary(res.getString("summary")); 95 | model.setBrand(res.getString("brand")); 96 | model.setPlace(res.getString("place")); 97 | model.setPrice(res.getString("price")); 98 | model.setDiscount(res.getString("discount")); 99 | model.setPicPath(res.getString("picPath")); 100 | model.setTypeId(res.getString("typeId")); 101 | model.setAddDate(res.getString("addDate")); 102 | model.setGoodssum(res.getString("goodssum")); 103 | model.setTypeName(res.getString("typeName"));//辅助属性 104 | } 105 | dbHandle.close(); 106 | } catch (Exception e){ 107 | System.out.println("从数据库获取Goods实体出错"); 108 | } 109 | return model; 110 | } 111 | 112 | /** 113 | * 查询数据库的商品信息 114 | * @param where 查询的条件 115 | * @return 查询结果:以List形式返回 116 | */ 117 | public List query(String where){ 118 | List li = new ArrayList(); 119 | try { 120 | String sql = "select g.*,t.typeName as typeName from goods g join type t on g.typeId=t.id"; 121 | if (where.length() > 0) { 122 | sql = sql + " where " + where; 123 | } 124 | sql += " order by goodsid;"; 125 | DBHandle dbHandle = new DBHandle(); 126 | ResultSet res = dbHandle.executeQuery(sql); 127 | // goodsid,goodsname,summary,brand,place,price,discount,picPath,typeId,addDate,goodssum,typeName 128 | while (res.next()) { 129 | Goods model = new Goods(); 130 | model.setGoodsid(res.getString("goodsid")); 131 | model.setGoodsname(res.getString("goodsname")); 132 | model.setSummary(res.getString("summary")); 133 | model.setBrand(res.getString("brand")); 134 | model.setPlace(res.getString("place")); 135 | model.setPrice(res.getString("price")); 136 | model.setDiscount(res.getString("discount")); 137 | model.setPicPath(res.getString("picPath")); 138 | model.setTypeId(res.getString("typeId")); 139 | model.setAddDate(res.getString("addDate")); 140 | model.setGoodssum(res.getString("goodssum")); 141 | model.setTypeName(res.getString("typeName"));//辅助属性 142 | li.add(model); 143 | } 144 | dbHandle.close(); 145 | } catch (Exception e) { 146 | e.printStackTrace(); 147 | System.out.println("List形式返回商品查询信息出错"); 148 | } 149 | return li; 150 | } 151 | } 152 | -------------------------------------------------------------------------------- /src/dao/OrdersDao.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import comm.Constant; 4 | import comm.DBHandle; 5 | import vo.Orders; 6 | 7 | import java.sql.ResultSet; 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | /** 11 | * 订单的增、删、改、查、得到实体提交数据库操作处理类 12 | * @author overlord 13 | * 14 | */ 15 | public class OrdersDao { 16 | 17 | /** 18 | * 向数据库增加订单 19 | * @param model 订单实例 20 | * @return 添加是否成功:成功增加数据的条目数 21 | */ 22 | public String add(Orders model){ 23 | String id=null; 24 | String sql="insert into Orders (orderDate,payType,transportType,amount,money,userId,goodsId,zhuang,youbian,number,beizhu,userName,address) values ("; 25 | sql=sql+"'"+model.getOrderDate()+"'"; 26 | sql=sql+",'"+model.getPayType()+"'"; 27 | sql=sql+",'"+model.getTransportType()+"'"; 28 | sql=sql+","+model.getAmount()+""; 29 | sql=sql+","+model.getMoney()+""; 30 | sql=sql+","+model.getUserId()+""; 31 | sql=sql+","+model.getGoodsId()+""; 32 | sql=sql+",'"+model.getZhuang()+"'"; 33 | sql=sql+",'"+model.getYoubian()+"'"; 34 | sql=sql+",'"+model.getNumber()+"'"; 35 | sql=sql+",'"+model.getBeizhu()+"'"; 36 | sql=sql+",'"+model.getUserName()+"'"; 37 | sql=sql+",'"+model.getAddress()+"'"; 38 | sql+=");"; 39 | DBHandle dbHandle=new DBHandle(); 40 | int ret=dbHandle.executeUpdate(sql); 41 | if(ret==1){ 42 | id=Constant.getID(dbHandle); 43 | } 44 | dbHandle.close(); 45 | return id; 46 | } 47 | /** 48 | * 从数据库删除订单 49 | * @param id 要删除的订单ID 50 | * @return 删除是否成功:成功删除数据的条目数 51 | */ 52 | public int del(String id){ 53 | String sql="delete from type where id="+id+";"; 54 | DBHandle dbHandle=new DBHandle(); 55 | int ret=dbHandle.executeUpdate(sql); 56 | dbHandle.close(); 57 | return ret; 58 | } 59 | /** 60 | * 修改数据库已有的订单 61 | * @param model 要更新的订单实例(通过此实例ID定位订单条目) 62 | * @return 修改是否成功:成功修改数据的条目数 63 | */ 64 | public int modify(Orders model){ 65 | String sql="update Orders set"; 66 | sql=sql+" orderDate='"+model.getOrderDate()+"',"; 67 | sql=sql+"payType='"+model.getPayType()+"',"; 68 | sql=sql+"transportType='"+model.getPayType()+"',"; 69 | sql=sql+"amount="+model.getAmount()+","; 70 | sql=sql+"money="+model.getMoney()+","; 71 | sql=sql+"userId="+model.getUserId()+","; 72 | sql=sql+"goodsId="+model.getGoodsId()+","; 73 | sql=sql+"zhuang='"+model.getZhuang()+"',"; 74 | sql=sql+"youbian='"+model.getYoubian()+"',"; 75 | sql=sql+"number='"+model.getNumber()+"',"; 76 | sql=sql+"beizhu='"+model.getBeizhu()+"',"; 77 | sql=sql+"userName='"+model.getUserName()+"',"; 78 | sql=sql+"address='"+model.getAddress()+"',"; 79 | sql=sql+" where id="+model.getId(); 80 | sql+=";"; 81 | DBHandle dbHandle=new DBHandle(); 82 | int ret=dbHandle.executeUpdate(sql); 83 | dbHandle.close(); 84 | return ret; 85 | } 86 | /** 87 | * 通过ID,从数据库查询得到订单实例 88 | * @param id 要查询的订单ID 89 | * @return 返回查询的订单实例:Orders类型 90 | */ 91 | public Orders getModel(String id){ 92 | Orders model=new Orders(); 93 | try{ 94 | String sql = "select * from orders o join Goods g on o.goodsId=g.goodsId where o.id="+id+";"; 95 | DBHandle dbHandle = new DBHandle(); 96 | ResultSet res = dbHandle.executeQuery(sql); 97 | dbHandle.close(); 98 | while (res.next()) { 99 | model.setId(res.getString("id")); 100 | model.setOrderDate(res.getString("orderDate")); 101 | model.setPayType(res.getString("payType")); 102 | model.setTransportType(res.getString("transportType")); 103 | model.setAmount(res.getString("amount")); 104 | model.setMoney(res.getString("money")); 105 | model.setUserId(res.getString("userId")); 106 | model.setGoodsId(res.getString("goodsId")); 107 | model.setZhuang(res.getString("zhuang")); 108 | model.setYoubian(res.getString("youbian")); 109 | model.setNumber(res.getString("number")); 110 | model.setBeizhu(res.getString("beizhu")); 111 | model.setUserName(res.getString("userName")); 112 | model.setAddress(res.getString("address")); 113 | model.setGoodsName(res.getString("goodsName")); 114 | } 115 | } catch (Exception e){ 116 | System.out.println("获取订单实例出错!"); 117 | } 118 | return model; 119 | } 120 | /** 121 | * 查询数据库的订单信息 122 | * @param where 查询的条件 123 | * @return 查询结果:以List形式返回 124 | */ 125 | public List query(String where){ 126 | List li = new ArrayList(); 127 | try { 128 | String sql = "select * from orders o join Goods g on o.goodsId=g.goodsId"; 129 | if (where.length() > 0) { 130 | sql = sql + " where " + where; 131 | } 132 | sql += ";"; 133 | DBHandle dbHandle = new DBHandle(); 134 | ResultSet res = dbHandle.executeQuery(sql); 135 | while (res.next()) { 136 | Orders model = new Orders(); 137 | model.setId(res.getString("id")); 138 | model.setOrderDate(res.getString("orderDate")); 139 | model.setPayType(res.getString("payType")); 140 | model.setTransportType(res.getString("transportType")); 141 | model.setAmount(res.getString("amount")); 142 | model.setMoney(res.getString("money")); 143 | model.setUserId(res.getString("userId")); 144 | model.setGoodsId(res.getString("goodsId")); 145 | model.setZhuang(res.getString("zhuang")); 146 | model.setYoubian(res.getString("youbian")); 147 | model.setNumber(res.getString("number")); 148 | model.setBeizhu(res.getString("beizhu")); 149 | model.setUserName(res.getString("userName")); 150 | model.setAddress(res.getString("address")); 151 | model.setGoodsName(res.getString("goodsName")); 152 | li.add(model); 153 | } 154 | dbHandle.close(); 155 | } catch (Exception e) { 156 | e.printStackTrace(); 157 | System.out.println("List形式返回订单查询出错"); 158 | } 159 | return li; 160 | } 161 | } 162 | -------------------------------------------------------------------------------- /src/dao/TypeDao.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import comm.Constant; 4 | import comm.DBHandle; 5 | import vo.Type; 6 | 7 | import java.sql.ResultSet; 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | /** 11 | * 商品类型的增、删、改、查、得到实体提交数据库操作处理类 12 | * @author overlord 13 | * 14 | */ 15 | public class TypeDao { 16 | 17 | /** 18 | * 向数据库增加商品类型 19 | * @param model 商品类型实例 20 | * @return 添加是否成功:成功增加数据的条目数 21 | */ 22 | public String add(Type model){ 23 | String sql="insert into Type (TypeName) values ("; 24 | sql=sql+"'"+model.getTypeName()+"'"; 25 | sql+=");"; 26 | DBHandle dbHandle=new DBHandle(); 27 | String id=null; 28 | if(dbHandle.executeUpdate(sql)==1){ 29 | id=Constant.getID(dbHandle); 30 | } 31 | dbHandle.close(); 32 | return id; 33 | } 34 | /** 35 | * 从数据库删除商品类型 36 | * @param id 要删除的商品类型ID 37 | * @return 删除是否成功:成功删除数据的条目数 38 | */ 39 | public int del(String id){ 40 | String sql="delete from type where id="+id+";"; 41 | DBHandle dbHandle=new DBHandle(); 42 | int ret=dbHandle.executeUpdate(sql); 43 | dbHandle.close(); 44 | return ret; 45 | } 46 | /** 47 | * 修改数据库已有的商品类型 48 | * @param model 要更新的商品类型实例(通过此实例ID定位商品类型条目) 49 | * @return 修改是否成功:成功修改数据的条目数 50 | */ 51 | public int modify(Type model){ 52 | String sql="update Type set"; 53 | sql=sql+" TypeName='"+model.getTypeName()+"'"; 54 | sql=sql+" where id="+model.getId()+""; 55 | sql+=";"; 56 | DBHandle dbHandle=new DBHandle(); 57 | int ret=dbHandle.executeUpdate(sql); 58 | dbHandle.close(); 59 | return ret; 60 | } 61 | /** 62 | * 通过ID,从数据库查询得到商品类型实例 63 | * @param id 要查询的商品类型ID 64 | * @return 返回查询的商品类型实例:Type类型 65 | */ 66 | public Type getModel(String id){ 67 | Type model=new Type(); 68 | try{ 69 | String sql = "select * from type where id="+id+";"; 70 | DBHandle dbHandle = new DBHandle(); 71 | ResultSet res = dbHandle.executeQuery(sql); 72 | while (res.next()) { 73 | model.setId(res.getString("id")); 74 | model.setTypeName(res.getString("TypeName")); 75 | } 76 | dbHandle.close(); 77 | } catch (Exception e){ 78 | System.out.println("获取商品类型实例出错!"); 79 | } 80 | return model; 81 | } 82 | /** 83 | * 查询数据库的商品类型信息 84 | * @param where 查询的条件 85 | * @return 查询结果:以List形式返回 86 | */ 87 | public List query(String where){ 88 | List li = new ArrayList(); 89 | try { 90 | String sql = "select * from type"; 91 | if (where.length() > 0) { 92 | sql = sql + " where " + where; 93 | } 94 | sql += ";"; 95 | DBHandle dbHandle = new DBHandle(); 96 | ResultSet res = dbHandle.executeQuery(sql); 97 | //Id,TypeName 98 | while (res.next()) { 99 | Type type = new Type(); 100 | type.setId(res.getString("Id")); 101 | type.setTypeName(res.getString("TypeName")); 102 | li.add(type); 103 | } 104 | dbHandle.close(); 105 | } catch (Exception e) { 106 | e.printStackTrace(); 107 | } 108 | return li; 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /src/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import comm.Constant; 4 | import comm.DBHandle; 5 | import vo.User; 6 | 7 | import java.sql.ResultSet; 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | /** 11 | * 用户的增、删、改、查、得到实体提交数据库操作处理类 12 | * @author overlord 13 | * 14 | */ 15 | public class UserDao { 16 | 17 | /** 18 | * 向数据库增加用户 19 | * @param model 用户实例 20 | * @return 添加是否成功:成功增加数据的条目数 21 | */ 22 | public String add(User model){ 23 | String sql="insert into User (city,username,realname,password,address,papersNO,papersType,sex,number,addTime,userType,email) values ("; 24 | sql=sql+"'"+model.getCity()+"'"; 25 | sql=sql+",'"+model.getUsername()+"'"; 26 | sql=sql+",'"+model.getRealname()+"'"; 27 | sql=sql+","+model.getPassword()+""; 28 | sql=sql+",'"+model.getAddress()+"'"; 29 | sql=sql+","+model.getPapersNO()+""; 30 | sql=sql+",'"+model.getPapersType()+"'"; 31 | sql=sql+",'"+model.getSex()+"'"; 32 | sql=sql+",'"+model.getNumber()+"'"; 33 | sql=sql+",'"+model.getAddTime()+"'"; 34 | sql=sql+",'"+model.getUserType()+"'"; 35 | sql=sql+",'"+model.getEmail()+"'"; 36 | sql+=");"; 37 | DBHandle dbHandle=new DBHandle(); 38 | int ret=dbHandle.executeUpdate(sql); 39 | String id=null; 40 | if(ret==1){ 41 | id=Constant.getID(dbHandle); 42 | } 43 | dbHandle.close(); 44 | return id; 45 | } 46 | /** 47 | * 从数据库删除用户 48 | * @param id 要删除的用户ID 49 | * @return 删除是否成功:成功删除数据的条目数 50 | */ 51 | public int del(String id){ 52 | String sql="delete from user where id="+id+";"; 53 | DBHandle dbHandle=new DBHandle(); 54 | int ret=dbHandle.executeUpdate(sql); 55 | dbHandle.close(); 56 | return ret; 57 | } 58 | /** 59 | * 修改数据库已有的用户 60 | * @param model 要更新的用户实例(通过此实例ID定位用户条目) 61 | * @return 修改是否成功:成功修改数据的条目数 62 | */ 63 | public int modify(User model){ 64 | String sql="update User set"; 65 | sql=sql+" city='"+model.getCity()+"',"; 66 | sql=sql+"username='"+model.getUsername()+"',"; 67 | sql=sql+"realname='"+model.getRealname()+"',"; 68 | sql=sql+"password='"+model.getPassword()+"',"; 69 | sql=sql+"address='"+model.getAddress()+"',"; 70 | sql=sql+"papersNO='"+model.getPapersNO()+"',"; 71 | sql=sql+"papersType='"+model.getPapersType()+"',"; 72 | sql=sql+"sex='"+model.getSex()+"',"; 73 | sql=sql+"number='"+model.getNumber()+"',"; 74 | sql=sql+"addTime='"+model.getAddTime()+"',"; 75 | sql=sql+"userType='"+model.getUserType()+"',"; 76 | sql=sql+"email='"+model.getEmail()+"'"; 77 | sql=sql+" where id="+model.getId(); 78 | sql+=";"; 79 | DBHandle dbHandle=new DBHandle(); 80 | int ret=dbHandle.executeUpdate(sql); 81 | dbHandle.close(); 82 | return ret; 83 | } 84 | /** 85 | * 通过ID,从数据库查询得到用户实例 86 | * @param id 要查询的用户ID 87 | * @return 返回查询的用户实例:User类型 88 | */ 89 | public User getModel(String id){ 90 | User model=new User(); 91 | try{ 92 | String sql = "select * from user where id="+id+";"; 93 | DBHandle dbHandle = new DBHandle(); 94 | ResultSet res = dbHandle.executeQuery(sql); 95 | dbHandle.close(); 96 | while (res.next()) { 97 | model.setId(res.getString("id")); 98 | model.setId(res.getString("city")); 99 | model.setId(res.getString("username")); 100 | model.setId(res.getString("realname")); 101 | model.setId(res.getString("password")); 102 | model.setId(res.getString("address")); 103 | model.setId(res.getString("papersNO")); 104 | model.setId(res.getString("papersType")); 105 | model.setId(res.getString("sex")); 106 | model.setId(res.getString("number")); 107 | model.setId(res.getString("addTime")); 108 | model.setId(res.getString("userType")); 109 | model.setId(res.getString("email")); 110 | } 111 | } catch (Exception e){ 112 | System.out.println("获取用户实例出错!"); 113 | } 114 | return model; 115 | } 116 | /** 117 | * 查询数据库的用户信息 118 | * @param where 查询的条件 119 | * @return 查询结果:以List形式返回 120 | */ 121 | public List query(String where){ 122 | List li = new ArrayList(); 123 | try { 124 | String sql = "select * from user"; 125 | if (where.length() > 0) { 126 | sql = sql + " where " + where; 127 | } 128 | sql += ";"; 129 | DBHandle dbHandle = new DBHandle(); 130 | ResultSet res = dbHandle.executeQuery(sql); 131 | while (res.next()) { 132 | User model = new User(); 133 | model.setId(res.getString("id")); 134 | model.setCity(res.getString("city")); 135 | model.setUsername(res.getString("username")); 136 | model.setRealname(res.getString("realname")); 137 | model.setPassword(res.getString("password")); 138 | model.setAddress(res.getString("address")); 139 | model.setPapersNO(res.getString("papersNO")); 140 | model.setPapersType(res.getString("papersType")); 141 | model.setSex(res.getString("sex")); 142 | model.setNumber(res.getString("number")); 143 | model.setAddTime(res.getString("addTime")); 144 | model.setUserType(res.getString("userType")); 145 | model.setEmail(res.getString("email")); 146 | li.add(model); 147 | } 148 | dbHandle.close(); 149 | } catch (Exception e) { 150 | e.printStackTrace(); 151 | System.out.println("List形式返回用户查询出错"); 152 | } 153 | return li; 154 | } 155 | } 156 | -------------------------------------------------------------------------------- /src/vo/Goods.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | public class Goods { 4 | private String goodsid;//主键,商品编号', 5 | private String goodsname;//商品名称', 6 | private String summary;//简介', 7 | private String brand;//品牌', 8 | private String place;//原产地', 9 | private String price;//单价', 10 | private String discount;//折扣', 11 | private String picPath;//图片地址', 12 | private String typeId;//外键参照类别表的主键', 13 | private String addDate;//添加时间', 14 | private String goodssum;//商品销售总数', 15 | 16 | //辅助属性 17 | private String typeName;//产品类型名称 18 | // select g.*,t.typeName from goods g join type t on g.typeid=t.id; 19 | 20 | 21 | 22 | public String getTypeName() { 23 | return typeName; 24 | } 25 | public void setTypeName(String typeName) { 26 | this.typeName = typeName; 27 | } 28 | 29 | public String getGoodsid() { 30 | return goodsid; 31 | } 32 | public void setGoodsid(String goodsid) { 33 | this.goodsid = goodsid; 34 | } 35 | public String getGoodsname() { 36 | return goodsname; 37 | } 38 | public void setGoodsname(String goodsname) { 39 | this.goodsname = goodsname; 40 | } 41 | public String getSummary() { 42 | return summary; 43 | } 44 | public void setSummary(String summary) { 45 | this.summary = summary; 46 | } 47 | public String getBrand() { 48 | return brand; 49 | } 50 | public void setBrand(String brand) { 51 | this.brand = brand; 52 | } 53 | public String getPlace() { 54 | return place; 55 | } 56 | public void setPlace(String place) { 57 | this.place = place; 58 | } 59 | public String getPrice() { 60 | return price; 61 | } 62 | public void setPrice(String price) { 63 | this.price = price; 64 | } 65 | public String getDiscount() { 66 | return discount; 67 | } 68 | public void setDiscount(String discount) { 69 | this.discount = discount; 70 | } 71 | public String getPicPath() { 72 | return picPath; 73 | } 74 | public void setPicPath(String picPath) { 75 | this.picPath = picPath; 76 | } 77 | public String getTypeId() { 78 | return typeId; 79 | } 80 | public void setTypeId(String typeId) { 81 | this.typeId = typeId; 82 | } 83 | public String getAddDate() { 84 | return addDate; 85 | } 86 | public void setAddDate(String addDate) { 87 | this.addDate = addDate; 88 | } 89 | public String getGoodssum() { 90 | return goodssum; 91 | } 92 | public void setGoodssum(String goodssum) { 93 | this.goodssum = goodssum; 94 | } 95 | 96 | 97 | } 98 | -------------------------------------------------------------------------------- /src/vo/Orders.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | public class Orders { 4 | private String id;//主键,订单编号', 5 | private String orderDate;//订单日期', 6 | private String payType;//付款方式', 7 | private String transportType;//运送方式', 8 | private String amount;//数量', 9 | private String money;//总价', 10 | private String userId;//外键参照用户表主键', 11 | private String goodsId;//外键参照商品表ID', 12 | private String zhuang;//发货状态', 13 | private String youbian;//邮政编码', 14 | private String number;//联系电话', 15 | private String beizhu;//备注', 16 | private String userName;//用户姓名', 17 | private String address;//联系地址', 18 | //辅助属性 19 | private String goodsName;//商品名称 20 | 21 | 22 | 23 | public String getGoodsName() { 24 | return goodsName; 25 | } 26 | public void setGoodsName(String goodsName) { 27 | this.goodsName = goodsName; 28 | } 29 | public String getId() { 30 | return id; 31 | } 32 | public void setId(String id) { 33 | this.id = id; 34 | } 35 | public String getOrderDate() { 36 | return orderDate; 37 | } 38 | public void setOrderDate(String orderDate) { 39 | this.orderDate = orderDate; 40 | } 41 | public String getPayType() { 42 | return payType; 43 | } 44 | public void setPayType(String payType) { 45 | this.payType = payType; 46 | } 47 | public String getTransportType() { 48 | return transportType; 49 | } 50 | public void setTransportType(String transportType) { 51 | this.transportType = transportType; 52 | } 53 | public String getAmount() { 54 | return amount; 55 | } 56 | public void setAmount(String amount) { 57 | this.amount = amount; 58 | } 59 | public String getMoney() { 60 | return money; 61 | } 62 | public void setMoney(String money) { 63 | this.money = money; 64 | } 65 | public String getUserId() { 66 | return userId; 67 | } 68 | public void setUserId(String userId) { 69 | this.userId = userId; 70 | } 71 | public String getGoodsId() { 72 | return goodsId; 73 | } 74 | public void setGoodsId(String goodsId) { 75 | this.goodsId = goodsId; 76 | } 77 | public String getZhuang() { 78 | return zhuang; 79 | } 80 | public void setZhuang(String zhuang) { 81 | this.zhuang = zhuang; 82 | } 83 | public String getYoubian() { 84 | return youbian; 85 | } 86 | public void setYoubian(String youbian) { 87 | this.youbian = youbian; 88 | } 89 | public String getNumber() { 90 | return number; 91 | } 92 | public void setNumber(String number) { 93 | this.number = number; 94 | } 95 | public String getBeizhu() { 96 | return beizhu; 97 | } 98 | public void setBeizhu(String beizhu) { 99 | this.beizhu = beizhu; 100 | } 101 | public String getUserName() { 102 | return userName; 103 | } 104 | public void setUserName(String userName) { 105 | this.userName = userName; 106 | } 107 | public String getAddress() { 108 | return address; 109 | } 110 | public void setAddress(String address) { 111 | this.address = address; 112 | } 113 | 114 | } 115 | -------------------------------------------------------------------------------- /src/vo/Type.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | public class Type { 4 | private String id;//主键,商品类别编号', 5 | private String typeName;//类别名称', 6 | 7 | 8 | public String getId() { 9 | return id; 10 | } 11 | public void setId(String id) { 12 | this.id = id; 13 | } 14 | public String getTypeName() { 15 | return typeName; 16 | } 17 | public void setTypeName(String typeName) { 18 | this.typeName = typeName; 19 | } 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/vo/User.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | public class User { 4 | private String id;//主键,用户编号', 5 | private String city;//所在城市', 6 | private String username;//用户名', 7 | private String realname;//真实名', 8 | private String password;//密码', 9 | private String address;//'地址', 10 | private String papersNO;//证件号', 11 | private String papersType;//证件名', 12 | private String sex;//性别', 13 | private String number;//电话号码 14 | private String addTime;//注册时间 15 | private String userType;//用户类型 16 | private String email;//用户邮箱 17 | 18 | 19 | public String getId() { 20 | return id; 21 | } 22 | public void setId(String id) { 23 | this.id = id; 24 | } 25 | public String getCity() { 26 | return city; 27 | } 28 | public void setCity(String city) { 29 | this.city = city; 30 | } 31 | public String getUsername() { 32 | return username; 33 | } 34 | public void setUsername(String username) { 35 | this.username = username; 36 | } 37 | public String getRealname() { 38 | return realname; 39 | } 40 | public void setRealname(String realname) { 41 | this.realname = realname; 42 | } 43 | public String getPassword() { 44 | return password; 45 | } 46 | public void setPassword(String password) { 47 | this.password = password; 48 | } 49 | public String getAddress() { 50 | return address; 51 | } 52 | public void setAddress(String address) { 53 | this.address = address; 54 | } 55 | public String getPapersNO() { 56 | return papersNO; 57 | } 58 | public void setPapersNO(String papersNO) { 59 | this.papersNO = papersNO; 60 | } 61 | public String getPapersType() { 62 | return papersType; 63 | } 64 | public void setPapersType(String papersType) { 65 | this.papersType = papersType; 66 | } 67 | public String getSex() { 68 | return sex; 69 | } 70 | public void setSex(String sex) { 71 | this.sex = sex; 72 | } 73 | public String getNumber() { 74 | return number; 75 | } 76 | public void setNumber(String number) { 77 | this.number = number; 78 | } 79 | public String getAddTime() { 80 | return addTime; 81 | } 82 | public void setAddTime(String addTime) { 83 | this.addTime = addTime; 84 | } 85 | public String getUserType() { 86 | return userType; 87 | } 88 | public void setUserType(String userType) { 89 | this.userType = userType; 90 | } 91 | public String getEmail() { 92 | return email; 93 | } 94 | public void setEmail(String email) { 95 | this.email = email; 96 | } 97 | 98 | 99 | } 100 | -------------------------------------------------------------------------------- /web/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | --------------------------------------------------------------------------------