├── .classpath ├── .gitattributes ├── .gitignore ├── .project ├── .settings ├── .jsdtscope ├── org.eclipse.jdt.core.prefs ├── org.eclipse.wst.common.component ├── org.eclipse.wst.common.project.facet.core.xml ├── org.eclipse.wst.jsdt.ui.superType.container └── org.eclipse.wst.jsdt.ui.superType.name ├── .tern-project ├── README.md ├── WebContent ├── META-INF │ └── MANIFEST.MF ├── WEB-INF │ ├── lib │ │ ├── commons-dbcp2-2.1.1.jar │ │ ├── commons-fileupload-1.2.1.jar │ │ ├── commons-io-1.4.jar │ │ ├── commons-pool2-2.4.2.jar │ │ ├── jspsmartupload.jar │ │ ├── jstl.jar │ │ ├── mysql-connector-java-5.1.24-bin.jar │ │ └── standard.jar │ └── web.xml ├── about.jsp ├── add_adm.jsp ├── add_food.jsp ├── adm.jsp ├── css │ ├── about.css │ ├── index.css │ ├── public.css │ └── register.css ├── del_adm.jsp ├── find_psw.jsp ├── images │ ├── 2.png │ ├── menu_img_0.jpg │ ├── search.png │ └── 食谱.docx ├── index.jsp ├── information.jsp ├── js │ └── jquery-3.1.1.min.js ├── no_pay.jsp ├── order_search.jsp ├── pay.jsp ├── person.jsp ├── psw.jsp ├── recom_food.jsp ├── register.jsp ├── shopping.jsp ├── updateIntroduce.jsp ├── update_food.jsp └── user.jsp ├── build └── classes │ ├── dao │ ├── IntroduceDAO.class │ ├── MenuDAO.class │ ├── MenuTopDAO.class │ ├── MessageDAO.class │ ├── OrdersDAO.class │ ├── PersonDAO.class │ ├── UserInfoDAO.class │ └── impl │ │ ├── IntroduceDAOImpl.class │ │ ├── MenuDAOImpl.class │ │ ├── MenuTopDAOImpl.class │ │ ├── MessageDAOImpl.class │ │ ├── OrdersDAOImpl.class │ │ ├── PersonDAOImpl.class │ │ └── UserInfoDAOImpl.class │ ├── factory │ └── DAOFactory.class │ ├── filter │ └── CharacterEncodingFilter.class │ ├── servlet │ ├── AddAdminServlet.class │ ├── AddMenuServlet.class │ ├── AddMenuTopServlet.class │ ├── DeleteBuyServlet.class │ ├── DeleteMenuServlet.class │ ├── MemberServlet.class │ ├── OrderAddServlet.class │ ├── OrdersPayServlet.class │ ├── RemoveAdminServlet.class │ ├── RemoveMenuTopServlet.class │ ├── UpdateIntroduceServlet.class │ ├── UpdateMenuServlet.class │ ├── UpdateUserInfoServlet.class │ ├── UserExitServlet.class │ ├── UserLoginServlet.class │ ├── UserRegisterServlet.class │ └── UserUpdateServlet.class │ ├── util │ └── DbcpConnectionPool.class │ └── vo │ ├── Introduce.class │ ├── Menu.class │ ├── MenuTop.class │ ├── Message.class │ ├── Orders.class │ ├── Person.class │ └── UserInfo.class ├── src ├── dao │ ├── IntroduceDAO.java │ ├── MenuDAO.java │ ├── MenuTopDAO.java │ ├── MessageDAO.java │ ├── OrdersDAO.java │ ├── PersonDAO.java │ ├── UserInfoDAO.java │ └── impl │ │ ├── IntroduceDAOImpl.java │ │ ├── MenuDAOImpl.java │ │ ├── MenuTopDAOImpl.java │ │ ├── MessageDAOImpl.java │ │ ├── OrdersDAOImpl.java │ │ ├── PersonDAOImpl.java │ │ └── UserInfoDAOImpl.java ├── factory │ └── DAOFactory.java ├── filter │ └── CharacterEncodingFilter.java ├── servlet │ ├── AddAdminServlet.java │ ├── AddMenuServlet.java │ ├── AddMenuTopServlet.java │ ├── DeleteBuyServlet.java │ ├── DeleteMenuServlet.java │ ├── MemberServlet.java │ ├── OrderAddServlet.java │ ├── OrdersPayServlet.java │ ├── RemoveAdminServlet.java │ ├── RemoveMenuTopServlet.java │ ├── UpdateIntroduceServlet.java │ ├── UpdateMenuServlet.java │ ├── UpdateUserInfoServlet.java │ ├── UserExitServlet.java │ ├── UserLoginServlet.java │ ├── UserRegisterServlet.java │ └── UserUpdateServlet.java ├── util │ └── DbcpConnectionPool.java └── vo │ ├── Introduce.java │ ├── Menu.java │ ├── MenuTop.java │ ├── Message.java │ ├── Orders.java │ ├── Person.java │ └── UserInfo.java └── wsdc.sql /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Directories potentially created on remote AFP share 39 | .AppleDB 40 | .AppleDesktop 41 | Network Trash Folder 42 | Temporary Items 43 | .apdisk 44 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | wsdc 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.jsdt.core.javascriptValidator 10 | 11 | 12 | 13 | 14 | org.eclipse.jdt.core.javabuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.wst.common.project.facet.core.builder 20 | 21 | 22 | 23 | 24 | org.eclipse.wst.validation.validationbuilder 25 | 26 | 27 | 28 | 29 | 30 | org.eclipse.jem.workbench.JavaEMFNature 31 | org.eclipse.wst.common.modulecore.ModuleCoreNature 32 | org.eclipse.wst.common.project.facet.core.nature 33 | org.eclipse.jdt.core.javanature 34 | org.eclipse.wst.jsdt.core.jsNature 35 | 36 | 37 | -------------------------------------------------------------------------------- /.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 4 | org.eclipse.jdt.core.compiler.compliance=1.8 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.source=1.8 8 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /.tern-project: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": { 3 | "guess-types": { 4 | 5 | }, 6 | "outline": { 7 | 8 | } 9 | }, 10 | "libs": [ 11 | "ecma5", 12 | "browser" 13 | ] 14 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # wsdc 2 | 基于JavaWeb的网上订餐系统 3 | 4 | ## 项目介绍 5 | 整个项目使用 Servlet + JavaBean + 少量JSTL 完成,属于一个练习Servlet的小项目。 6 | 7 | ## 运行环境 8 | Tomcat v7.0 + MySQL5 9 | 10 | ## 开发工具 11 | Eclipse + MySQL-Front 12 | 13 | ## 部分截图 14 | 登录界面 15 | ![登录](https://raw.githubusercontent.com/sdan8/MarkdownPhoto/master/wsdc_2.jpg) 16 | 首页 17 | ![首页](https://raw.githubusercontent.com/sdan8/MarkdownPhoto/master/wsdc_0.jpg) 18 | 会员管理中心 19 | ![会员管理中心](https://raw.githubusercontent.com/sdan8/MarkdownPhoto/master/wsdc_1.jpg) 20 | -------------------------------------------------------------------------------- /WebContent/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-dbcp2-2.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/WEB-INF/lib/commons-dbcp2-2.1.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-io-1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/WEB-INF/lib/commons-io-1.4.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-pool2-2.4.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/WEB-INF/lib/commons-pool2-2.4.2.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/jspsmartupload.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/WEB-INF/lib/jspsmartupload.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/jstl.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/WEB-INF/lib/jstl.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/mysql-connector-java-5.1.24-bin.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/WEB-INF/lib/mysql-connector-java-5.1.24-bin.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/standard.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/WEB-INF/lib/standard.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | wsdc 4 | 5 | index.html 6 | index.jsp 7 | 8 | 9 | CharacterEncodingFilter 10 | filter.CharacterEncodingFilter 11 | 12 | encoding 13 | utf-8 14 | 15 | 16 | 17 | CharacterEncodingFilter 18 | /* 19 | 20 | -------------------------------------------------------------------------------- /WebContent/about.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 关于我们 9 | 10 | 11 | 12 | 13 | 41 | 42 |
43 |

关于我们:

44 | 45 |
46 | 47 | 48 | 51 | 52 | -------------------------------------------------------------------------------- /WebContent/add_adm.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 40 | 41 | 42 |
43 |

添加管理员

44 |
45 |
用户ID: 46 | 47 | 48 |
49 |
50 | 51 |
52 | 53 | -------------------------------------------------------------------------------- /WebContent/add_food.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 9 | 52 | 53 | 54 |
55 |

添加菜品

56 |
57 | 58 | 59 | 62 | 67 | 68 | 69 | 72 | 75 | 76 | 77 | 80 | 83 | 84 | 85 | 88 | 91 | 92 |
60 | 图片: 61 | 63 | 64 |
65 | 仅支持.jpg或.png格式 66 |
70 | 菜名: 71 | 73 | 74 |
78 | 单价: 79 | 81 | 元/份 82 |
86 | 菜品描述: 87 | 89 | 90 |
93 | 94 |
95 | 96 |
97 | 98 | -------------------------------------------------------------------------------- /WebContent/adm.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 信息管理--管理员 9 | 10 | 56 | 57 | 58 | 86 | 87 |
88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 |
账号管理
修改个人信息
修改密码
普通用户管理
添加管理员
删除管理员
菜品管理
添加菜品
修改菜品
推荐菜品
商家信息
修改介绍
107 |
108 |
109 | 110 |
111 |
112 | 113 | 114 | 117 | 118 | -------------------------------------------------------------------------------- /WebContent/css/about.css: -------------------------------------------------------------------------------- 1 | #body { 2 | width: 90%; 3 | height: 400px; 4 | margin: 0 auto; 5 | } 6 | #body h2{ 7 | text-align: center; 8 | margin-top: 50px; 9 | } 10 | #body table{ 11 | width: 70%; 12 | margin: 0 auto; 13 | border: 3px solid #104E8B; 14 | margin-top: 50px; 15 | border-spacing: 0; 16 | } 17 | #body table td{ 18 | border: 1px solid #104E8B; 19 | 20 | } 21 | #body table tr th{ 22 | height: 40px; 23 | font-size: 25px; 24 | border: 1px solid #104E8B; 25 | } 26 | #body table td{ 27 | height: 30px; 28 | text-align: center; 29 | font-size: 18px; 30 | } 31 | 32 | 33 | #head #head_right ul a{ 34 | text-decoration: none; 35 | color: #f5f5f5; 36 | } 37 | #head #head_right ul li:hover{ 38 | background-color: #6495ed; 39 | color: #000000; 40 | } -------------------------------------------------------------------------------- /WebContent/css/index.css: -------------------------------------------------------------------------------- 1 | #whole{ 2 | width: 100%; 3 | } 4 | 5 | #body{ 6 | width: 100%; 7 | } 8 | #body #body_left{ 9 | width: 18%; 10 | height: 500px; 11 | /*background-color: crimson;*/ 12 | float: left; 13 | /*border-top: solid 3px #104E8B;*/ 14 | 15 | } 16 | #body #body_left #search{ 17 | width: 85%; 18 | padding: 10px; 19 | text-align: center; 20 | } 21 | #body #body_left #search #research{ 22 | height: 30px; 23 | position: relative; 24 | left: 10px; 25 | } 26 | #body #body_left #search img{ 27 | float: right; 28 | position: relative; 29 | top: 3px; 30 | left: 15px; 31 | } 32 | #body_left #introduce h2{ 33 | margin: 10px; 34 | } 35 | #body_left #introduce p{ 36 | display: block; 37 | margin: 0 auto; 38 | width: 200px; 39 | font-size: 18px; 40 | line-height: 30px; 41 | } 42 | 43 | #body #body_right{ 44 | width: 81.75%; 45 | float: right; 46 | padding-top: 30px; 47 | border-left: solid 3px #104E8B; 48 | /*border-top: solid 3px #104E8B;*/ 49 | } 50 | #body #body_right #main{ 51 | width: 90%; 52 | margin: 0 auto; 53 | } 54 | #body #body_right #main .food{ 55 | width: 100%; 56 | } 57 | #body #body_right #main .food h2{ 58 | margin: 2px; 59 | background-color: darkgrey; 60 | padding: 2px; 61 | clear: both; 62 | } 63 | #body #body_right #main .food #title { 64 | margin-top: 280px; 65 | } 66 | #body #body_right #main .text{ 67 | list-style: none; 68 | } 69 | #body #body_right #main .text .content{ 70 | margin: 5px; 71 | float: left; 72 | margin-bottom: 10px; 73 | } 74 | #body_right #main .food .content .fig .img{ 75 | width: 200px; 76 | height: 150px; 77 | } 78 | #body #body_right #main .text .content .name{ 79 | font-size: 18px; 80 | font-weight: 700; 81 | margin-top: 5px; 82 | margin-left: 5px; 83 | } 84 | #body #body_right #main .text .content .price{ 85 | margin: 5px; 86 | } 87 | #body #body_right #main .text .content .price span{ 88 | color: rgb(255,10,64); 89 | } 90 | #body #body_right #main .text .content .price .sign{ 91 | font-size: 16px; 92 | font-weight: bolder; 93 | } 94 | #body #body_right #main .text .content .price .current{ 95 | font-size: 22px; 96 | font-weight: bolder; 97 | } 98 | #body #body_right #main .text .content .buying{ 99 | width: 200px; 100 | height: 25px; 101 | background-color: #ff4500; 102 | text-align: center; 103 | line-height: 25px; 104 | color: whitesmoke; 105 | } -------------------------------------------------------------------------------- /WebContent/css/public.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/css/public.css -------------------------------------------------------------------------------- /WebContent/css/register.css: -------------------------------------------------------------------------------- 1 | .index_main{ 2 | width: 100%; 3 | } 4 | .index_main .index_header{ 5 | width: 50%; 6 | margin: 0 auto; 7 | } 8 | .index_main .index_header .index_tab_nav{ 9 | width: 404px; 10 | margin: 0 auto; 11 | padding-top: 50px; 12 | padding-bottom: 5px; 13 | } 14 | .index_main .index_header .index_tab_nav .name a:hover{ 15 | border-bottom: 2px solid #104E8B; 16 | } 17 | .index_main .index_header .name{ 18 | text-align: center; 19 | } 20 | .index_main .index_header .name a{ 21 | text-decoration: none; 22 | font-size: 20px; 23 | font-weight: bolder; 24 | text-align: center; 25 | margin: 5px; 26 | color: black; 27 | padding-bottom: 5px; 28 | } 29 | .index_main .index_header .signup{ 30 | margin: 0 auto; 31 | width: 404px; 32 | } 33 | .index_main .index_header .signup form{ 34 | margin: 0 auto; 35 | margin-top: 20px; 36 | display: inline-block; 37 | } 38 | .index_main .index_header .signup form input[type="text"]{ 39 | width: 300px; 40 | height: 40px; 41 | } 42 | .index_main .index_header .signup form input[type="password"]{ 43 | width: 300px; 44 | height: 40px; 45 | } 46 | .index_main .index_header .signup form input[type="email"]{ 47 | width: 300px; 48 | height: 40px; 49 | } 50 | .index_main .index_header .signup form input[type="submit"]{ 51 | width: 300px; 52 | height: 40px; 53 | margin-top: 20px; 54 | 55 | } 56 | .index_main .index_header .signup form input[type="radio"]{ 57 | margin: 10px; 58 | } 59 | .index_main .index_header .signup form .name{ 60 | display: inline-block; 61 | width: 100px; 62 | text-align: center; 63 | font-size: 15px; 64 | font-weight: bolder; 65 | } 66 | 67 | .index_main .index_header .signin{ 68 | margin: 0 auto; 69 | width: 404px; 70 | height: 366px; 71 | } 72 | .index_main .index_header .signin form{ 73 | margin: 0 auto; 74 | margin-top: 20px; 75 | display: inline-block; 76 | } 77 | .index_main .index_header .signin form input[type="text"]{ 78 | width: 300px; 79 | height: 40px; 80 | } 81 | .index_main .index_header .signin form input[type="password"]{ 82 | width: 300px; 83 | height: 40px; 84 | } 85 | .index_main .index_header .signin form input[type="submit"]{ 86 | width: 80px; 87 | height: 40px; 88 | margin-top: 20px; 89 | margin-left: 15px; 90 | margin-right: 15px; 91 | } 92 | .index_main .index_header .signin form input[type="reset"]{ 93 | width: 80px; 94 | height: 40px; 95 | margin-top: 20px; 96 | margin-left: 15px; 97 | margin-right: 15px; 98 | } 99 | .index_main .index_header .signin form input[type="radio"]{ 100 | margin: 10px; 101 | } 102 | .index_main .index_header .signin form .name{ 103 | display: inline-block; 104 | width: 100px; 105 | text-align: center; 106 | font-size: 15px; 107 | font-weight: bolder; 108 | } 109 | .index_main .index_header .signin form .name1{ 110 | display: inline-block; 111 | width: 80px; 112 | text-align: center; 113 | font-size: 15px; 114 | font-weight: bolder; 115 | } 116 | .index_main .index_header .signin form a{ 117 | color: red; 118 | font-size: 15px; 119 | } -------------------------------------------------------------------------------- /WebContent/del_adm.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 8 | 58 | 59 | 60 | 61 |
62 |

