基于JSP的高校食堂食材选购管理系统
效果如下:
系统首页界面
用户登录页面
食材信息页面
论坛交流界面
管理员登录界面
管理员功能主界面
食材信息管理界面
订单配送管理界面
用户功能主界面
商家功能主界面
司机功能主界面
研究背景
近年来互联网技术的发展使得互联网产品和网站层出不穷,对人才的需求不断提高 。同时,面对过去使用手抄等方式进行记录,工作效率很难得到提高,无法满足现代人们的需求;自从人类进入互联网时代,通过纸质手抄的方式转换成线上无纸化管理,有效的解决了获取信息的渠道,全面提升工作效率。由此,实现一套完整的高校食堂食材选购管理系统非常必要。
研究意义
设计和实现高校食堂食材选购管理系统。该系统具有良好的扩展性、稳定性、安全性以及可移植性等特点。为方便用户查询信息并进行交流,特制定本高校食堂食材选购管理系统。
相关技术
SSM框架
SSM是三种普遍开源系统框架的简称。SSM框架是三个开源系统框架(Spring、MyBatis、SpringMVC)的集成化,是一个相对性简洁的Web项目开发框架。具备十分优异的开发实际效果。可以更快的完成MVC方式,充分发挥自己的优点。
Spring框架是一个具备特有优点的框架,他可以面向切面编程,也可以控制反转,可以事务处理。便捷与别的框架集成,与此同时在服务层高效工作。
根据应用MyBatis,可以简单化与数据库查询有关的操作,实行灵活的数据库语句操作,拥有存储过程和高级映射作用,使持久层的开发更为非常容易。
SpringMVC是一个轻量的、实现请求驱动的MVC方式框架,与Spring框架有不错的兼容模式。与此同时人物角色分离出来,更容易开发。
JSP技术
JSP,全称为Java Server Pages,中文为Java服务器页面,是一种技术标准,用来实现动态网页制作,其主导开发公司为Sun Microsystems。它是一种开放源码的开发语言,易懂易写,有很多特性和优点。现阶段在Web行业运用普遍。与其它计算机语言对比,JSP的实行关键反映在将程序嵌入到HTML文本文档中,实行效率领先别的语言表达。此外,执行速度也很快。一般来说,它的编译可以让程序执行得比一般语言更快。JSP完全免费、高效率,这促使它被广泛运用于各种各样服务平台。
MySQL
MySQL是一种关系型的数据库管理系统,属于Oracle旗下的产品。MySQL的语言是非结构化的,使用的用户可以在数据上进行工作。这个数据库管理系统一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。在语言结构方面,MySQL的语言简单,其他数据库需要一大段代码来实现的操作,MySQL仅需要一小部分代码甚至几行。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。基于JSP的高校食堂食材选购管理系统运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用。
可行性分析
技术可行性分析
本系统是为了为用户寻找高校食堂食材选购管理提供更加安全、高效、便捷的方式,本系统需要运用到java、MySQL和B/S结构等技术,这些技术在国内外已经非常成熟,在大学期间也有所涉及,相关的知识和工具在网络上也可以查到,再加上老师的指导,在技术上的难题可以得到解决。
经济可行性分析
该系统的主题是高校食堂食材选购管理系统的设计与实现。开发所需的软件资源是Eclipse。我们可以在它的网站上安装一个免费的版本,这对我们的开发和使用是足够好的。数据库就是MySQL数据库。是开源是免费的,服务器使用Tomcat服务器,浏览器使用日常IE浏览器,JSP技术是开源的。经过可行性评估,软件资源支出符合经济可行性。硬件方面,配备齐全的笔记本电脑作为工具在经济上是可行的。
运行可行性分析
运行可行性也可以说是系统可用性的体现,高校食堂食材选购管理系统本身具有运行可行性的特点,其界面的设计清晰、功能权限分配合理、操作方便。本论文设计的是高校食堂食材选购管理系统,通过技术的结合提出一套切实可行的解决方案。不同的用户接入之后不需要经过特殊的训练就可以运行到对应功能模块中。
测试目的
系统测试(System Testing)是为了向使用者提供有关被测试产品或服务的质量信息而进行的检查。系统测试还可以提供客观和独立的系统评估,以使运营者能够了解和系统实施所面临的潜在问题。系统测试涉及软件组件或系统组件的执行,以评估一个或多个系统属性。通常这些属性表明被测组件或系统满足系统预期开发需求,在各种预期的时间内,正确响应各种系统输入,在可接受的时间内执行其功能,足够可用,同时可以满足分析设计时要求的程度。在预期的环境中运行,并达到用户期望的总体结果。经过一系列严格功能测试,以发现系统功能方面潜在的问题,保证系统的正常运行。
代码:
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/OrderServlet")
public class OrderServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
int supplierId = Integer.parseInt(request.getParameter("supplierId"));
int ingredientId = Integer.parseInt(request.getParameter("ingredientId"));
int quantity = Integer.parseInt(request.getParameter("quantity"));
// 数据库连接信息
String url = "jdbc:mysql://localhost:3306/food_management";
String user = "root";
String password = "password";
Connection conn = DriverManager.getConnection(url, user, password);
// 插入订单
String sql = "INSERT INTO Orders (supplier_id, ingredient_id, quantity) VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, supplierId);
pstmt.setInt(2, ingredientId);
pstmt.setInt(3, quantity);
pstmt.executeUpdate();
// 更新库存(这里简化处理,不检查库存是否足够)
String updateStockSql = "UPDATE Ingredients SET stock = stock - ? WHERE id = ?";
PreparedStatement updateStmt = conn.prepareStatement(updateStockSql);
updateStmt.setInt(1, quantity);
updateStmt.setInt(2, ingredientId);
updateStmt.executeUpdate();
conn.close();
response.sendRedirect("index.jsp");
} catch (NumberFormatException | SQLException e) {
e.printStackTrace();
response.getWriter().println("Error: " + e.getMessage());
}
}
}