100010670-基于Java Web + MySQL实现的(Web)网上订餐系统

张开发
2026/4/11 21:49:16 15 分钟阅读

分享文章

100010670-基于Java Web + MySQL实现的(Web)网上订餐系统
♻️ 资源大小5.82MB➡️资源下载https://download.csdn.net/download/s1t16/87425299一、项目简介随着信息化技术在生活中的应用越来越广泛 网上订餐也逐渐成为人们的一种生活方式这类订餐软件在市面上也很多。本系统正是基于这样一种环境下应运而生。 本系统主要实现用户的网上订餐业务流程、用户注册、用户资料修改和管理员实现添加菜品相关信息修改推销广告等。本系统主要利用原生的 servlet 技术进行开发有很强的逻辑性、可扩展性 便于维护。用户界面设计主要实用了 CSS,美化了页面。其次本系统设计还使用 了 JSP技术、 JDBC技术、 JavaBean 技术、filter过滤器技术和MVC开发模式。二、系统设计和数据库设计1.系统设计整体流程图详细流程图2.数据库设计商家介绍表tb_introduce数据记录菜谱表tb_menu数据记录推荐菜品表tb_menu_top订餐表信息tb_meaage后台销售记录表tb_orders用户信息表tb_users配送信息表三、详细设计与实现1.系统用到的软硬件环境使用window10 、eclipse、mysql5.6、MVC模式、servlet、filter过滤器、session、文件上传、JDBC、jsp、HTML、css、jquery等技术。2.详细设计过程1.用到的插件包2.项目结构3.核心代码解析控制层使用servlet技术总共17个servlet代表了17个主要功能分别是添加管理员、添加菜谱、添加推荐菜品、删除购物车订单、删除菜品、用户信息、下单信息、订单支付、删除管理员、删除推荐菜品、修改商家介绍、修改菜品信息、修改用户配送地址信息、用户退出控制、用户登陆控制、用户注册、修改用户个人信息。在这仅以订单支付为例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 { ListOrders list new ArrayListOrders(); 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 languagejavascript 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.管理登陆界面首页购物车页面下单信息页面管理员管理页面功能包括修改个人信息、修改密码、添加管理员、删除管理员、添加菜品、修改菜品、推荐菜品、修改商店介绍。订单查询页面店铺历史介绍页面2.普通用户登陆界面首页购物车页面用户管理页面功能包括修改个人信息、修改密码、修改配送信息订单查询页面店铺历史介绍页面修改配送信息功能五、遇到的问题和解决方法1.问题页面弹出框的提示信息会出现中文乱码解决方法response.setCharacterEncoding(UTF-8); PrintWriter out response.getWriter(); //获取输出流 String a URLEncoder.encode(口令错误请重新输入, UTF-8); out.print(scriptlanguagejavascriptalert(decodeURIComponent(a))/script);2.问题数据库连接异常缺少相应的连接包。解决方法从MYSQL官网上下载mysql-connector-java-5.1.24-bin.jar包放在项目等等等许多问题时间不够不再一一讲述。六、 存在的不足和改进的思路1.支付界面过于简单没有真正模拟实际支付过程。改进的思路想引入微信的支付接口实现微信扫码支付。2.项目使用原生的JDBC管理连接导致项目运行速度偏慢资源浪费。改进的思路使用C3P0插件包自定管理数据库的连接和释放提高项目的效率。项目使用偏底层的技术如servlet、原生的HTML、jsp导致页面过于简单项目的开发效率低。改进的思路使用框架技术将本项目升级成maven项目自动管理前端使用LAYUI美化前端页面使用springboot框架技术分层思想提高代码的利用率并降低开发难度。七、 总结这个项目我写的很苦逼因为开始时间晚又重合了考试复习时间还要忙里偷闲打游戏技术又不咋滴所以本人是很嫌弃这个代码的但是没办法赶鸭子上架熬了几天夜写了这个项目此处省略吐槽三百字。虽然系统的基本功能都已实现但还是存在项目不稳定等多个问题尚待解决。这个系统主要是我自己开发的但也得到了网上大神和同学的很大帮助。我正在做系统的过程中遇到了很多问题有的是知识存储不足有的是考虑不够周全之所以能够顺利实现基本功功能离不开老师和同学的大力相助。事实证明只靠自己是不能顺利完成一套功能完整的系统的必须充分利用团队的力量。技术心得一个 Servlet往往对应了不同的操作 一个对象的增删改查 都放在了一 个 Servlet里面实现这样设计可有效减少Servlet数量对于网页页面效果要求较高的时候多采用 JSP来编写对于后台处理要 求较高时多采用Servlet。尽量使用和数据库版本一致的驱动否则jdbc连接可能不正常4.在编写样式表之前一定要注意CSS文档的编码类型一定要和HTML文档的字符集类型一致。

更多文章