删除管理员

63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 |
用户ID用户名真实姓名性别E-mail
73 |
74 |
用户ID: 75 | 76 |
77 |
78 |
79 | 80 | 81 | -------------------------------------------------------------------------------- /WebContent/find_psw.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 找回密码 9 | 10 | 60 | 61 | 62 | 90 | 91 |
92 |

找回密码

93 |
94 |
95 |
用户名:
96 |
E-mail:
97 |
新的密码:
98 |
确认密码:
99 |
100 |
101 | 102 |
103 |
104 | 105 | 106 | 109 | 120 | 121 | -------------------------------------------------------------------------------- /WebContent/images/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/images/2.png -------------------------------------------------------------------------------- /WebContent/images/menu_img_0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/images/menu_img_0.jpg -------------------------------------------------------------------------------- /WebContent/images/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/images/search.png -------------------------------------------------------------------------------- /WebContent/images/食谱.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/WebContent/images/食谱.docx -------------------------------------------------------------------------------- /WebContent/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 网上订餐系统--首页 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 45 | 46 |
47 |
48 | 49 | 53 | 54 |
55 |

商家介绍:

56 |

57 | 58 |

59 |
60 |
61 |
62 | 63 |
64 | 65 |
66 |

每日推荐

67 |
    68 | 69 |
70 |
71 | 72 |
73 |

全部菜品

74 |
    75 | 76 |
77 |
78 |
79 |
80 |
81 | 82 | 85 |
86 | 87 | -------------------------------------------------------------------------------- /WebContent/information.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="vo.Menu"%> 2 | <%@page import="factory.DAOFactory"%> 3 | <%@ page language="java" contentType="text/html; charset=UTF-8" 4 | pageEncoding="UTF-8"%> 5 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 6 | 7 | 8 | 9 | 10 | 详细信息 11 | 12 | 102 | 103 | 104 | 105 | 133 | 134 | <% 135 | //获取菜品信息 136 | Menu menu = DAOFactory.getMenuDAOInstance().searchById(Integer.parseInt(request.getParameter("id"))); 137 | %> 138 |
139 |

<%=menu.getMenu_name() %> 详细信息 欢迎选购

140 |
141 |
142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 165 | 166 | 167 | 168 | 171 | 172 | 173 | 174 | 177 | 178 |
单价:<%=menu.getMenu_price()%>元
菜肴简介:<%=menu.getMenu_content()%>
付款方式:先送货再付款
选择口味: 159 | 清淡 160 | 微辣 161 | 中辣 162 | 特辣 163 | 重口味 164 |
选购数量: 169 | 170 |
其他要求: 175 | 176 |
179 | 180 | 181 | 182 | 183 | 184 | 【登录】 185 | 186 | 187 |
188 | <%--
用户评价
189 | --%> 192 |
193 | 194 | 197 | 206 | 207 | -------------------------------------------------------------------------------- /WebContent/no_pay.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 9 | 69 | 70 | 71 | 72 | 73 | 74 |
75 |

未消费清单:

76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 |
编号菜名数量单价总价备注
88 | 89 |
总价:
90 |
91 |
92 | 93 | -------------------------------------------------------------------------------- /WebContent/order_search.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 订单查询 9 | 10 | 57 | 58 | 59 | 87 | 88 |
89 |
90 | 91 | 92 | 93 | 94 |
我的订单
未消费
已消费
95 |
96 |
97 | 98 |
99 |
100 | 101 | 102 | 105 | 106 | -------------------------------------------------------------------------------- /WebContent/pay.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 8 | 38 | 39 | 40 | 41 | 42 | 43 |
44 |

已消费清单:

45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 |
编号菜名数量单价总价备注
57 |
58 | 59 | -------------------------------------------------------------------------------- /WebContent/person.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 9 | 61 | 62 | 63 | 64 |
65 |

修改个人信息

66 |
67 |
68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 |
用户名:${user.user_name}
真实姓名:
性别:
E-mail:
86 |
87 |
88 |
89 |
90 | 91 | 92 | -------------------------------------------------------------------------------- /WebContent/psw.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 8 | 54 | 55 | 56 |
57 |

修改密码

58 |
59 |
60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 |
原密码:
新密码:
确认密码:
74 |
75 |
76 | 77 |
78 |
79 | 80 | 81 | 96 | 97 | -------------------------------------------------------------------------------- /WebContent/recom_food.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 8 | 34 | 35 | 36 | 37 |
38 |
39 |

推荐菜品

40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
菜品ID菜名单价详细信息操作
50 |
51 |
52 |

全部菜品

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 |
菜品ID菜名单价详细信息操作
63 |
64 |
65 | 66 | -------------------------------------------------------------------------------- /WebContent/register.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 9 | 用户登录 10 | 11 | 12 | 13 | 14 | 15 | <% response.sendRedirect("index.jsp"); %> 16 | 17 |
18 | 38 |
39 |
40 |
41 |
42 | 注册 43 | 登录 44 |
45 |
46 | 57 | 66 |
67 |
68 | 71 |
72 | 73 | 106 | 107 | -------------------------------------------------------------------------------- /WebContent/shopping.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="vo.Person"%> 2 | <%@ page language="java" contentType="text/html; charset=UTF-8" 3 | pageEncoding="UTF-8"%> 4 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 5 | 6 | 7 | 8 | 9 | 网上订餐系统——我的购物车 10 | 11 | 65 | 66 | 67 | 68 | 69 | 70 | 98 | 99 |
100 |

您的购物车列表信息:

101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 |
编号菜名数量单价总价备注操作
113 |
总数量:
114 |
总价:
115 |
116 |
117 | 118 |
119 |
120 |
121 | 122 | 123 | 126 | 127 | -------------------------------------------------------------------------------- /WebContent/updateIntroduce.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 8 | 43 | 44 | 45 |
46 |

修改商家信息

47 |
48 |
商家介绍:
49 |
50 | 51 | 52 |
53 |
54 |
55 | 56 | -------------------------------------------------------------------------------- /WebContent/update_food.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | 9 | 64 | 65 | 66 | 67 |
68 |

删除菜品

69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
菜品ID菜名单价简介
79 |
80 |
菜品ID: 81 | 82 |
83 |
84 |

