# 一、项目简介
随着信息化技术在生活中的应用越来越广泛, 网上订餐也逐渐成为人们的一种生活方式这类订餐软件在市面上也很多。本系统正是基于这样一种环境下应运而生。 本系统主要实现用户的网上订餐业务流程、用户注册、用户资料修改和管理员实现添加菜品相关信息,修改推销广告等。
本系统主要利用原生的 servlet 技术进行开发,有很强的逻辑性、可扩展性, 便于维护。用户界面设计主要实用了 CSS,美化了页面。其次本系统设计还使用 了 JSP技术、 JDBC技术、 JavaBean 技术、filter过滤器技术和MVC开发模式。
# **二、**系统设计和数据库设计
## 1.系统设计
整体流程图:
![](https://www.writebug.com/myres/static/uploads/2021/10/31/07a990519dff1b32019ec77afd544013.writebug)
详细流程图:
![](https://www.writebug.com/myres/static/uploads/2021/10/31/4582ae81195eb2c6ca7a7b45577d5b35.writebug)
## **2.** 数据库设计
商家介绍表tb_introduce
![](https://www.writebug.com/myres/static/uploads/2021/10/31/f030f1c707ccb9a1acc5fcd704d9334d.writebug)
数据记录
![](https://www.writebug.com/myres/static/uploads/2021/10/31/58683e965f8b25e1f59ece8f1dfb2491.writebug)
菜谱表tb_menu
![](https://www.writebug.com/myres/static/uploads/2021/10/31/df187a96339502dc1d2548e3f0d0bd90.writebug)
数据记录
![](https://www.writebug.com/myres/static/uploads/2021/10/31/d882712be14b7ace32ec372fc7860322.writebug)
推荐菜品表tb_menu_top
![](https://www.writebug.com/myres/static/uploads/2021/10/31/bff87210fd25713f65e8f84fb9a87635.writebug)
订餐表信息tb_meaage
![](https://www.writebug.com/myres/static/uploads/2021/10/31/3c013070a4f1bc161fb86530ed1013fb.writebug)
后台销售记录表tb_orders
![](https://www.writebug.com/myres/static/uploads/2021/10/31/ba71374f339b5312fcad78e55e8d9b1b.writebug)
用户信息表tb_users
![](https://www.writebug.com/myres/static/uploads/2021/10/31/e2445389a3eea0b11f5f13706158705a.writebug)
配送信息表
![](https://www.writebug.com/myres/static/uploads/2021/10/31/744162680a4d5f5a83c6cb3fe10ae500.writebug)
# **三、**详细设计与实现
## 1.系统用到的软硬件环境
使用window10 、eclipse、mysql5.6、MVC模式、servlet、filter过滤器、session、文件上传、JDBC、jsp、HTML、css、jquery等技术。
## 2.详细设计过程:
1.用到的插件包:
![](https://www.writebug.com/myres/static/uploads/2021/10/31/ba4e7fde9f442e3a910ac3911cfeef16.writebug)
2.项目结构:
![](https://www.writebug.com/myres/static/uploads/2021/10/31/5dfebe411e4c70c3e3ec51989880b45c.writebug)
![](https://www.writebug.com/myres/static/uploads/2021/10/31/adba678c63786e7f4d13f341fd5c8b0f.writebug)
3.核心代码解析:
控制层使用servlet技术:
![](https://www.writebug.com/myres/static/uploads/2021/10/31/0ec93c35d19d978b538d6317dd435ce2.writebug)
总共17个servlet代表了17个主要功能分别是:添加管理员、添加菜谱、添加推荐菜品、删除购物车订单、删除菜品、用户信息、下单信息、订单支付、删除管理员、删除推荐菜品、修改商家介绍、修改菜品信息、修改用户配送地址信息、用户退出控制、用户登陆控制、用户注册、修改用户个人信息。
在这仅以订单支付为例:
```java
@WebServlet(description = "订单支付", urlPatterns = { "/OrdersPayServlet" })
public class OrdersPayServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public OrdersPayServlet() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Orders> list = new ArrayList<Orders>();
Person user = (Person) request.getSession().getAttribute("user");
list = DAOFactory.getOrdersDAOInstance().searchBuy(user);
String a = URLEncoder.encode("支付成功!", "UTF-8");
for (Orders orders : list) {
orders.setStates("已付款");
DAOFactory.getOrdersDAOInstance().update(orders);
}
System.out.println("支付成功!");
response.getWriter().println("<script language='javascript'> alert(decodeURIComponent('"+a+"'));history.go(-1);</script>");
// response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
```
# 四、系统测试
运行效果图及说明
## 1.管理登陆界面:
首页
![](https://www.writebug.com/myres/static/uploads/2021/10/31/d94e609bb49c983f7a4edd35fa8627c5.writebug)
购物车页面
![](https://www.writebug.com/myres/static/uploads/2021/10/31/feec0884ffa70c19731ab2819a7bd504.writebug)
下单信息页面
![](https://www.writebug.com/myres/static/uploads/2021/10/31/9ddf7f9a20bef2303a2eaace01ed98c7.writebug)
管理员管理页面功能包括:修改个人信息、修改密码、添加管理员、删除管理员、添加菜品、修改菜品、推荐菜品、修改商店介绍。
![](https://www.writebug.com/myres/static/uploads/2021/10/31/e55ddfa44636ec5a148b4149eced849a.writebug)
订单查询页面
![](https://www.writebug.com/myres/static/uploads/2021/10/31/3fad420beb11861aa94df5d43876fd9a.writebug)
店铺历史介绍页面
![](https://www.writebug.com/myres/static/uploads/2021/10/31/3d422a87a2aa186c926ce727e8754abd.writebug)
## 2.普通用户登陆界面:
首页
![](https://www.writebug.com/myres/static/uploads/2021/10/31/5498bf0df9a45038b9cd89160f62069f.writebug)
购物车页面
![](https://www.writebug.com/myres/static/uploads/2021/10/31/12788fabd766d92775640b1d2926d3a5.writebug)
用户管理页面功能包括:修改个人信息、修改密码、修改配送信息
![](https://www.writebug.com/myres/static/uploads/2021/10/31/e4966889a9717dd9224570da6855c6e1.writebug)
订单查询页面
![](https://www.writebug.com/myres/static/uploads/2021/10/31/1e6d9630993446a12f403a906be456aa.writebug)
店铺历史介绍页面
![](https://www.writebug.com/myres/static/uploads/2021/10/31/66f70ec5d90fe05f836224f29b864aa2.writebug)
修改配送信息功能
![](https://www.writebug.com/myres/static/uploads/2021/10/31/57c37d1f190ec66b2d45fabaec1dd893.writebug)
# **五、** **遇到的问题和解决方法**
## 1.问题:
![](https://www.writebug.com/myres/static/uploads/2021/10/31/d0915322c4990c61212e3d79c00bbe59.writebug)
页面弹出框的提示信息会出现中文乱码;
解决方法:
```js
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter(); //获取输出流
String a = URLEncoder.encode("口令错误,请重新输入!", "UTF-8");
out.print("<scriptlanguage='javascript'>alert(decodeURIComponent('"+a+"'))</script>");
```
## 2.问题:
数据库连接异常,缺少相应的连接包。
解决方法:
从MYSQL官网上下载mysql-connector-java-5.1.24-bin.jar包放在项目
等等等许多问题时间不够不再一一讲述。
# **六、 存在的不足和改进的思路**
1.支付界面过于简单,没有真正模拟实际支付过程。
改进的思路:想引入微信的支付接口,实现微信扫码支付。
2.项目使用原生的JDBC管理连接,导致项目运行速度偏慢,资源浪费。
改进的思路:使用C3P0插件包自定管理数据库的连接和释放,提高项目的效率。
3. 项目使用偏底层的技术如servlet、原生的HTML、jsp导致页面过于简单,项目的开发效率低。
改进的思路:使用�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本系统主要利用原生的 servlet 技术进行开发,有很强的逻辑性、可扩展性, 便于维护。用户界面设计主要实用了 CSS,美化了页面。其次本系统设计还使用 了 JSP技术、 JDBC技术、 JavaBean 技术、filter过滤器技术和MVC开发模式。 主要功能分别是:添加管理员、添加菜谱、添加推荐菜品、删除购物车订单、删除菜品、用户信息、下单信息、订单支付、删除管理员、删除推荐菜品、修改商家介绍、修改菜品信息、修改用户配送地址信息、用户退出控制、用户登陆控制、用户注册、修改用户个人信息。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java Web+MySQL实现的网上订餐系统【100013048】 (167个子文件)
OrdersDAOImpl.class 6KB
PersonDAOImpl.class 5KB
Menu.class 5KB
Orders.class 5KB
MenuDAOImpl.class 5KB
AddMenuServlet.class 4KB
UserInfoDAOImpl.class 4KB
UserUpdateServlet.class 4KB
MessageDAOImpl.class 3KB
DbcpConnectionPool.class 3KB
Person.class 3KB
OrdersPayServlet.class 3KB
UserRegisterServlet.class 3KB
Message.class 2KB
OrderAddServlet.class 2KB
UpdateUserInfoServlet.class 2KB
UserLoginServlet.class 2KB
UpdateMenuServlet.class 2KB
RemoveAdminServlet.class 2KB
MenuTopDAOImpl.class 2KB
AddAdminServlet.class 2KB
MemberServlet.class 2KB
IntroduceDAOImpl.class 2KB
UserInfo.class 2KB
AddMenuTopServlet.class 2KB
DeleteMenuServlet.class 2KB
DeleteBuyServlet.class 2KB
UpdateIntroduceServlet.class 2KB
UserExitServlet.class 1KB
RemoveMenuTopServlet.class 1KB
CharacterEncodingFilter.class 1KB
DAOFactory.class 1KB
Introduce.class 962B
MenuTop.class 668B
OrdersDAO.class 533B
MenuDAO.class 503B
PersonDAO.class 444B
UserInfoDAO.class 286B
MessageDAO.class 273B
IntroduceDAO.class 188B
MenuTopDAO.class 158B
.classpath 828B
org.eclipse.wst.common.component 456B
org.eclipse.wst.jsdt.ui.superType.container 49B
register.css 3KB
index.css 2KB
public.css 1KB
about.css 630B
javaweb课程设计报告.docx 1.84MB
食谱.docx 574KB
.gitattributes 378B
.gitignore 574B
mysql-connector-java-5.1.24-bin.jar 826KB
standard.jar 384KB
commons-dbcp2-2.1.1.jar 170KB
commons-pool2-2.4.2.jar 109KB
commons-io-1.4.jar 106KB
commons-fileupload-1.2.1.jar 56KB
jstl.jar 20KB
jspsmartupload.jar 12KB
Orders.java 7KB
Menu.java 7KB
OrdersDAOImpl.java 6KB
PersonDAOImpl.java 6KB
MenuDAOImpl.java 5KB
AddMenuServlet.java 4KB
UserInfoDAOImpl.java 3KB
DbcpConnectionPool.java 3KB
UserUpdateServlet.java 3KB
Person.java 2KB
MessageDAOImpl.java 2KB
UpdateUserInfoServlet.java 2KB
UserRegisterServlet.java 2KB
OrderAddServlet.java 2KB
Message.java 2KB
OrdersPayServlet.java 2KB
UserLoginServlet.java 2KB
UpdateMenuServlet.java 2KB
RemoveAdminServlet.java 1KB
AddAdminServlet.java 1KB
MemberServlet.java 1KB
DeleteMenuServlet.java 1KB
UpdateIntroduceServlet.java 1KB
DeleteBuyServlet.java 1KB
AddMenuTopServlet.java 1KB
DAOFactory.java 1KB
MenuTopDAOImpl.java 1KB
UserExitServlet.java 1KB
RemoveMenuTopServlet.java 1KB
UserInfo.java 1KB
IntroduceDAOImpl.java 1KB
CharacterEncodingFilter.java 1KB
PersonDAO.java 990B
OrdersDAO.java 929B
MenuDAO.java 775B
UserInfoDAO.java 669B
Introduce.java 544B
MessageDAO.java 373B
MenuTop.java 300B
MenuTopDAO.java 252B
共 167 条
- 1
- 2
资源评论
神仙别闹
- 粉丝: 2673
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功