85 |
86 |
菜品ID: 87 | 88 | 单价: 89 | 90 | 元/份 91 |
92 |
93 |
94 | 95 | 96 | -------------------------------------------------------------------------------- /WebContent/user.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="vo.Person"%> 2 | <%@page import="factory.DAOFactory"%> 3 | <%@page import="vo.UserInfo"%> 4 | <%@ page language="java" contentType="text/html; charset=UTF-8" 5 | pageEncoding="UTF-8"%> 6 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 7 | 8 | 9 | 10 | 11 | 会员管理中心 12 | 13 | 84 | 85 | 86 | 87 | <% 88 | UserInfo userInfo = DAOFactory.getUserInfoDAOInstance().searchByUser(user); 89 | request.setAttribute("userInfo", userInfo); 90 | %> 91 | 92 | 120 | 121 | 122 |
123 | 128 |
129 |
130 |
131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 |
用户名:${user.user_name}
真实姓名:
性别:
E-mail:
149 |
150 |
151 |
152 | 171 | 190 |
191 |
192 | 193 | 194 | 197 | 198 | 228 | 229 | -------------------------------------------------------------------------------- /build/classes/dao/IntroduceDAO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/IntroduceDAO.class -------------------------------------------------------------------------------- /build/classes/dao/MenuDAO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/MenuDAO.class -------------------------------------------------------------------------------- /build/classes/dao/MenuTopDAO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/MenuTopDAO.class -------------------------------------------------------------------------------- /build/classes/dao/MessageDAO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/MessageDAO.class -------------------------------------------------------------------------------- /build/classes/dao/OrdersDAO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/OrdersDAO.class -------------------------------------------------------------------------------- /build/classes/dao/PersonDAO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/PersonDAO.class -------------------------------------------------------------------------------- /build/classes/dao/UserInfoDAO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/UserInfoDAO.class -------------------------------------------------------------------------------- /build/classes/dao/impl/IntroduceDAOImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/impl/IntroduceDAOImpl.class -------------------------------------------------------------------------------- /build/classes/dao/impl/MenuDAOImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/impl/MenuDAOImpl.class -------------------------------------------------------------------------------- /build/classes/dao/impl/MenuTopDAOImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/impl/MenuTopDAOImpl.class -------------------------------------------------------------------------------- /build/classes/dao/impl/MessageDAOImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/impl/MessageDAOImpl.class -------------------------------------------------------------------------------- /build/classes/dao/impl/OrdersDAOImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/impl/OrdersDAOImpl.class -------------------------------------------------------------------------------- /build/classes/dao/impl/PersonDAOImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/impl/PersonDAOImpl.class -------------------------------------------------------------------------------- /build/classes/dao/impl/UserInfoDAOImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/dao/impl/UserInfoDAOImpl.class -------------------------------------------------------------------------------- /build/classes/factory/DAOFactory.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/factory/DAOFactory.class -------------------------------------------------------------------------------- /build/classes/filter/CharacterEncodingFilter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/filter/CharacterEncodingFilter.class -------------------------------------------------------------------------------- /build/classes/servlet/AddAdminServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/AddAdminServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/AddMenuServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/AddMenuServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/AddMenuTopServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/AddMenuTopServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/DeleteBuyServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/DeleteBuyServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/DeleteMenuServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/DeleteMenuServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/MemberServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/MemberServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/OrderAddServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/OrderAddServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/OrdersPayServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/OrdersPayServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/RemoveAdminServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/RemoveAdminServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/RemoveMenuTopServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/RemoveMenuTopServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/UpdateIntroduceServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/UpdateIntroduceServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/UpdateMenuServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/UpdateMenuServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/UpdateUserInfoServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/UpdateUserInfoServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/UserExitServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/UserExitServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/UserLoginServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/UserLoginServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/UserRegisterServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/UserRegisterServlet.class -------------------------------------------------------------------------------- /build/classes/servlet/UserUpdateServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/servlet/UserUpdateServlet.class -------------------------------------------------------------------------------- /build/classes/util/DbcpConnectionPool.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/util/DbcpConnectionPool.class -------------------------------------------------------------------------------- /build/classes/vo/Introduce.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/vo/Introduce.class -------------------------------------------------------------------------------- /build/classes/vo/Menu.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/vo/Menu.class -------------------------------------------------------------------------------- /build/classes/vo/MenuTop.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/vo/MenuTop.class -------------------------------------------------------------------------------- /build/classes/vo/Message.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/vo/Message.class -------------------------------------------------------------------------------- /build/classes/vo/Orders.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/vo/Orders.class -------------------------------------------------------------------------------- /build/classes/vo/Person.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/vo/Person.class -------------------------------------------------------------------------------- /build/classes/vo/UserInfo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdan8/wsdc/5f9679874c79a7b7dda73b22f9bdbba4392fe0d9/build/classes/vo/UserInfo.class -------------------------------------------------------------------------------- /src/dao/IntroduceDAO.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | public interface IntroduceDAO { 4 | 5 | /** 6 | * 更新商家信息 7 | */ 8 | public void update(String content); 9 | /** 10 | * 显示商家信息 11 | */ 12 | public String show(); 13 | } 14 | -------------------------------------------------------------------------------- /src/dao/MenuDAO.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import java.util.List; 4 | 5 | import vo.Menu; 6 | 7 | /** 8 | * 菜单类接口 9 | */ 10 | public interface MenuDAO { 11 | /** 12 | * 保存菜品 13 | * @param menu 14 | */ 15 | public void save(Menu menu); 16 | /** 17 | * 更新菜品 18 | * @param menu 19 | */ 20 | public int update(Menu menu); 21 | /** 22 | * 删除菜品 23 | * @param menu 24 | */ 25 | public int delete(Menu menu); 26 | /** 27 | * 模糊查询菜品 28 | * @param property 查询的字段名 29 | * @param val 查询的字段值 30 | */ 31 | public List searchByLikeProperty(String property, String val); 32 | /** 33 | * 根据菜品ID查询 34 | * @param id 菜品ID 35 | * @return 36 | */ 37 | public Menu searchById(int id); 38 | /** 39 | * 查询所有的记录 40 | * @return 41 | */ 42 | public List showAllList(); 43 | /** 44 | * 查询推荐的记录 45 | * @return 46 | */ 47 | public List showTopList(); 48 | } 49 | -------------------------------------------------------------------------------- /src/dao/MenuTopDAO.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import vo.Menu; 4 | 5 | /** 6 | * 推荐菜单接口 7 | */ 8 | public interface MenuTopDAO { 9 | /** 10 | * 添加推荐菜单 11 | * @param menu 12 | */ 13 | public void add(Menu menu); 14 | /** 15 | * 从推荐菜单移除 16 | * @param menu 17 | */ 18 | public void remove(int id); 19 | } 20 | -------------------------------------------------------------------------------- /src/dao/MessageDAO.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import java.util.List; 4 | 5 | import vo.Message; 6 | 7 | /** 8 | * 留言信息类接口 9 | */ 10 | public interface MessageDAO { 11 | 12 | /** 13 | * 保存留言 14 | * @param message 15 | */ 16 | public void save(Message message); 17 | /** 18 | * 删除留言 19 | * @param message 20 | */ 21 | public int delete(Message message); 22 | /** 23 | * 列出所有留言 24 | * @return 25 | */ 26 | public List searchAllList(); 27 | } 28 | -------------------------------------------------------------------------------- /src/dao/OrdersDAO.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import java.util.List; 4 | 5 | import vo.Orders; 6 | import vo.Person; 7 | 8 | /** 9 | * 订单类接口 10 | */ 11 | public interface OrdersDAO { 12 | /** 13 | * 保存订单 14 | * @param orders 15 | */ 16 | public void save(Orders orders); 17 | /** 18 | * 删除订单 19 | * @param orders 20 | * @return 改动的记录数量 21 | */ 22 | public int delete(Orders orders); 23 | /** 24 | * 更新订单 25 | * @param orders 26 | * @return 改动的记录数量 27 | */ 28 | public int update(Orders orders); 29 | /** 30 | * 查询订单 31 | * @param property 查询的字段名 32 | * @param val 查询的字段值 33 | * @return 34 | */ 35 | public List searchByLikeProperty(String property, String val); 36 | /** 37 | * 查询购物车 38 | * @param user 39 | * @return 40 | */ 41 | public List searchBuy(Person user); 42 | /** 43 | * 订单支付 44 | * @param user 45 | * @return 46 | */ 47 | public int pay(Person user); 48 | /** 49 | * 查询已支付的订单 50 | * @param user 51 | * @return 52 | */ 53 | public List searchPaidList(Person user); 54 | } 55 | -------------------------------------------------------------------------------- /src/dao/PersonDAO.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import java.util.List; 4 | 5 | import vo.Person; 6 | 7 | /** 8 | * 用户类接口 9 | */ 10 | public interface PersonDAO { 11 | /** 12 | * 注册用户 13 | * @param user 14 | */ 15 | public void save(Person user); 16 | /** 17 | * 更新用户 18 | * @param user 19 | */ 20 | public int update(Person user); 21 | /** 22 | * 根据ID查询用户 23 | * @param id 24 | * @return 25 | */ 26 | public Person searchById(int id); 27 | /** 28 | * 根据用户名查询用户是否存在 29 | * @param user 30 | * @return 存在用户返回 true ,否则返回 false 31 | */ 32 | public boolean searchByUsername(Person user); 33 | /** 34 | * 根据用户名查询用户 35 | * @param username 用户名 36 | * @return 返回用户,用户不存在返回null 37 | */ 38 | public Person searchByUsername(String username); 39 | /** 40 | * 验证密码是否正确,用户不存在则返回 null 41 | * @param user 42 | * @return 正确返回 用户,否则返回 null 43 | */ 44 | public Person validatePassword(Person user); 45 | /** 46 | * 获得所有的管理员信息 47 | * @return 48 | */ 49 | public List getAllAdmin(); 50 | } 51 | -------------------------------------------------------------------------------- /src/dao/UserInfoDAO.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import vo.Person; 4 | import vo.UserInfo; 5 | 6 | /** 7 | * 用户配送信息类接口 8 | */ 9 | public interface UserInfoDAO { 10 | /** 11 | * 保存用户配送信息 12 | * @param userInfo 13 | */ 14 | public void save(UserInfo userInfo); 15 | /** 16 | * 删除用户配送信息 17 | * @param userInfo 18 | * @return 19 | */ 20 | public int delete(UserInfo userInfo); 21 | /** 22 | * 更新用户配送信息 23 | * @param userInfo 24 | * @return 25 | */ 26 | public int update(UserInfo userInfo); 27 | /** 28 | * 根据ID查询用户配送信息 29 | * @param id 30 | * @return 31 | */ 32 | public UserInfo searchById(int id); 33 | /** 34 | * 根据用户查询配送信息 35 | * @param user 36 | * @return 37 | */ 38 | public UserInfo searchByUser(Person user); 39 | } 40 | -------------------------------------------------------------------------------- /src/dao/impl/IntroduceDAOImpl.java: -------------------------------------------------------------------------------- 1 | package dao.impl; 2 | 3 | import java.sql.Connection; 4 | import java.sql.PreparedStatement; 5 | import java.sql.ResultSet; 6 | import java.sql.SQLException; 7 | 8 | import dao.IntroduceDAO; 9 | import util.DbcpConnectionPool; 10 | 11 | public class IntroduceDAOImpl implements IntroduceDAO { 12 | 13 | /** 14 | * 更新商家介绍 15 | */ 16 | @Override 17 | public void update(String content) { 18 | String sql = "UPDATE tb_introduce SET content=? WHERE id=1"; 19 | try { 20 | Connection conn = DbcpConnectionPool.getConnection(); 21 | PreparedStatement ps = conn.prepareStatement(sql); 22 | ps.setString(1, content); 23 | ps.executeUpdate(); 24 | ps.close(); 25 | conn.close(); 26 | } catch (SQLException e) { 27 | e.printStackTrace(); 28 | } 29 | } 30 | 31 | /** 32 | * 显示商家信息 33 | */ 34 | @Override 35 | public String show() { 36 | String content = ""; 37 | String sql = "SELECT * FROM tb_introduce WHERE id=1"; 38 | try { 39 | Connection conn = DbcpConnectionPool.getConnection(); 40 | PreparedStatement ps = conn.prepareStatement(sql); 41 | ResultSet rs = ps.executeQuery(); 42 | if (rs.next()){ 43 | content = rs.getString("content"); 44 | } 45 | } catch (SQLException e) { 46 | e.printStackTrace(); 47 | } 48 | return content; 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/dao/impl/MenuDAOImpl.java: -------------------------------------------------------------------------------- 1 | package dao.impl; 2 | 3 | import java.sql.Connection; 4 | import java.sql.PreparedStatement; 5 | import java.sql.ResultSet; 6 | import java.sql.SQLException; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import dao.MenuDAO; 11 | import util.DbcpConnectionPool; 12 | import vo.Menu; 13 | /** 14 | * 菜单管理实现类 15 | */ 16 | public class MenuDAOImpl implements MenuDAO { 17 | 18 | /** 19 | * 保存菜品 20 | */ 21 | @Override 22 | public void save(Menu menu) { 23 | String sql = "INSERT INTO tb_menu(menu_name, menu_content, menu_price, menu_image) VALUES(?,?,?,?)"; 24 | try { 25 | Connection conn = DbcpConnectionPool.getConnection(); 26 | PreparedStatement ps = conn.prepareStatement(sql); 27 | ps.setString(1, menu.getMenu_name()); 28 | ps.setString(2, menu.getMenu_content()); 29 | ps.setDouble(3, menu.getMenu_price()); 30 | ps.setString(4, menu.getMenu_image()); 31 | ps.executeUpdate(); 32 | ps.close(); 33 | conn.close(); 34 | } catch (SQLException e) { 35 | e.printStackTrace(); 36 | } 37 | } 38 | 39 | /** 40 | * 更新菜品 41 | */ 42 | @Override 43 | public int update(Menu menu) { 44 | String sql = "UPDATE tb_menu SET menu_name=?, menu_content=?, menu_price=?, menu_image=? WHERE menu_id=?"; 45 | int i = 0; 46 | try { 47 | Connection conn = DbcpConnectionPool.getConnection(); 48 | PreparedStatement ps = conn.prepareStatement(sql); 49 | ps.setString(1, menu.getMenu_name()); 50 | ps.setString(2, menu.getMenu_content()); 51 | ps.setDouble(3, menu.getMenu_price()); 52 | ps.setString(4, menu.getMenu_image()); 53 | ps.setInt(5, menu.getMenu_id()); 54 | i = ps.executeUpdate(); 55 | ps.close(); 56 | conn.close(); 57 | } catch (SQLException e) { 58 | e.printStackTrace(); 59 | } 60 | return i; 61 | } 62 | 63 | /** 64 | * 删除菜品 65 | */ 66 | @Override 67 | public int delete(Menu menu) { 68 | String sql = "DELETE FROM tb_menu WHERE menu_id=?"; 69 | int i = 0; 70 | try { 71 | Connection conn = DbcpConnectionPool.getConnection(); 72 | PreparedStatement ps = conn.prepareStatement(sql); 73 | ps.setInt(1, menu.getMenu_id()); 74 | i = ps.executeUpdate(); 75 | ps.close(); 76 | conn.close(); 77 | } catch (SQLException e) { 78 | e.printStackTrace(); 79 | } 80 | return i; 81 | } 82 | 83 | /** 84 | * 模糊查询菜品信息 85 | */ 86 | @Override 87 | public List searchByLikeProperty(String property, String val) { 88 | String sql = "SELECT * FROM tb_menu WHERE " + property + " like '%" + val + "%'"; 89 | List list = new ArrayList(); 90 | try { 91 | Menu menu = new Menu(); 92 | Connection conn = DbcpConnectionPool.getConnection(); 93 | PreparedStatement ps = conn.prepareStatement(sql); 94 | ResultSet rs = ps.executeQuery(); 95 | while (rs.next()){ 96 | menu.setMenu_id(rs.getInt("menu_id")); 97 | menu.setMenu_name(rs.getString("menu_name")); 98 | menu.setMenu_content(rs.getString("menu_content")); 99 | menu.setMenu_price(rs.getDouble("menu_price")); 100 | menu.setMenu_image(rs.getString("menu_image")); 101 | list.add(menu); 102 | } 103 | rs.close(); 104 | ps.close(); 105 | conn.close(); 106 | } catch (SQLException e) { 107 | e.printStackTrace(); 108 | } 109 | return list; 110 | } 111 | 112 | /** 113 | * 根据ID查询菜品 114 | */ 115 | @Override 116 | public Menu searchById(int id) { 117 | String sql = "SELECT * FROM tb_menu WHERE menu_id=?"; 118 | try { 119 | Connection conn = DbcpConnectionPool.getConnection(); 120 | PreparedStatement ps = conn.prepareStatement(sql); 121 | ps.setInt(1, id); 122 | ResultSet rs = ps.executeQuery(); 123 | if (rs.next()){ 124 | Menu menu = new Menu(); 125 | menu.setMenu_id(rs.getInt("menu_id")); 126 | menu.setMenu_name(rs.getString("menu_name")); 127 | menu.setMenu_content(rs.getString("menu_content")); 128 | menu.setMenu_price(rs.getDouble("menu_price")); 129 | menu.setMenu_image(rs.getString("menu_image")); 130 | return menu; 131 | } 132 | } catch (SQLException e) { 133 | e.printStackTrace(); 134 | } 135 | return null; 136 | } 137 | 138 | /** 139 | * 查询所有记录 140 | */ 141 | @Override 142 | public List showAllList() { 143 | String sql = "SELECT * FROM tb_menu"; 144 | List list = new ArrayList(); 145 | try { 146 | Connection conn = DbcpConnectionPool.getConnection(); 147 | PreparedStatement ps = conn.prepareStatement(sql); 148 | ResultSet rs = ps.executeQuery(); 149 | while (rs.next()){ 150 | Menu menu = new Menu(); 151 | menu.setMenu_id(rs.getInt("menu_id")); 152 | menu.setMenu_name(rs.getString("menu_name")); 153 | menu.setMenu_content(rs.getString("menu_content")); 154 | menu.setMenu_price(rs.getDouble("menu_price")); 155 | menu.setMenu_image(rs.getString("menu_image")); 156 | list.add(menu); 157 | } 158 | rs.close(); 159 | ps.close(); 160 | conn.close(); 161 | } catch (SQLException e) { 162 | e.printStackTrace(); 163 | } 164 | return list; 165 | } 166 | 167 | /** 168 | * 查询推荐的记录 169 | */ 170 | @Override 171 | public List showTopList() { 172 | String sql = "SELECT * FROM tb_menu_top"; 173 | List list = new ArrayList(); 174 | try { 175 | Connection conn = DbcpConnectionPool.getConnection(); 176 | PreparedStatement ps = conn.prepareStatement(sql); 177 | ResultSet rs = ps.executeQuery(); 178 | while (rs.next()){ 179 | Menu menu = new Menu(); 180 | menu = searchById(rs.getInt("menu_id")); 181 | list.add(menu); 182 | } 183 | rs.close(); 184 | ps.close(); 185 | conn.close(); 186 | } catch (SQLException e) { 187 | e.printStackTrace(); 188 | } 189 | return list; 190 | } 191 | 192 | } 193 | -------------------------------------------------------------------------------- /src/dao/impl/MenuTopDAOImpl.java: -------------------------------------------------------------------------------- 1 | package dao.impl; 2 | 3 | import java.sql.Connection; 4 | import java.sql.PreparedStatement; 5 | import java.sql.ResultSet; 6 | import java.sql.SQLException; 7 | 8 | import dao.MenuTopDAO; 9 | import util.DbcpConnectionPool; 10 | import vo.Menu; 11 | 12 | public class MenuTopDAOImpl implements MenuTopDAO { 13 | 14 | /** 15 | * 添加推荐菜单 16 | */ 17 | @Override 18 | public void add(Menu menu) { 19 | String sql = "INSERT INTO tb_menu_top (menu_id) VALUES(?)"; 20 | String sql2 = "SELECT * FROM tb_menu_top WHERE menu_id=?"; 21 | try { 22 | Connection conn = DbcpConnectionPool.getConnection(); 23 | PreparedStatement ps2 = conn.prepareStatement(sql2); 24 | ps2.setInt(1, menu.getMenu_id()); 25 | ResultSet rs = ps2.executeQuery(); 26 | if (rs.next()){ 27 | return; 28 | } else { 29 | PreparedStatement ps = conn.prepareStatement(sql); 30 | ps.setInt(1, menu.getMenu_id()); 31 | ps.executeUpdate(); 32 | ps.close(); 33 | conn.close(); 34 | } 35 | } catch (SQLException e) { 36 | e.printStackTrace(); 37 | } 38 | } 39 | 40 | /** 41 | * 根据菜单ID从推荐菜单移除 42 | */ 43 | @Override 44 | public void remove(int id) { 45 | String sql = "DELETE FROM tb_menu_top WHERE menu_id=?"; 46 | try { 47 | Connection conn = DbcpConnectionPool.getConnection(); 48 | PreparedStatement ps = conn.prepareStatement(sql); 49 | ps.setInt(1, id); 50 | ps.executeUpdate(); 51 | ps.close(); 52 | conn.close(); 53 | } catch (SQLException e) { 54 | e.printStackTrace(); 55 | } 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /src/dao/impl/MessageDAOImpl.java: -------------------------------------------------------------------------------- 1 | package dao.impl; 2 | 3 | import java.sql.Connection; 4 | import java.sql.PreparedStatement; 5 | import java.sql.ResultSet; 6 | import java.sql.SQLException; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import dao.MessageDAO; 11 | import factory.DAOFactory; 12 | import util.DbcpConnectionPool; 13 | import vo.Message; 14 | /** 15 | * 留言信息操作实现类 16 | */ 17 | public class MessageDAOImpl implements MessageDAO { 18 | 19 | /** 20 | * 保存留言 21 | */ 22 | @Override 23 | public void save(Message message) { 24 | String sql = "INSERT INTO tb_message(user_id, menu_id, content, mg_date) VALUES(?,?,?,?)"; 25 | try { 26 | Connection conn = DbcpConnectionPool.getConnection(); 27 | PreparedStatement ps = conn.prepareStatement(sql); 28 | ps.setInt(1, message.getUser().getUser_id()); 29 | ps.setInt(2, message.getMenu().getMenu_id()); 30 | ps.setString(3, message.getContent()); 31 | ps.setString(4, message.getMg_date()); 32 | ps.executeUpdate(); 33 | ps.close(); 34 | conn.close(); 35 | } catch (SQLException e) { 36 | e.printStackTrace(); 37 | } 38 | } 39 | 40 | /** 41 | * 删除留言 42 | */ 43 | @Override 44 | public int delete(Message message) { 45 | String sql = "DELETE FROM tb_message WHERE id=?"; 46 | int i = 0; 47 | try { 48 | Connection conn = DbcpConnectionPool.getConnection(); 49 | PreparedStatement ps = conn.prepareStatement(sql); 50 | ps.setInt(1, message.getId()); 51 | i = ps.executeUpdate(); 52 | ps.close(); 53 | conn.close(); 54 | } catch (SQLException e) { 55 | e.printStackTrace(); 56 | } 57 | return i; 58 | } 59 | 60 | /** 61 | * 列出所有留言 62 | */ 63 | @Override 64 | public List searchAllList() { 65 | List list = new ArrayList(); 66 | String sql = "SELECT * FROM tb_message"; 67 | Message message = new Message(); 68 | try { 69 | Connection conn = DbcpConnectionPool.getConnection(); 70 | PreparedStatement ps = conn.prepareStatement(sql); 71 | ResultSet rs = ps.executeQuery(); 72 | while (rs.next()){ 73 | message.setId(rs.getInt("id")); 74 | message.setUser(DAOFactory.getPersonDAOInstance().searchById(rs.getInt("user_id"))); 75 | message.setMenu(DAOFactory.getMenuDAOInstance().searchById(rs.getInt("menu_id"))); 76 | message.setContent(rs.getString("content")); 77 | message.setMg_date(rs.getString("mg_date")); 78 | list.add(message); 79 | } 80 | } catch (SQLException e) { 81 | e.printStackTrace(); 82 | } 83 | return list; 84 | } 85 | 86 | } 87 | -------------------------------------------------------------------------------- /src/dao/impl/OrdersDAOImpl.java: -------------------------------------------------------------------------------- 1 | package dao.impl; 2 | 3 | import java.sql.Connection; 4 | import java.sql.PreparedStatement; 5 | import java.sql.ResultSet; 6 | import java.sql.SQLException; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import dao.OrdersDAO; 11 | import factory.DAOFactory; 12 | import util.DbcpConnectionPool; 13 | import vo.Orders; 14 | import vo.Person; 15 | /** 16 | * 订单类操作实现类 17 | */ 18 | public class OrdersDAOImpl implements OrdersDAO { 19 | /** 20 | * 保存订单 21 | */ 22 | @Override 23 | public void save(Orders orders) { 24 | String sql = "INSERT INTO tb_orders(user_id, menu_id, order_num, order_notice, other_notice, states) VALUES(?,?,?,?,?,?)"; 25 | try { 26 | Connection conn = DbcpConnectionPool.getConnection(); 27 | PreparedStatement ps = conn.prepareStatement(sql); 28 | ps.setInt(1, orders.getUser().getUser_id()); 29 | ps.setInt(2, orders.getMenu().getMenu_id()); 30 | ps.setInt(3, orders.getOrder_num()); 31 | ps.setString(4, orders.getOrder_notice()); 32 | ps.setString(5, orders.getOther_notice()); 33 | ps.setString(6, orders.getStates()); 34 | ps.executeUpdate(); 35 | ps.close(); 36 | conn.close(); 37 | } catch (SQLException e) { 38 | e.printStackTrace(); 39 | } 40 | } 41 | /** 42 | * 删除订单 43 | */ 44 | @Override 45 | public int delete(Orders orders) { 46 | String sql = "DELETE FROM tb_orders WHERE order_id=?"; 47 | int i = 0; 48 | try { 49 | Connection conn = DbcpConnectionPool.getConnection(); 50 | PreparedStatement ps = conn.prepareStatement(sql); 51 | ps.setInt(1, orders.getOrder_id()); 52 | i = ps.executeUpdate(); 53 | ps.close(); 54 | conn.close(); 55 | } catch (SQLException e) { 56 | e.printStackTrace(); 57 | } 58 | return i; 59 | } 60 | /** 61 | * 更新订单 62 | */ 63 | @Override 64 | public int update(Orders orders) { 65 | String sql = "UPDATE tb_orders SET user_id=?, menu_id=?, order_num=?, order_notice=?, other_notice=?, states=? WHERE order_id=?"; 66 | int i = 0; 67 | try { 68 | Connection conn = DbcpConnectionPool.getConnection(); 69 | PreparedStatement ps = conn.prepareStatement(sql); 70 | ps.setInt(1, orders.getUser().getUser_id()); 71 | ps.setInt(2, orders.getMenu().getMenu_id()); 72 | ps.setInt(3, orders.getOrder_num()); 73 | ps.setString(4, orders.getOrder_notice()); 74 | ps.setString(5, orders.getOther_notice()); 75 | ps.setString(6, orders.getStates()); 76 | ps.setInt(7, orders.getOrder_id()); 77 | i = ps.executeUpdate(); 78 | ps.close(); 79 | conn.close(); 80 | } catch (SQLException e) { 81 | e.printStackTrace(); 82 | } 83 | return i; 84 | } 85 | /** 86 | * 模糊查询订单 87 | */ 88 | @Override 89 | public List searchByLikeProperty(String property, String val) { 90 | String sql = "SELECT * FROM tb_orders WHERE " + property + " like '%" + val + "%'"; 91 | List list = new ArrayList(); 92 | try { 93 | Connection conn = DbcpConnectionPool.getConnection(); 94 | PreparedStatement ps = conn.prepareStatement(sql); 95 | ResultSet rs = ps.executeQuery(); 96 | while (rs.next()){ 97 | Orders orders = new Orders(); 98 | orders.setOrder_id(rs.getInt("order_id")); 99 | orders.setUser(DAOFactory.getPersonDAOInstance().searchById(rs.getInt("user_id"))); 100 | orders.setMenu(DAOFactory.getMenuDAOInstance().searchById(rs.getInt("menu_id"))); 101 | orders.setOrder_num(rs.getInt("order_num")); 102 | orders.setOrder_notice(rs.getString("order_notice")); 103 | orders.setOther_notice(rs.getString("other_notice")); 104 | orders.setStates(rs.getString("states")); 105 | list.add(orders); 106 | System.out.println("List: " + orders.toString()); 107 | } 108 | rs.close(); 109 | ps.close(); 110 | conn.close(); 111 | } catch (SQLException e) { 112 | e.printStackTrace(); 113 | } 114 | for (Orders orders : list) { 115 | System.out.println("DAO: " + orders.toString()); 116 | } 117 | return list; 118 | } 119 | /** 120 | * 查询购物车 121 | */ 122 | @Override 123 | public List searchBuy(Person user) { 124 | String sql = "SELECT * FROM tb_orders WHERE user_id=? and states=?"; 125 | List list = new ArrayList(); 126 | try { 127 | Connection conn = DbcpConnectionPool.getConnection(); 128 | PreparedStatement ps = conn.prepareStatement(sql); 129 | ps.setInt(1, user.getUser_id()); 130 | ps.setString(2, "未付款"); 131 | ResultSet rs = ps.executeQuery(); 132 | while (rs.next()){ 133 | Orders orders = new Orders(); 134 | orders.setOrder_id(rs.getInt("order_id")); 135 | orders.setUser(DAOFactory.getPersonDAOInstance().searchById(rs.getInt("user_id"))); 136 | orders.setMenu(DAOFactory.getMenuDAOInstance().searchById(rs.getInt("menu_id"))); 137 | orders.setOrder_num(rs.getInt("order_num")); 138 | orders.setOrder_notice(rs.getString("order_notice")); 139 | orders.setOther_notice(rs.getString("other_notice")); 140 | orders.setStates(rs.getString("states")); 141 | list.add(orders); 142 | } 143 | rs.close(); 144 | ps.close(); 145 | conn.close(); 146 | } catch (SQLException e) { 147 | e.printStackTrace(); 148 | } 149 | return list; 150 | } 151 | /** 152 | * 订单支付 153 | */ 154 | @Override 155 | public int pay(Person user) { 156 | 157 | return 0; 158 | } 159 | /** 160 | * 查询已支付订单 161 | */ 162 | @Override 163 | public List searchPaidList(Person user) { 164 | String sql = "SELECT * FROM tb_orders WHERE user_id=? and states=?"; 165 | List list = new ArrayList(); 166 | try { 167 | Connection conn = DbcpConnectionPool.getConnection(); 168 | PreparedStatement ps = conn.prepareStatement(sql); 169 | ps.setInt(1, user.getUser_id()); 170 | ps.setString(2, "已付款"); 171 | ResultSet rs = ps.executeQuery(); 172 | while (rs.next()){ 173 | Orders orders = new Orders(); 174 | orders.setOrder_id(rs.getInt("order_id")); 175 | orders.setUser(DAOFactory.getPersonDAOInstance().searchById(rs.getInt("user_id"))); 176 | System.out.println("userId: " + orders.getUser().getUser_id()); 177 | System.out.println("menuId: " + rs.getInt("menu_id")); 178 | orders.setMenu(DAOFactory.getMenuDAOInstance().searchById(rs.getInt("menu_id"))); 179 | orders.setOrder_num(rs.getInt("order_num")); 180 | orders.setOrder_notice(rs.getString("order_notice")); 181 | orders.setOther_notice(rs.getString("other_notice")); 182 | orders.setStates(rs.getString("states")); 183 | list.add(orders); 184 | System.out.println("menuId: " + orders.getMenu().getMenu_id()); 185 | System.out.println("menuName: " + orders.getMenu().getMenu_name()); 186 | 187 | } 188 | rs.close(); 189 | ps.close(); 190 | conn.close(); 191 | } catch (SQLException e) { 192 | e.printStackTrace(); 193 | } 194 | return list; 195 | } 196 | 197 | } 198 | -------------------------------------------------------------------------------- /src/dao/impl/PersonDAOImpl.java: -------------------------------------------------------------------------------- 1 | package dao.impl; 2 | 3 | import java.sql.Connection; 4 | import java.sql.PreparedStatement; 5 | import java.sql.ResultSet; 6 | import java.sql.SQLException; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import dao.PersonDAO; 11 | import util.DbcpConnectionPool; 12 | import vo.Person; 13 | /** 14 | * 用户操作实现类 15 | */ 16 | public class PersonDAOImpl implements PersonDAO { 17 | 18 | /** 19 | * 保存用户 20 | */ 21 | @Override 22 | public void save(Person user) { 23 | String sql = "INSERT INTO tb_user(user_name, user_password, user_realname, user_sex, user_flag, user_mail) VALUES(?,?,?,?,?,?)"; 24 | try { 25 | Connection conn = DbcpConnectionPool.getConnection(); 26 | PreparedStatement ps = conn.prepareStatement(sql); 27 | ps.setString(1, user.getUser_name()); 28 | ps.setString(2, user.getUser_password()); 29 | ps.setString(3, user.getUser_realname()); 30 | ps.setString(4, user.getUser_sex()); 31 | ps.setString(5, user.getUser_flag()); 32 | ps.setString(6, user.getUser_mail()); 33 | System.out.println("impl: " + user.getUser_mail()); 34 | ps.executeUpdate(); 35 | ps.close(); 36 | conn.close(); 37 | } catch (SQLException e) { 38 | e.printStackTrace(); 39 | } 40 | } 41 | 42 | /** 43 | * 更新用户 44 | */ 45 | @Override 46 | public int update(Person user) { 47 | String sql = "UPDATE tb_user SET user_name=?, user_password=?, user_realname=?, user_sex=?, user_flag=?, user_mail=? WHERE user_id=?"; 48 | int i = 0; 49 | try { 50 | Connection conn = DbcpConnectionPool.getConnection(); 51 | PreparedStatement ps = conn.prepareStatement(sql); 52 | ps.setString(1, user.getUser_name()); 53 | ps.setString(2, user.getUser_password()); 54 | ps.setString(3, user.getUser_realname()); 55 | ps.setString(4, user.getUser_sex()); 56 | ps.setString(5, user.getUser_flag()); 57 | ps.setString(6, user.getUser_mail()); 58 | ps.setInt(7, user.getUser_id()); 59 | i = ps.executeUpdate(); 60 | ps.close(); 61 | conn.close(); 62 | } catch (SQLException e) { 63 | e.printStackTrace(); 64 | } 65 | return i; 66 | } 67 | /** 68 | * 根据ID查询用户 69 | */ 70 | @Override 71 | public Person searchById(int id) { 72 | Person user = new Person(); 73 | String sql = "SELECT * FROM tb_user WHERE user_id=?"; 74 | try { 75 | Connection conn = DbcpConnectionPool.getConnection(); 76 | PreparedStatement ps = conn.prepareStatement(sql); 77 | ps.setInt(1, id); 78 | ResultSet rs = ps.executeQuery(); 79 | if (rs.next()){ 80 | user.setUser_id(rs.getInt("user_id")); 81 | user.setUser_name(rs.getString("user_name")); 82 | user.setUser_password(rs.getString("user_password")); 83 | user.setUser_realname(rs.getString("user_realname")); 84 | user.setUser_sex(rs.getString("user_sex")); 85 | user.setUser_flag(rs.getString("user_flag")); 86 | user.setUser_mail(rs.getString("user_mail")); 87 | } 88 | } catch (SQLException e) { 89 | e.printStackTrace(); 90 | } 91 | return user; 92 | } 93 | 94 | /** 95 | * 根据用户名查询用户是否存在 96 | */ 97 | @Override 98 | public boolean searchByUsername(Person user) { 99 | String sql = "SELECT * FROM tb_user WHERE user_name=?"; 100 | try { 101 | Connection conn = DbcpConnectionPool.getConnection(); 102 | PreparedStatement ps = conn.prepareStatement(sql); 103 | ps.setString(1, user.getUser_name()); 104 | ResultSet rs = ps.executeQuery(); 105 | if (rs.next()){ 106 | return true; 107 | } 108 | } catch (SQLException e) { 109 | e.printStackTrace(); 110 | } 111 | return false; 112 | } 113 | 114 | /** 115 | * 验证密码是否正确,用户不存在则返回 false 116 | */ 117 | @Override 118 | public Person validatePassword(Person user) { 119 | String sql = "SELECT * FROM tb_user WHERE user_name=?"; 120 | Connection conn; 121 | try { 122 | conn = DbcpConnectionPool.getConnection(); 123 | PreparedStatement ps = conn.prepareStatement(sql); 124 | ps.setString(1, user.getUser_name()); 125 | ResultSet rs = ps.executeQuery(); 126 | if (rs.next()){ 127 | String password = rs.getString("user_password"); 128 | if (password.equals(user.getUser_password())){ 129 | user.setUser_id(rs.getInt("user_id")); 130 | user.setUser_realname(rs.getString("user_realname")); 131 | user.setUser_sex(rs.getString("user_sex")); 132 | user.setUser_flag(rs.getString("user_flag")); 133 | user.setUser_mail(rs.getString("user_mail")); 134 | return user; 135 | } else { 136 | return null; 137 | } 138 | } 139 | } catch (SQLException e) { 140 | e.printStackTrace(); 141 | } 142 | return null; 143 | } 144 | 145 | /** 146 | * 获得所有管理员信息 147 | */ 148 | @Override 149 | public List getAllAdmin() { 150 | List list = new ArrayList(); 151 | String sql = "SELECT * FROM tb_user WHERE user_flag=?"; 152 | try { 153 | Connection conn = DbcpConnectionPool.getConnection(); 154 | PreparedStatement ps = conn.prepareStatement(sql); 155 | ps.setString(1, "管理员"); 156 | ResultSet rs = ps.executeQuery(); 157 | while (rs.next()){ 158 | Person person = new Person(); 159 | person.setUser_id(rs.getInt("user_id")); 160 | person.setUser_name(rs.getString("user_name")); 161 | person.setUser_password(rs.getString("user_password")); 162 | person.setUser_realname(rs.getString("user_realname")); 163 | person.setUser_sex(rs.getString("user_sex")); 164 | person.setUser_flag(rs.getString("user_flag")); 165 | person.setUser_mail(rs.getString("user_mail")); 166 | list.add(person); 167 | } 168 | } catch (SQLException e) { 169 | e.printStackTrace(); 170 | } 171 | return list; 172 | } 173 | 174 | /** 175 | * 根据用户名查询用户 176 | */ 177 | @Override 178 | public Person searchByUsername(String username) { 179 | Person person = new Person(); 180 | String sql = "SELECT * FROM tb_user WHERE user_name=?"; 181 | Connection conn; 182 | try { 183 | conn = DbcpConnectionPool.getConnection(); 184 | PreparedStatement ps = conn.prepareStatement(sql); 185 | ps.setString(1, username); 186 | ResultSet rs = ps.executeQuery(); 187 | if (rs.next()){ 188 | person.setUser_id(rs.getInt("user_id")); 189 | person.setUser_name(rs.getString("user_name")); 190 | person.setUser_password(rs.getString("user_password")); 191 | person.setUser_realname(rs.getString("user_realname")); 192 | person.setUser_sex(rs.getString("user_sex")); 193 | person.setUser_flag(rs.getString("user_flag")); 194 | person.setUser_mail(rs.getString("user_mail")); 195 | return person; 196 | } 197 | } catch (SQLException e) { 198 | e.printStackTrace(); 199 | } 200 | return null; 201 | } 202 | 203 | } 204 | -------------------------------------------------------------------------------- /src/dao/impl/UserInfoDAOImpl.java: -------------------------------------------------------------------------------- 1 | package dao.impl; 2 | 3 | import java.sql.Connection; 4 | import java.sql.PreparedStatement; 5 | import java.sql.ResultSet; 6 | import java.sql.SQLException; 7 | 8 | import dao.UserInfoDAO; 9 | import factory.DAOFactory; 10 | import util.DbcpConnectionPool; 11 | import vo.Person; 12 | import vo.UserInfo; 13 | 14 | public class UserInfoDAOImpl implements UserInfoDAO { 15 | 16 | @Override 17 | public void save(UserInfo userInfo) { 18 | String sql = "INSERT INTO user_info(user_id, address, tel, mobile, notice, send_date) VALUES(?,?,?,?,?,?)"; 19 | try { 20 | Connection conn = DbcpConnectionPool.getConnection(); 21 | PreparedStatement ps = conn.prepareStatement(sql); 22 | ps.setInt(1, userInfo.getUser().getUser_id()); 23 | ps.setString(2, userInfo.getAddress()); 24 | ps.setString(3, userInfo.getTel()); 25 | ps.setString(4, userInfo.getMobile()); 26 | ps.setString(5, userInfo.getNotice()); 27 | ps.setString(6, userInfo.getSend_date()); 28 | ps.executeUpdate(); 29 | ps.close(); 30 | conn.close(); 31 | } catch (SQLException e) { 32 | e.printStackTrace(); 33 | } 34 | } 35 | 36 | @Override 37 | public int delete(UserInfo userInfo) { 38 | String sql = "DELETE FROM user_info WHERE id=?"; 39 | int i = 0; 40 | try { 41 | Connection conn = DbcpConnectionPool.getConnection(); 42 | PreparedStatement ps = conn.prepareStatement(sql); 43 | ps.setInt(1, userInfo.getId()); 44 | i = ps.executeUpdate(); 45 | ps.close(); 46 | conn.close(); 47 | } catch (SQLException e) { 48 | e.printStackTrace(); 49 | } 50 | return i; 51 | } 52 | 53 | @Override 54 | public int update(UserInfo userInfo) { 55 | String sql = "UPDATE user_info SET address=?, tel=?, mobile=? WHERE id=?"; 56 | int i = 0; 57 | try { 58 | Connection conn = DbcpConnectionPool.getConnection(); 59 | PreparedStatement ps = conn.prepareStatement(sql); 60 | ps.setString(1, userInfo.getAddress()); 61 | ps.setString(2, userInfo.getTel()); 62 | ps.setString(3, userInfo.getMobile()); 63 | ps.setInt(4, userInfo.getId()); 64 | i = ps.executeUpdate(); 65 | ps.close(); 66 | conn.close(); 67 | } catch (SQLException e) { 68 | e.printStackTrace(); 69 | } 70 | return i; 71 | } 72 | 73 | @Override 74 | public UserInfo searchById(int id) { 75 | UserInfo userInfo = new UserInfo(); 76 | String sql = "SELECT * FROM user_info WHERE id=?"; 77 | try { 78 | Connection conn = DbcpConnectionPool.getConnection(); 79 | PreparedStatement ps = conn.prepareStatement(sql); 80 | ps.setInt(1, id); 81 | ResultSet rs = ps.executeQuery(); 82 | if (rs.next()){ 83 | userInfo.setId(rs.getInt("id")); 84 | userInfo.setUser(DAOFactory.getPersonDAOInstance().searchById(rs.getInt("user_id"))); 85 | userInfo.setAddress(rs.getString("address")); 86 | userInfo.setTel(rs.getString("tel")); 87 | userInfo.setMobile(rs.getString("mobile")); 88 | userInfo.setNotice(rs.getString("notice")); 89 | userInfo.setSend_date(rs.getString("send_date")); 90 | } 91 | } catch (SQLException e) { 92 | e.printStackTrace(); 93 | } 94 | return userInfo; 95 | } 96 | 97 | /** 98 | * 根据用户查询配送信息 99 | */ 100 | @Override 101 | public UserInfo searchByUser(Person user) { 102 | String sql = "SELECT * FROM user_info WHERE user_id=?"; 103 | UserInfo userInfo = new UserInfo(); 104 | try { 105 | Connection conn = DbcpConnectionPool.getConnection(); 106 | PreparedStatement ps = conn.prepareStatement(sql); 107 | ps.setInt(1, user.getUser_id()); 108 | ResultSet rs = ps.executeQuery(); 109 | if (rs.next()){ 110 | userInfo.setId(rs.getInt("id")); 111 | userInfo.setUser(user); 112 | userInfo.setAddress(rs.getString("address")); 113 | userInfo.setTel(rs.getString("tel")); 114 | userInfo.setMobile(rs.getString("mobile")); 115 | userInfo.setNotice(rs.getString("notice")); 116 | userInfo.setSend_date(rs.getString("send_date")); 117 | } 118 | } catch (SQLException e) { 119 | e.printStackTrace(); 120 | } 121 | return userInfo; 122 | } 123 | 124 | } 125 | -------------------------------------------------------------------------------- /src/factory/DAOFactory.java: -------------------------------------------------------------------------------- 1 | package factory; 2 | 3 | import dao.IntroduceDAO; 4 | import dao.MenuDAO; 5 | import dao.MenuTopDAO; 6 | import dao.MessageDAO; 7 | import dao.OrdersDAO; 8 | import dao.PersonDAO; 9 | import dao.UserInfoDAO; 10 | import dao.impl.IntroduceDAOImpl; 11 | import dao.impl.MenuDAOImpl; 12 | import dao.impl.MenuTopDAOImpl; 13 | import dao.impl.MessageDAOImpl; 14 | import dao.impl.OrdersDAOImpl; 15 | import dao.impl.PersonDAOImpl; 16 | import dao.impl.UserInfoDAOImpl; 17 | /** 18 | * DAO工厂类 19 | */ 20 | public class DAOFactory { 21 | /** 22 | * 用户操作 23 | * @return PersonDAO 24 | */ 25 | public static PersonDAO getPersonDAOInstance(){ 26 | return new PersonDAOImpl(); 27 | } 28 | /** 29 | * 菜品操作 30 | * @return 31 | */ 32 | public static MenuDAO getMenuDAOInstance(){ 33 | return new MenuDAOImpl(); 34 | } 35 | /** 36 | * 留言信息操作 37 | * @return 38 | */ 39 | public static MessageDAO getMessageDAOInstance(){ 40 | return new MessageDAOImpl(); 41 | } 42 | /** 43 | * 订单操作 44 | * @return 45 | */ 46 | public static OrdersDAO getOrdersDAOInstance(){ 47 | return new OrdersDAOImpl(); 48 | } 49 | /** 50 | * 用户配送信息操作 51 | * @return 52 | */ 53 | public static UserInfoDAO getUserInfoDAOInstance(){ 54 | return new UserInfoDAOImpl(); 55 | } 56 | /** 57 | * 商家介绍操作 58 | * @return 59 | */ 60 | public static IntroduceDAO getIntroduceDAOInstance(){ 61 | return new IntroduceDAOImpl(); 62 | } 63 | /** 64 | * 推荐菜单操作 65 | * @return 66 | */ 67 | public static MenuTopDAO getMenuTopDAOInstance(){ 68 | return new MenuTopDAOImpl(); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/filter/CharacterEncodingFilter.java: -------------------------------------------------------------------------------- 1 | package filter; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.Filter; 5 | import javax.servlet.FilterChain; 6 | import javax.servlet.FilterConfig; 7 | import javax.servlet.ServletException; 8 | import javax.servlet.ServletRequest; 9 | import javax.servlet.ServletResponse; 10 | 11 | /** 12 | * Servlet Filter implementation class CharacterEncodingFilter 13 | */ 14 | public class CharacterEncodingFilter implements Filter { 15 | 16 | protected String encoding = ""; 17 | /** 18 | * 构造方法 19 | */ 20 | public CharacterEncodingFilter() { 21 | } 22 | 23 | /** 24 | * 结束 25 | */ 26 | public void destroy() { 27 | encoding = null; 28 | } 29 | 30 | /** 31 | * 在过滤器中设置请求的字符编码为 encoding 32 | */ 33 | public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 34 | if (encoding != null){ 35 | request.setCharacterEncoding(encoding); 36 | response.setCharacterEncoding(encoding); 37 | } 38 | chain.doFilter(request, response); 39 | } 40 | 41 | /** 42 | * 初始化 43 | */ 44 | public void init(FilterConfig fConfig) throws ServletException { 45 | this.encoding = fConfig.getInitParameter("encoding"); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/servlet/AddAdminServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | import vo.Person; 12 | 13 | /** 14 | * Servlet implementation class AddAdminServlet 15 | */ 16 | @WebServlet(description = "添加管理员", urlPatterns = { "/AddAdminServlet" }) 17 | public class AddAdminServlet extends HttpServlet { 18 | private static final long serialVersionUID = 1L; 19 | 20 | /** 21 | * @see HttpServlet#HttpServlet() 22 | */ 23 | public AddAdminServlet() { 24 | super(); 25 | } 26 | 27 | /** 28 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 29 | */ 30 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 31 | int userId = Integer.parseInt(request.getParameter("user_id")); 32 | Person user = DAOFactory.getPersonDAOInstance().searchById(userId); 33 | user.setUser_flag("管理员"); 34 | DAOFactory.getPersonDAOInstance().update(user); 35 | response.getWriter().println(""); 36 | } 37 | 38 | /** 39 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 40 | */ 41 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 42 | doGet(request, response); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/servlet/AddMenuServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | 5 | import javax.servlet.ServletConfig; 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 com.jspsmart.upload.File; 13 | import com.jspsmart.upload.Files; 14 | import com.jspsmart.upload.SmartUpload; 15 | 16 | import factory.DAOFactory; 17 | import vo.Menu; 18 | 19 | 20 | /** 21 | * Servlet implementation class AddMenuServlet 22 | */ 23 | @WebServlet(description = "添加菜品", urlPatterns = { "/AddMenuServlet" }) 24 | public class AddMenuServlet extends HttpServlet { 25 | private static final long serialVersionUID = 1L; 26 | private ServletConfig servletConfig; 27 | 28 | /** 29 | * @see HttpServlet#HttpServlet() 30 | */ 31 | public AddMenuServlet() { 32 | super(); 33 | 34 | } 35 | 36 | /** 37 | * @see Servlet#init(ServletConfig) 38 | */ 39 | public void init(ServletConfig config) throws ServletException { 40 | this.servletConfig = config; 41 | } 42 | 43 | /** 44 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 45 | */ 46 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 47 | try { 48 | //新建一个SmartUpload对象 49 | SmartUpload su = new SmartUpload(); 50 | //上传初始化 51 | su.initialize(servletConfig, request, response); 52 | //限制每个上传文件的最大长度 53 | su.setMaxFileSize(1000000); 54 | //限制总上传数据的长度 55 | // su.setTotalMaxFileSize(200000); 56 | //设定允许上传的文件(通过扩展名限制),仅允许jpg,png文件 57 | // su.setAllowedFilesList("jpg,png"); 58 | //设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件 59 | su.setDeniedFilesList("exe,bat,jsp,htm,html"); 60 | //上传文件 61 | su.upload(); 62 | //获取上传的文件操作 63 | Files files = su.getFiles(); 64 | //获取单个文件 65 | File singleFile = files.getFile(0); 66 | //获取上传文件的扩展名 67 | String fileType = singleFile.getFileExt(); 68 | //设置上传文件的扩展名 69 | String[] type = {"JPG","jpg"}; 70 | // 判断上传文件的类型是否正确 71 | int place = java.util.Arrays.binarySearch(type, fileType); 72 | //判断文件扩展名是否正确 73 | if (place != -1){ 74 | //判断该文件是否被选择 75 | if (!singleFile.isMissing()){ 76 | // String picSize = String.valueOf(singleFile.getSize()); 77 | 78 | //以系统时间作为上传文件名称,设置上传完整路径 79 | String fileName = String.valueOf(System.currentTimeMillis()); 80 | String filedir = "images/" + fileName + "." + singleFile.getFileExt(); 81 | // String smalldir = "samllImages/" + fileName + "." + singleFile.getFileExt(); 82 | 83 | 84 | // String sql = "INSERT INTO image(image) VALUES(" + fileName + ")"; 85 | 86 | //执行上传操作 87 | singleFile.saveAs(filedir, File.SAVEAS_VIRTUAL); 88 | System.out.println("上传至: " + filedir); 89 | String menuName = su.getRequest().getParameter("menuName"); 90 | String menuPrice = su.getRequest().getParameter("menuPrice"); 91 | String menuNotice = su.getRequest().getParameter("menuNotice"); 92 | Menu menu = new Menu(); 93 | menu.setMenu_name(menuName); 94 | menu.setMenu_content(menuNotice); 95 | Double price = Double.parseDouble(menuPrice); 96 | menu.setMenu_price(price); 97 | menu.setMenu_image(fileName); 98 | DAOFactory.getMenuDAOInstance().save(menu); 99 | System.out.println("menuName: " + menuName); 100 | System.out.println("menuPrice: " + menuPrice); 101 | System.out.println("menuNotice: " + menuNotice); 102 | 103 | } 104 | } 105 | } catch (Exception e) { 106 | e.printStackTrace(); 107 | } 108 | response.sendRedirect("add_food.jsp"); 109 | } 110 | 111 | /** 112 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 113 | */ 114 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 115 | 116 | doGet(request, response); 117 | } 118 | 119 | } 120 | -------------------------------------------------------------------------------- /src/servlet/AddMenuTopServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | import vo.Menu; 12 | 13 | /** 14 | * Servlet implementation class AddMenuTopServlet 15 | */ 16 | @WebServlet(description = "增加推荐菜品", urlPatterns = { "/AddMenuTopServlet" }) 17 | public class AddMenuTopServlet extends HttpServlet { 18 | private static final long serialVersionUID = 1L; 19 | 20 | /** 21 | * @see HttpServlet#HttpServlet() 22 | */ 23 | public AddMenuTopServlet() { 24 | super(); 25 | 26 | } 27 | 28 | /** 29 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 30 | */ 31 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 32 | int id = Integer.parseInt(request.getParameter("id")); 33 | Menu menu = DAOFactory.getMenuDAOInstance().searchById(id); 34 | DAOFactory.getMenuTopDAOInstance().add(menu); 35 | response.sendRedirect("recom_food.jsp"); 36 | } 37 | 38 | /** 39 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 40 | */ 41 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 42 | 43 | doGet(request, response); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/servlet/DeleteBuyServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | import vo.Orders; 12 | 13 | /** 14 | * Servlet implementation class DeleteBuyServlet 15 | */ 16 | @WebServlet(description = "删除购物车内订单", urlPatterns = { "/DeleteBuyServlet" }) 17 | public class DeleteBuyServlet extends HttpServlet { 18 | private static final long serialVersionUID = 1L; 19 | 20 | /** 21 | * @see HttpServlet#HttpServlet() 22 | */ 23 | public DeleteBuyServlet() { 24 | super(); 25 | } 26 | 27 | /** 28 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 29 | */ 30 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 31 | String id = request.getParameter("id"); 32 | Orders order = new Orders(); 33 | order.setOrder_id(Integer.parseInt(id)); 34 | DAOFactory.getOrdersDAOInstance().delete(order); 35 | response.sendRedirect("shopping.jsp"); 36 | } 37 | 38 | /** 39 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 40 | */ 41 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 42 | doGet(request, response); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/servlet/DeleteMenuServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | import vo.Menu; 12 | 13 | /** 14 | * Servlet implementation class DeleteMenuServlet 15 | */ 16 | @WebServlet(description = "删除菜品", urlPatterns = { "/DeleteMenuServlet" }) 17 | public class DeleteMenuServlet extends HttpServlet { 18 | private static final long serialVersionUID = 1L; 19 | 20 | /** 21 | * @see HttpServlet#HttpServlet() 22 | */ 23 | public DeleteMenuServlet() { 24 | super(); 25 | } 26 | 27 | /** 28 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 29 | */ 30 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 31 | String foodId = request.getParameter("food_id"); 32 | int id = Integer.parseInt(foodId); 33 | Menu menu = DAOFactory.getMenuDAOInstance().searchById(id); 34 | DAOFactory.getMenuDAOInstance().delete(menu); 35 | response.sendRedirect("update_food.jsp"); 36 | } 37 | 38 | /** 39 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 40 | */ 41 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 42 | 43 | doGet(request, response); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/servlet/MemberServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import vo.Person; 11 | 12 | /** 13 | * Servlet implementation class MemberServlet 14 | */ 15 | @WebServlet(description = "会员管理", urlPatterns = { "/MemberServlet" }) 16 | public class MemberServlet extends HttpServlet { 17 | private static final long serialVersionUID = 1L; 18 | 19 | /** 20 | * @see HttpServlet#HttpServlet() 21 | */ 22 | public MemberServlet() { 23 | super(); 24 | } 25 | 26 | /** 27 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 28 | */ 29 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 30 | Person user = (Person) request.getSession().getAttribute("user"); 31 | if (user == null){ 32 | response.sendRedirect("register.jsp"); 33 | return; 34 | } 35 | if (user.getUser_id() <= 0){ 36 | response.sendRedirect("register.jsp"); 37 | return; 38 | } 39 | if ("管理员".equals(user.getUser_flag())){ 40 | response.sendRedirect("adm.jsp"); 41 | } else { 42 | response.sendRedirect("user.jsp"); 43 | } 44 | } 45 | 46 | /** 47 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 48 | */ 49 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 50 | doGet(request, response); 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/servlet/OrderAddServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | import vo.Menu; 12 | import vo.Orders; 13 | import vo.Person; 14 | 15 | /** 16 | * Servlet implementation class OrderAddServlet 17 | */ 18 | @WebServlet(description = "添加订单", urlPatterns = { "/OrderAddServlet" }) 19 | public class OrderAddServlet extends HttpServlet { 20 | private static final long serialVersionUID = 1L; 21 | 22 | /** 23 | * @see HttpServlet#HttpServlet() 24 | */ 25 | public OrderAddServlet() { 26 | super(); 27 | } 28 | 29 | /** 30 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 31 | */ 32 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 | Orders order = new Orders(); 34 | Menu menu = DAOFactory.getMenuDAOInstance().searchById(Integer.parseInt(request.getParameter("id"))); 35 | Person user = (Person) request.getSession().getAttribute("user"); 36 | System.out.println(user.getUser_name()); 37 | order.setUser(user); 38 | order.setMenu(menu); 39 | order.setOrder_num(Integer.parseInt(request.getParameter("number"))); 40 | order.setOrder_notice(request.getParameter("notice")); 41 | order.setOther_notice(request.getParameter("otherNotice")); 42 | order.setStates("未付款"); 43 | DAOFactory.getOrdersDAOInstance().save(order); 44 | response.getWriter().println(""); 45 | 46 | // response.getWriter().append("Served at: ").append(request.getContextPath()); 47 | } 48 | 49 | /** 50 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 51 | */ 52 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 53 | doGet(request, response); 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/servlet/OrdersPayServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import java.util.ArrayList; 5 | import java.util.List; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | 13 | import factory.DAOFactory; 14 | import vo.Orders; 15 | import vo.Person; 16 | 17 | /** 18 | * Servlet implementation class OrdersPayServlet 19 | */ 20 | @WebServlet(description = "订单支付", urlPatterns = { "/OrdersPayServlet" }) 21 | public class OrdersPayServlet extends HttpServlet { 22 | private static final long serialVersionUID = 1L; 23 | 24 | /** 25 | * @see HttpServlet#HttpServlet() 26 | */ 27 | public OrdersPayServlet() { 28 | super(); 29 | } 30 | 31 | /** 32 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 33 | */ 34 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 35 | List list = new ArrayList(); 36 | Person user = (Person) request.getSession().getAttribute("user"); 37 | list = DAOFactory.getOrdersDAOInstance().searchBuy(user); 38 | for (Orders orders : list) { 39 | orders.setStates("已付款"); 40 | DAOFactory.getOrdersDAOInstance().update(orders); 41 | } 42 | System.out.println("支付成功!"); 43 | response.getWriter().println(""); 44 | // response.getWriter().append("Served at: ").append(request.getContextPath()); 45 | } 46 | 47 | /** 48 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 49 | */ 50 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 51 | doGet(request, response); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/servlet/RemoveAdminServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | import vo.Person; 12 | 13 | /** 14 | * Servlet implementation class RemoveAdminServlet 15 | */ 16 | @WebServlet(description = "删除管理员", urlPatterns = { "/RemoveAdminServlet" }) 17 | public class RemoveAdminServlet extends HttpServlet { 18 | private static final long serialVersionUID = 1L; 19 | 20 | /** 21 | * @see HttpServlet#HttpServlet() 22 | */ 23 | public RemoveAdminServlet() { 24 | super(); 25 | } 26 | 27 | /** 28 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 29 | */ 30 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 31 | 32 | int id = Integer.parseInt(request.getParameter("user_id")); 33 | Person user = DAOFactory.getPersonDAOInstance().searchById(id); 34 | user.setUser_flag("普通用户"); 35 | DAOFactory.getPersonDAOInstance().update(user); 36 | response.getWriter().println(""); 37 | 38 | } 39 | 40 | /** 41 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 42 | */ 43 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 44 | doGet(request, response); 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /src/servlet/RemoveMenuTopServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | 12 | /** 13 | * Servlet implementation class RemoveMenuTopServlet 14 | */ 15 | @WebServlet(description = "移除推荐菜单", urlPatterns = { "/RemoveMenuTopServlet" }) 16 | public class RemoveMenuTopServlet extends HttpServlet { 17 | private static final long serialVersionUID = 1L; 18 | 19 | /** 20 | * @see HttpServlet#HttpServlet() 21 | */ 22 | public RemoveMenuTopServlet() { 23 | super(); 24 | } 25 | 26 | /** 27 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 28 | */ 29 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 30 | int id = Integer.parseInt(request.getParameter("id")); 31 | DAOFactory.getMenuTopDAOInstance().remove(id); 32 | response.sendRedirect("recom_food.jsp"); 33 | } 34 | 35 | /** 36 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 37 | */ 38 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 39 | 40 | doGet(request, response); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/servlet/UpdateIntroduceServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | 12 | /** 13 | * Servlet implementation class UpdateIntroduceServlet 14 | */ 15 | @WebServlet(description = "商家介绍", urlPatterns = { "/UpdateIntroduceServlet" }) 16 | public class UpdateIntroduceServlet extends HttpServlet { 17 | private static final long serialVersionUID = 1L; 18 | 19 | /** 20 | * @see HttpServlet#HttpServlet() 21 | */ 22 | public UpdateIntroduceServlet() { 23 | super(); 24 | 25 | } 26 | 27 | /** 28 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 29 | */ 30 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 31 | String content = request.getParameter("introduce"); 32 | DAOFactory.getIntroduceDAOInstance().update(content); 33 | response.getWriter().println(""); 34 | } 35 | 36 | /** 37 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 38 | */ 39 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 40 | 41 | doGet(request, response); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/servlet/UpdateMenuServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | import vo.Menu; 12 | 13 | /** 14 | * Servlet implementation class UpdateMenuServlet 15 | */ 16 | @WebServlet(description = "更新菜品", urlPatterns = { "/UpdateMenuServlet" }) 17 | public class UpdateMenuServlet extends HttpServlet { 18 | private static final long serialVersionUID = 1L; 19 | 20 | /** 21 | * @see HttpServlet#HttpServlet() 22 | */ 23 | public UpdateMenuServlet() { 24 | super(); 25 | 26 | } 27 | 28 | /** 29 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 30 | */ 31 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 32 | String menu_id = request.getParameter("foodId"); 33 | String price = request.getParameter("price"); 34 | Menu menu = DAOFactory.getMenuDAOInstance().searchById(Integer.parseInt(menu_id)); 35 | if (menu != null){ 36 | menu.setMenu_price(Double.parseDouble(price)); 37 | DAOFactory.getMenuDAOInstance().update(menu); 38 | response.getWriter().println(""); 39 | } else { 40 | response.getWriter().println(""); 41 | } 42 | } 43 | 44 | /** 45 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 46 | */ 47 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 48 | 49 | doGet(request, response); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/servlet/UpdateUserInfoServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | import vo.Person; 12 | import vo.UserInfo; 13 | 14 | /** 15 | * Servlet implementation class UpdateUserInfoServlet 16 | */ 17 | @WebServlet(description = "更新配送地址", urlPatterns = { "/UpdateUserInfoServlet" }) 18 | public class UpdateUserInfoServlet extends HttpServlet { 19 | private static final long serialVersionUID = 1L; 20 | 21 | /** 22 | * @see HttpServlet#HttpServlet() 23 | */ 24 | public UpdateUserInfoServlet() { 25 | super(); 26 | 27 | } 28 | 29 | /** 30 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 31 | */ 32 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 | String address = request.getParameter("address"); 34 | String tel = request.getParameter("tel"); 35 | String mobile = request.getParameter("mobile"); 36 | Person user = (Person) request.getSession().getAttribute("user"); 37 | 38 | UserInfo userInfo = DAOFactory.getUserInfoDAOInstance().searchByUser(user); 39 | if (userInfo == null || userInfo.getId() <= 0){ 40 | //创建配送信息 41 | userInfo.setUser(user); 42 | userInfo.setAddress(address); 43 | userInfo.setTel(tel); 44 | userInfo.setMobile(mobile); 45 | DAOFactory.getUserInfoDAOInstance().save(userInfo); 46 | } else { 47 | //更新配送信息 48 | System.out.println(userInfo.getId()); 49 | userInfo.setUser(user); 50 | userInfo.setAddress(address); 51 | userInfo.setTel(tel); 52 | userInfo.setMobile(mobile); 53 | DAOFactory.getUserInfoDAOInstance().update(userInfo); 54 | } 55 | response.getWriter().println(""); 56 | // response.getWriter().append("Served at: ").append(request.getContextPath()); 57 | } 58 | 59 | /** 60 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 61 | */ 62 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 63 | doGet(request, response); 64 | } 65 | 66 | } 67 | -------------------------------------------------------------------------------- /src/servlet/UserExitServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | import javax.servlet.http.HttpSession; 10 | 11 | /** 12 | * Servlet implementation class UserExitServlet 13 | */ 14 | @WebServlet(description = "用户退出动作处理", urlPatterns = { "/UserExitServlet" }) 15 | public class UserExitServlet extends HttpServlet { 16 | private static final long serialVersionUID = 1L; 17 | 18 | /** 19 | * @see HttpServlet#HttpServlet() 20 | */ 21 | public UserExitServlet() { 22 | super(); 23 | } 24 | 25 | /** 26 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 27 | */ 28 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 29 | HttpSession session = request.getSession(true); 30 | session.removeAttribute("user"); 31 | System.out.println("退出登录"); 32 | response.sendRedirect("index.jsp"); 33 | } 34 | 35 | /** 36 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 37 | */ 38 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 39 | doGet(request, response); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/servlet/UserLoginServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import javax.servlet.http.HttpSession; 11 | 12 | import factory.DAOFactory; 13 | import vo.Person; 14 | 15 | /** 16 | * Servlet implementation class UserLoginServlet 17 | */ 18 | @WebServlet(description = "用户登录动作处理", urlPatterns = { "/UserLoginServlet" }) 19 | public class UserLoginServlet extends HttpServlet { 20 | private static final long serialVersionUID = 1L; 21 | 22 | /** 23 | * @see HttpServlet#HttpServlet() 24 | */ 25 | public UserLoginServlet() { 26 | super(); 27 | } 28 | 29 | /** 30 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 31 | */ 32 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 | response.setCharacterEncoding("utf-8"); 34 | Person user = new Person(); 35 | user.setUser_name(request.getParameter("username")); 36 | user.setUser_password(request.getParameter("password")); 37 | //判断是否登录成功 38 | Person curUser = DAOFactory.getPersonDAOInstance().validatePassword(user); 39 | if (curUser != null){ 40 | HttpSession session = request.getSession(true); 41 | session.setAttribute("user", curUser); 42 | response.sendRedirect("index.jsp"); 43 | } else { 44 | response.getWriter().println(""); 45 | } 46 | } 47 | 48 | /** 49 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 50 | */ 51 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 52 | doGet(request, response); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/servlet/UserRegisterServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | import javax.servlet.http.HttpSession; 10 | 11 | import factory.DAOFactory; 12 | import vo.Person; 13 | 14 | /** 15 | * Servlet implementation class UserRegisterServlet 16 | */ 17 | @WebServlet(description = "用户注册Servlet", urlPatterns = { "/UserRegisterServlet" }) 18 | public class UserRegisterServlet extends HttpServlet { 19 | private static final long serialVersionUID = 1L; 20 | 21 | /** 22 | * @see HttpServlet#HttpServlet() 23 | */ 24 | public UserRegisterServlet() { 25 | super(); 26 | } 27 | 28 | /** 29 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 30 | */ 31 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 32 | response.setCharacterEncoding("utf-8"); 33 | Person user = new Person(); 34 | user.setUser_name(request.getParameter("username")); 35 | user.setUser_password(request.getParameter("password")); 36 | user.setUser_realname(request.getParameter("realname")); 37 | user.setUser_sex(request.getParameter("sex")); 38 | user.setUser_flag("普通用户"); //默认注册为普通用户 39 | user.setUser_mail(request.getParameter("email")); 40 | //判断用户是否已经注册 41 | if (DAOFactory.getPersonDAOInstance().searchByUsername(user)){ 42 | response.getWriter().println(""); 43 | } else { 44 | DAOFactory.getPersonDAOInstance().save(user); 45 | HttpSession session = request.getSession(); 46 | session.setAttribute("user", user); 47 | response.getWriter().println(""); 48 | System.out.println("注册成功!"); 49 | } 50 | } 51 | 52 | /** 53 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 54 | */ 55 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 56 | doGet(request, response); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/servlet/UserUpdateServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.annotation.WebServlet; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import factory.DAOFactory; 11 | import vo.Person; 12 | 13 | /** 14 | * Servlet implementation class UserUpdateServlet 15 | */ 16 | @WebServlet(description = "用户信息更新", urlPatterns = { "/UserUpdateServlet" }) 17 | public class UserUpdateServlet extends HttpServlet { 18 | private static final long serialVersionUID = 1L; 19 | 20 | /** 21 | * @see HttpServlet#HttpServlet() 22 | */ 23 | public UserUpdateServlet() { 24 | super(); 25 | } 26 | 27 | /** 28 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 29 | */ 30 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 31 | String info = request.getParameter("info"); 32 | 33 | if (info.equals("updateinfo")){ //修改个人信息 34 | String realname = request.getParameter("realname"); 35 | String sex = request.getParameter("sex"); 36 | String email = request.getParameter("email"); 37 | Person person = (Person) request.getSession().getAttribute("user"); 38 | person.setUser_realname(realname); 39 | person.setUser_sex(sex); 40 | person.setUser_mail(email); 41 | DAOFactory.getPersonDAOInstance().update(person); 42 | System.out.println("id: " + person.getUser_id()); 43 | System.out.println("realname: " + person.getUser_realname()); 44 | response.getWriter().println(""); 45 | 46 | } else if (info.equals("updatepsw")){ //修改密码 47 | Person person = (Person) request.getSession().getAttribute("user"); 48 | String oldPsw = DAOFactory.getPersonDAOInstance().searchById(person.getUser_id()).getUser_password(); 49 | String psw = request.getParameter("psw"); 50 | String newPsw = request.getParameter("psw1"); 51 | if (oldPsw.equals(psw)){ //原密码正确 52 | person.setUser_password(newPsw); 53 | DAOFactory.getPersonDAOInstance().update(person); 54 | response.getWriter().println(""); 55 | } else { //原密码错误 56 | response.getWriter().println(""); 57 | } 58 | } else if (info.equals("findpsw")){ //找回密码 59 | String username = request.getParameter("username"); 60 | String email = request.getParameter("email"); 61 | String psw = request.getParameter("password1"); 62 | Person user = new Person(); 63 | user = DAOFactory.getPersonDAOInstance().searchByUsername(username); 64 | if (email.equals(user.getUser_mail())){ //邮箱正确 65 | user.setUser_password(psw); 66 | DAOFactory.getPersonDAOInstance().update(user); 67 | response.getWriter().println(""); 68 | } else { //邮箱错误 69 | response.getWriter().println(""); 70 | } 71 | } 72 | } 73 | 74 | /** 75 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 76 | */ 77 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 78 | doGet(request, response); 79 | } 80 | 81 | } 82 | -------------------------------------------------------------------------------- /src/util/DbcpConnectionPool.java: -------------------------------------------------------------------------------- 1 | package util; 2 | 3 | import java.sql.Connection; 4 | import java.sql.DriverManager; 5 | import java.sql.ResultSet; 6 | import java.sql.SQLException; 7 | import java.sql.Statement; 8 | import java.util.Properties; 9 | 10 | import org.apache.tomcat.dbcp.dbcp.BasicDataSource; 11 | import org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory; 12 | /** 13 | * 数据库操作类 14 | */ 15 | public class DbcpConnectionPool { 16 | private static BasicDataSource dataSource = null; 17 | private static Connection conn = null; 18 | 19 | public DbcpConnectionPool(){ 20 | } 21 | 22 | /** 23 | * 初始化数据库连接池 24 | */ 25 | public static void init(){ 26 | if (dataSource != null){ 27 | try { 28 | dataSource.close(); 29 | } catch (SQLException e) { 30 | e.printStackTrace(); 31 | } 32 | dataSource = null; 33 | } 34 | //使用Properties对象定义数据库连接池信息 35 | try { 36 | Properties p = new Properties(); 37 | p.setProperty("driverClassName", "com.mysql.jdbc.Driver"); 38 | p.setProperty("url", "jdbc:mysql://localhost:3306/wsdc?useUnicode=true&characterEncoding=UTF-8"); 39 | p.setProperty("username", "root"); 40 | p.setProperty("password", "123"); 41 | p.setProperty("maxActive", "30"); //设置处于活动状态的数据库连接的最大数目,0表示不受限制 42 | p.setProperty("maxIdle", "10"); //设置处于空闲状态的数据库连接的最大数目,0表示不受限制 43 | p.setProperty("maxWait", "1000"); //设置没有处于空闲状态的连接时,请求数据库连接所需的最长等待时间(单位ms),如果超出改时间将抛出异常,-1表示无限期等待 44 | p.setProperty("removeAbandoned", "false"); 45 | p.setProperty("removeAbandonedTimeout", "120"); 46 | p.setProperty("testOnBorrow", "true"); 47 | p.setProperty("logAbandoned", "true"); 48 | //以指定信息创建数据源 49 | dataSource = (BasicDataSource)BasicDataSourceFactory.createDataSource(p); 50 | } catch (Exception e) { 51 | e.printStackTrace(); 52 | } 53 | } 54 | /** 55 | * 获取数据库连接 56 | * @return Connection对象 57 | * @throws SQLException 58 | */ 59 | public static Connection getConnection() throws SQLException{ 60 | String url = "jdbc:mysql://localhost:3306/wsdc?useUnicode=true&characterEncoding=utf-8"; 61 | String user = "root"; 62 | String psw = "123"; 63 | 64 | try { 65 | Class.forName("com.mysql.jdbc.Driver"); 66 | conn = DriverManager.getConnection(url,user,psw); 67 | } catch (Exception e) { 68 | e.printStackTrace(); 69 | } 70 | // 71 | // if (dataSource == null){ 72 | // init(); 73 | // } 74 | // if (dataSource != null){ 75 | // conn = dataSource.getConnection(); 76 | // } 77 | return conn; 78 | } 79 | /** 80 | * 执行select语句 81 | * @param sql 要执行的sql语句 82 | * @return 结果集 83 | */ 84 | public static ResultSet runSelect(String sql){ 85 | ResultSet rs = null; 86 | try { 87 | Statement stat = conn.createStatement(); 88 | rs = stat.executeQuery(sql); 89 | } catch (SQLException e) { 90 | e.printStackTrace(); 91 | } 92 | return rs; 93 | } 94 | /** 95 | * 执行增删改sql语句 96 | * @param sql 要执行的sql语句 97 | * @return 改变的记录数 98 | */ 99 | public static int runSql(String sql){ 100 | int i = 0; 101 | try { 102 | Statement stat = conn.createStatement(); 103 | i = stat.executeUpdate(sql); 104 | } catch (SQLException e) { 105 | e.printStackTrace(); 106 | } 107 | return i; 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /src/vo/Introduce.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | import factory.DAOFactory; 4 | 5 | /** 6 | * 商家介绍类 7 | */ 8 | public class Introduce { 9 | 10 | private int id; //ID 11 | private String content; //介绍 12 | 13 | private String showIntroduce; //显示介绍 14 | 15 | public int getId() { 16 | return id; 17 | } 18 | public void setId(int id) { 19 | this.id = id; 20 | } 21 | public String getContent() { 22 | return content; 23 | } 24 | public void setContent(String content) { 25 | this.content = content; 26 | } 27 | public String getShowIntroduce() { 28 | showIntroduce = DAOFactory.getIntroduceDAOInstance().show(); 29 | return showIntroduce; 30 | } 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/vo/Menu.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | import java.util.List; 4 | 5 | import factory.DAOFactory; 6 | 7 | /** 8 | * 菜单类 9 | */ 10 | public class Menu { 11 | private int menu_id; //菜单ID 12 | private String menu_name; //菜单名 13 | private String menu_content; //菜单简介 14 | private double menu_price; //菜单单价 15 | private String menu_image; 16 | 17 | private StringBuffer showMenuList; //列出菜单 18 | private StringBuffer showMenuTop; //列出推荐菜单 19 | private StringBuffer showUpdateList; //更新菜单列表 20 | private StringBuffer showMenuTopUpdate; //列出推荐菜单删除操作 21 | private StringBuffer showMenuUpdate; //列出所有菜单推荐操作 22 | 23 | 24 | public int getMenu_id() { 25 | return menu_id; 26 | } 27 | public void setMenu_id(int menu_id) { 28 | this.menu_id = menu_id; 29 | } 30 | public String getMenu_name() { 31 | return menu_name; 32 | } 33 | public void setMenu_name(String menu_name) { 34 | this.menu_name = menu_name; 35 | } 36 | public String getMenu_content() { 37 | return menu_content; 38 | } 39 | public void setMenu_content(String menu_content) { 40 | this.menu_content = menu_content; 41 | } 42 | public double getMenu_price() { 43 | return menu_price; 44 | } 45 | public void setMenu_price(double menu_price) { 46 | this.menu_price = menu_price; 47 | } 48 | public String getMenu_image() { 49 | return menu_image; 50 | } 51 | public void setMenu_image(String menu_image) { 52 | this.menu_image = menu_image; 53 | } 54 | public StringBuffer getShowMenuList() { 55 | List list = DAOFactory.getMenuDAOInstance().showAllList(); 56 | showMenuList = new StringBuffer(); 57 | for (Menu menu : list) { 58 | showMenuList.append("
  • "); 60 | showMenuList.append("
    "); 61 | showMenuList.append("

    " + menu.getMenu_name() + "

    "); 62 | showMenuList.append("

    "); 63 | showMenuList.append(menu.getMenu_price()); 64 | showMenuList.append("/份

  • "); 65 | 66 | //
  • 67 | //
    68 | // 69 | //
    70 | //

    图片

    71 | //

    72 | // 73 | // 19/份 74 | //

    75 | //
    76 | // 加入购物车 77 | //
    78 | //
    79 | //
    80 | //
  • 81 | } 82 | return showMenuList; 83 | } 84 | public StringBuffer getShowMenuTop() { 85 | List list = DAOFactory.getMenuDAOInstance().showTopList(); 86 | showMenuTop = new StringBuffer(); 87 | for (Menu menu : list) { 88 | showMenuTop.append("
  • "); 90 | showMenuTop.append("

    "); 91 | showMenuTop.append(menu.getMenu_name()); 92 | showMenuTop.append("

    "); 93 | showMenuTop.append(menu.getMenu_price() + "/份"); 94 | showMenuTop.append("

  • "); 95 | } 96 | //
  • 97 | //
    98 | // 99 | //
    100 | //

    图片

    101 | //

    102 | // 103 | // 19/份 104 | //

    105 | //
    106 | // 加入购物车 107 | //
    108 | //
    109 | //
    110 | //
  • 111 | return showMenuTop; 112 | } 113 | public StringBuffer getShowUpdateList() { 114 | List list = DAOFactory.getMenuDAOInstance().showAllList(); 115 | showUpdateList = new StringBuffer(); 116 | for (Menu menu : list) { 117 | showUpdateList.append(""); 118 | showUpdateList.append(menu.getMenu_id()); 119 | showUpdateList.append(""); 120 | showUpdateList.append(menu.getMenu_name()); 121 | showUpdateList.append(""); 122 | showUpdateList.append(menu.getMenu_price()); 123 | showUpdateList.append(""); 124 | showUpdateList.append(menu.getMenu_content()); 125 | showUpdateList.append(""); 126 | } 127 | // 128 | // 01 129 | // 菜名 130 | // 19 131 | // 菜品信息 132 | // 133 | return showUpdateList; 134 | } 135 | public StringBuffer getShowMenuTopUpdate() { 136 | System.out.println("getShowMenuTopUpdate"); 137 | showMenuTopUpdate = new StringBuffer(); 138 | List list = DAOFactory.getMenuDAOInstance().showTopList(); 139 | for (Menu menu : list) { 140 | showMenuTopUpdate.append(""); 141 | showMenuTopUpdate.append(menu.getMenu_id()); 142 | showMenuTopUpdate.append(""); 143 | showMenuTopUpdate.append(menu.getMenu_name()); 144 | showMenuTopUpdate.append(""); 145 | showMenuTopUpdate.append(menu.getMenu_price()); 146 | showMenuTopUpdate.append(""); 147 | showMenuTopUpdate.append(menu.getMenu_content()); 148 | showMenuTopUpdate.append("删除"); 151 | System.out.println("menu"); 152 | } 153 | // 154 | // 01 155 | // 菜名 156 | // 19 157 | // 菜品信息 158 | // 增加 159 | // 160 | return showMenuTopUpdate; 161 | } 162 | public StringBuffer getShowMenuUpdate() { 163 | showMenuUpdate = new StringBuffer(); 164 | List list = DAOFactory.getMenuDAOInstance().showAllList(); 165 | for (Menu menu : list) { 166 | showMenuUpdate.append(""); 167 | showMenuUpdate.append(menu.getMenu_id()); 168 | showMenuUpdate.append(""); 169 | showMenuUpdate.append(menu.getMenu_name()); 170 | showMenuUpdate.append(""); 171 | showMenuUpdate.append(menu.getMenu_price()); 172 | showMenuUpdate.append(""); 173 | showMenuUpdate.append(menu.getMenu_content()); 174 | showMenuUpdate.append("增加"); 177 | } 178 | // 179 | // 01 180 | // 菜名 181 | // 19 182 | // 菜品信息 183 | // 增加 184 | return showMenuUpdate; 185 | } 186 | 187 | } 188 | -------------------------------------------------------------------------------- /src/vo/MenuTop.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | public class MenuTop { 4 | private int id; //ID 5 | private Menu menu; //推荐菜单,参考菜单类 6 | public int getId() { 7 | return id; 8 | } 9 | public void setId(int id) { 10 | this.id = id; 11 | } 12 | public Menu getMenu() { 13 | return menu; 14 | } 15 | public void setMenu(Menu menu) { 16 | this.menu = menu; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/vo/Message.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | import java.util.List; 4 | 5 | import factory.DAOFactory; 6 | 7 | /** 8 | * 留言信息类 9 | */ 10 | public class Message { 11 | private int id; //留言ID 12 | private Person user; //用户ID,参照用户类 13 | private Menu menu; //菜品ID,参照菜单类 14 | private String content; //内容 15 | private String mg_date; //留言时间 16 | 17 | private StringBuffer showMessageList; //显示所有留言 18 | 19 | public int getId() { 20 | return id; 21 | } 22 | public void setId(int id) { 23 | this.id = id; 24 | } 25 | public Person getUser() { 26 | return user; 27 | } 28 | public void setUser(Person user) { 29 | this.user = user; 30 | } 31 | public Menu getMenu() { 32 | return menu; 33 | } 34 | public void setMenu(Menu menu) { 35 | this.menu = menu; 36 | } 37 | public String getContent() { 38 | return content; 39 | } 40 | public void setContent(String content) { 41 | this.content = content; 42 | } 43 | public String getMg_date() { 44 | return mg_date; 45 | } 46 | public void setMg_date(String mg_date) { 47 | this.mg_date = mg_date; 48 | } 49 | public StringBuffer getShowMessageList() { 50 | showMessageList = new StringBuffer(); 51 | List list = DAOFactory.getMessageDAOInstance().searchAllList(); 52 | for (Message message : list) { 53 | showMessageList.append("
  • "); 54 | showMessageList.append(message.getUser().getUser_name()); 55 | showMessageList.append("
    "); 56 | showMessageList.append(message.getMg_date()); 57 | showMessageList.append("
    "); 58 | showMessageList.append(message.getContent()); 59 | showMessageList.append("
  • "); 60 | //
  • 61 | //
    用户名
    62 | //
    2017-01-01
    63 | //
    评价内容
    64 | //
  • 65 | } 66 | return showMessageList; 67 | } 68 | 69 | 70 | } 71 | -------------------------------------------------------------------------------- /src/vo/Orders.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | import java.util.List; 4 | 5 | import factory.DAOFactory; 6 | 7 | /** 8 | * 订单类 9 | */ 10 | public class Orders { 11 | private int order_id; //订单ID 12 | private Person user; //用户ID,参照用户类 13 | private Menu menu; //菜单ID,参照菜单类 14 | private int order_num; //订购菜品数量 15 | private String order_notice; //口味要求 16 | private String other_notice; //其他要求 17 | private String states; //订单付款状态 18 | 19 | private StringBuffer showBuyList; //显示购物车列表 20 | private int total; //购物车总数量 21 | private int totalPrice; //所有商品总价格 22 | private StringBuffer showNoPayList; //显示未支付列表 23 | private StringBuffer showPayList; //显示已支付列表 24 | 25 | public int getOrder_id() { 26 | return order_id; 27 | } 28 | public void setOrder_id(int order_id) { 29 | this.order_id = order_id; 30 | } 31 | public Person getUser() { 32 | return user; 33 | } 34 | public void setUser(Person user) { 35 | this.user = user; 36 | } 37 | public Menu getMenu() { 38 | return menu; 39 | } 40 | public void setMenu(Menu menu) { 41 | this.menu = menu; 42 | } 43 | public int getOrder_num() { 44 | return order_num; 45 | } 46 | public void setOrder_num(int order_num) { 47 | this.order_num = order_num; 48 | } 49 | public String getOrder_notice() { 50 | return order_notice; 51 | } 52 | public void setOrder_notice(String order_notice) { 53 | this.order_notice = order_notice; 54 | } 55 | public String getOther_notice() { 56 | return other_notice; 57 | } 58 | public void setOther_notice(String other_notice) { 59 | this.other_notice = other_notice; 60 | } 61 | public String getStates() { 62 | return states; 63 | } 64 | public void setStates(String states) { 65 | this.states = states; 66 | } 67 | /** 68 | * 显示购物车列表 69 | * @return 70 | */ 71 | public StringBuffer getShowBuyList() { 72 | showBuyList = new StringBuffer(); 73 | List list = DAOFactory.getOrdersDAOInstance().searchBuy(user); 74 | for (Orders orders : list) { 75 | showBuyList.append(""); 76 | //编号 77 | showBuyList.append(orders.getOrder_id()); 78 | showBuyList.append(""); 79 | //菜名 80 | showBuyList.append(orders.getMenu().getMenu_name()); 81 | showBuyList.append(""); 82 | //数量 83 | showBuyList.append(orders.getOrder_num()); 84 | showBuyList.append(""); 85 | //单价 86 | showBuyList.append(orders.getMenu().getMenu_price()); 87 | showBuyList.append(""); 88 | //总价 89 | showBuyList.append(orders.getOrder_num()*orders.getMenu().getMenu_price()); 90 | showBuyList.append(""); 91 | //备注:口味要求+其他要求 92 | showBuyList.append(orders.getOrder_notice() + "," + orders.getOther_notice()); 93 | showBuyList.append("删除"); 94 | } 95 | // 96 | // 1 97 | // 菜品 98 | // 1 99 | // 19.0 100 | // 19.0 101 | // 菜品信息 102 | // 删除 103 | // 104 | return showBuyList; 105 | } 106 | /** 107 | * 返回总数量 108 | * @return 109 | */ 110 | public int getTotal() { 111 | total = 0; 112 | List list = DAOFactory.getOrdersDAOInstance().searchBuy(user); 113 | for (Orders orders : list) { 114 | total += orders.getOrder_num(); 115 | } 116 | return total; 117 | } 118 | /** 119 | * 所有商品总价格 120 | * @return 121 | */ 122 | public int getTotalPrice() { 123 | totalPrice = 0; 124 | List list = DAOFactory.getOrdersDAOInstance().searchBuy(user); 125 | for (Orders orders : list) { 126 | totalPrice += orders.getOrder_num() * orders.getMenu().getMenu_price(); 127 | System.out.println(totalPrice); 128 | } 129 | return totalPrice; 130 | } 131 | /** 132 | * 显示未支付列表 133 | * @return 134 | */ 135 | public StringBuffer getShowNoPayList() { 136 | showNoPayList = new StringBuffer(); 137 | List list = DAOFactory.getOrdersDAOInstance().searchBuy(user); 138 | for (Orders orders : list) { 139 | showNoPayList.append(""); 140 | showNoPayList.append(orders.getOrder_id()); 141 | showNoPayList.append(""); 142 | showNoPayList.append(orders.getMenu().getMenu_name()); 143 | showNoPayList.append(""); 144 | showNoPayList.append(orders.getOrder_num()); 145 | showNoPayList.append(""); 146 | showNoPayList.append(orders.getMenu().getMenu_price()); 147 | showNoPayList.append(""); 148 | showNoPayList.append(orders.getMenu().getMenu_price() * orders.getOrder_num()); 149 | showNoPayList.append(""); 150 | showNoPayList.append(orders.getOrder_notice() + "," + orders.getOther_notice()); 151 | } 152 | return showNoPayList; 153 | // 154 | // 1 155 | // 菜品 156 | // 1 157 | // 19.0 158 | // 19.0 159 | // 菜品信息 160 | // 161 | } 162 | /** 163 | * 显示已支付列表 164 | * @return 165 | */ 166 | public StringBuffer getShowPayList() { 167 | showPayList = new StringBuffer(); 168 | List list = DAOFactory.getOrdersDAOInstance().searchPaidList(user); 169 | for (Orders orders : list) { 170 | showPayList.append(""); 171 | showPayList.append(orders.getOrder_id()); 172 | showPayList.append(""); 173 | showPayList.append(orders.getMenu().getMenu_name()); 174 | showPayList.append(""); 175 | showPayList.append(orders.getOrder_num()); 176 | showPayList.append(""); 177 | showPayList.append(orders.getMenu().getMenu_price()); 178 | showPayList.append(""); 179 | showPayList.append(orders.getOrder_num() * orders.getMenu().getMenu_price()); 180 | showPayList.append(""); 181 | showPayList.append(orders.getOrder_notice() + "," + orders.getOther_notice()); 182 | showPayList.append(""); 183 | } 184 | return showPayList; 185 | 186 | // 187 | // 1 188 | // 菜品 189 | // 1 190 | // 19.0 191 | // 19.0 192 | // 菜品信息 193 | // 194 | } 195 | 196 | 197 | } 198 | -------------------------------------------------------------------------------- /src/vo/Person.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | 3 | import java.util.List; 4 | 5 | import factory.DAOFactory; 6 | 7 | /** 8 | * 用户类 9 | */ 10 | public class Person { 11 | private int user_id; //用户名ID 12 | private String user_name; //用户名 13 | private String user_password; //用户密码 14 | private String user_realname; //用户真实姓名 15 | private String user_sex; //性别 16 | private String user_flag; //身份 17 | private String user_mail; //E-mail 18 | 19 | private StringBuffer showAdminList; //显示管理员列表 20 | 21 | public int getUser_id() { 22 | return user_id; 23 | } 24 | public void setUser_id(int user_id) { 25 | this.user_id = user_id; 26 | } 27 | public String getUser_name() { 28 | return user_name; 29 | } 30 | public void setUser_name(String user_name) { 31 | this.user_name = user_name; 32 | } 33 | public String getUser_password() { 34 | return user_password; 35 | } 36 | public void setUser_password(String user_password) { 37 | this.user_password = user_password; 38 | } 39 | public String getUser_realname() { 40 | return user_realname; 41 | } 42 | public void setUser_realname(String user_realname) { 43 | this.user_realname = user_realname; 44 | } 45 | public String getUser_sex() { 46 | return user_sex; 47 | } 48 | public void setUser_sex(String user_sex) { 49 | this.user_sex = user_sex; 50 | } 51 | public String getUser_flag() { 52 | return user_flag; 53 | } 54 | public void setUser_flag(String user_flag) { 55 | this.user_flag = user_flag; 56 | } 57 | public String getUser_mail() { 58 | return user_mail; 59 | } 60 | public void setUser_mail(String user_mail) { 61 | this.user_mail = user_mail; 62 | } 63 | public StringBuffer getShowAdminList() { 64 | showAdminList = new StringBuffer(); 65 | List list = DAOFactory.getPersonDAOInstance().getAllAdmin(); 66 | for (Person person : list) { 67 | showAdminList.append(""); 68 | showAdminList.append(person.getUser_id()); 69 | showAdminList.append(""); 70 | showAdminList.append(person.getUser_name()); 71 | showAdminList.append(""); 72 | showAdminList.append(person.getUser_realname()); 73 | showAdminList.append(""); 74 | showAdminList.append(person.getUser_sex()); 75 | showAdminList.append(""); 76 | showAdminList.append(person.getUser_mail()); 77 | showAdminList.append(""); 78 | } 79 | return showAdminList; 80 | } 81 | // 82 | // 123 83 | // mm 84 | // 力量 85 | // 女 86 | // kjkj@13.com 87 | // 88 | 89 | } 90 | -------------------------------------------------------------------------------- /src/vo/UserInfo.java: -------------------------------------------------------------------------------- 1 | package vo; 2 | /** 3 | * 用户配送信息类 4 | */ 5 | public class UserInfo { 6 | private int id; //配送信息ID 7 | private Person user; //用户ID,参照用户类 8 | private String address; //送货地址 9 | private String tel; //用户电话 10 | private String mobile; //用户手机 11 | private String notice; //备注 12 | private String send_date; //送货时间 13 | 14 | public int getId() { 15 | return id; 16 | } 17 | public void setId(int id) { 18 | this.id = id; 19 | } 20 | public Person getUser() { 21 | return user; 22 | } 23 | public void setUser(Person user) { 24 | this.user = user; 25 | } 26 | public String getAddress() { 27 | return address; 28 | } 29 | public void setAddress(String address) { 30 | this.address = address; 31 | } 32 | public String getTel() { 33 | return tel; 34 | } 35 | public void setTel(String tel) { 36 | this.tel = tel; 37 | } 38 | public String getMobile() { 39 | return mobile; 40 | } 41 | public void setMobile(String mobile) { 42 | this.mobile = mobile; 43 | } 44 | public String getNotice() { 45 | return notice; 46 | } 47 | public void setNotice(String notice) { 48 | this.notice = notice; 49 | } 50 | public String getSend_date() { 51 | return send_date; 52 | } 53 | public void setSend_date(String send_date) { 54 | this.send_date = send_date; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /wsdc.sql: -------------------------------------------------------------------------------- 1 | /* 2 | Navicat MySQL Data Transfer 3 | 4 | Source Server : localhost_3306 5 | Source Server Version : 50611 6 | Source Host : localhost:3306 7 | Source Database : wsdc 8 | 9 | Target Server Type : MYSQL 10 | Target Server Version : 50611 11 | File Encoding : 65001 12 | 13 | */ 14 | 15 | SET FOREIGN_KEY_CHECKS=0; 16 | 17 | -- ---------------------------- 18 | -- Table structure for `tb_introduce` 19 | -- ---------------------------- 20 | DROP TABLE IF EXISTS `tb_introduce`; 21 | CREATE TABLE `tb_introduce` ( 22 | `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', 23 | `content` varchar(255) NOT NULL DEFAULT '' COMMENT '商家介绍信息', 24 | PRIMARY KEY (`id`) 25 | ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='商家介绍'; 26 | 27 | 28 | -- ---------------------------- 29 | -- Table structure for `tb_menu` 30 | -- ---------------------------- 31 | DROP TABLE IF EXISTS `tb_menu`; 32 | CREATE TABLE `tb_menu` ( 33 | `menu_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', 34 | `menu_name` varchar(50) NOT NULL DEFAULT '' COMMENT '菜单名', 35 | `menu_content` varchar(50) NOT NULL DEFAULT '' COMMENT '菜单简介', 36 | `menu_price` double(5,2) NOT NULL DEFAULT '0.00' COMMENT '菜单单价', 37 | `menu_image` varchar(255) DEFAULT NULL COMMENT '菜单图片名称', 38 | PRIMARY KEY (`menu_id`) 39 | ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT='菜单表'; 40 | 41 | 42 | 43 | -- ---------------------------- 44 | -- Table structure for `tb_menu_top` 45 | -- ---------------------------- 46 | DROP TABLE IF EXISTS `tb_menu_top`; 47 | CREATE TABLE `tb_menu_top` ( 48 | `id` int(11) NOT NULL AUTO_INCREMENT, 49 | `menu_id` int(11) NOT NULL DEFAULT '0' COMMENT '菜单ID,参考菜单表', 50 | PRIMARY KEY (`id`) 51 | ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='推荐的菜品'; 52 | 53 | 54 | 55 | -- ---------------------------- 56 | -- Table structure for `tb_message` 57 | -- ---------------------------- 58 | DROP TABLE IF EXISTS `tb_message`; 59 | CREATE TABLE `tb_message` ( 60 | `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '留言ID', 61 | `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID,参照用户表', 62 | `menu_id` int(11) NOT NULL DEFAULT '0' COMMENT '菜品ID,参照菜单表', 63 | `content` varchar(200) DEFAULT NULL COMMENT '内容', 64 | `mg_date` varchar(45) DEFAULT NULL COMMENT '留言时间', 65 | PRIMARY KEY (`id`), 66 | KEY `foreign_key_msg_userId` (`user_id`) 67 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='留言信息表'; 68 | 69 | 70 | -- ---------------------------- 71 | -- Table structure for `tb_orders` 72 | -- ---------------------------- 73 | DROP TABLE IF EXISTS `tb_orders`; 74 | CREATE TABLE `tb_orders` ( 75 | `order_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单ID', 76 | `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID,参照用户表', 77 | `menu_id` int(11) NOT NULL DEFAULT '0' COMMENT '菜单ID,参照菜单表', 78 | `order_num` int(255) NOT NULL DEFAULT '0' COMMENT '订购菜品数量', 79 | `order_notice` varchar(45) DEFAULT NULL COMMENT '口味要求', 80 | `other_notice` varchar(100) DEFAULT NULL COMMENT '其他要求', 81 | `states` varchar(4) NOT NULL DEFAULT '' COMMENT '订单付款状态', 82 | PRIMARY KEY (`order_id`), 83 | KEY `foreign_key_userId` (`user_id`), 84 | KEY `foreign_key_menuId` (`menu_id`) 85 | ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='订单表'; 86 | 87 | 88 | -- ---------------------------- 89 | -- Table structure for `tb_user` 90 | -- ---------------------------- 91 | DROP TABLE IF EXISTS `tb_user`; 92 | CREATE TABLE `tb_user` ( 93 | `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', 94 | `user_name` varchar(30) NOT NULL DEFAULT '' COMMENT '用户名', 95 | `user_password` varchar(30) NOT NULL DEFAULT '' COMMENT '用户密码', 96 | `user_realname` varchar(50) DEFAULT NULL COMMENT '用户真实姓名', 97 | `user_sex` varchar(30) DEFAULT NULL COMMENT '性别', 98 | `user_flag` varchar(4) NOT NULL DEFAULT '' COMMENT '身份', 99 | `user_mail` varchar(50) NOT NULL DEFAULT '' COMMENT 'E-mail', 100 | PRIMARY KEY (`user_id`) 101 | ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='用户表'; 102 | 103 | -- ---------------------------- 104 | -- Records of tb_user 105 | -- ---------------------------- 106 | INSERT INTO `tb_user` VALUES ('1', '张三', '123456', '张三疯', '女', '普通用户', 'abc@qq.com'); 107 | INSERT INTO `tb_user` VALUES ('2', '李四', '12345', '毛毛', '男', '管理员', 'abc123@163.com'); 108 | 109 | -- ---------------------------- 110 | -- Table structure for `user_info` 111 | -- ---------------------------- 112 | DROP TABLE IF EXISTS `user_info`; 113 | CREATE TABLE `user_info` ( 114 | `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '配送信息ID', 115 | `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID,参照用户表', 116 | `address` varchar(100) NOT NULL DEFAULT '' COMMENT '送货地址', 117 | `tel` varchar(15) DEFAULT NULL COMMENT '用户电话', 118 | `mobile` varchar(11) NOT NULL DEFAULT '' COMMENT '用户手机', 119 | `notice` varchar(150) DEFAULT NULL COMMENT '备注', 120 | `send_date` varchar(45) DEFAULT NULL COMMENT '送货时间', 121 | PRIMARY KEY (`id`) 122 | ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户配送信息表'; 123 | 124 | 125 | --------------------------------------------------------------------------------