基于SSM的“校园外卖管理系统”的设计与实现(源码+数据库+文档+开题报告)
-
开发语言:Java
-
数据库:MySQL
-
技术:SSM
-
工具:IDEA/Ecilpse、Navicat、Maven
系统展示
消费者系统结构图
商户系统结构图
管理员系统结构图
校园外卖管理网站首页
消费者会员登录
在线留言界面
订单中心界面
商户后台管理界面
管理员后台管理界面
商品销量排行管理界面
摘要
在当前互联网的大力发展前景下,互联网已经渗入到了生活的方方面面。随着信息化时态的推进,人们的生活变得更加忙碌,伴随着工作节奏的加快。外卖市场的发展十分迅速。使用外卖软件来点餐,在当下的年轻群体特别是大学生,已经非常熟悉。仅需下楼取餐即可享受到各类美食,十分受到欢迎,所以此次的课题目标选择了设计一款基于B/S结构的校园外卖管理系统。
此次使用了java web技术线进行网页端的开发,开发工具采用idea.工具,数据库采用了MySQL进行设计开发,服务器采用了Tomcat服务器技术。该网站系统能够将学校周围商家的外卖产品在网站上向用户进行展示,当学生用户选好产品,可以通过在线多渠道进行付费结算。当商家接收到了订单后,会根据订单上的信息进行食品的制作并完成相应的配送服务,以上就是外卖服务全流程。综上,此次设计了三个角色:第一是消费者用户,消费者可以在线订餐,并且在线付费,同时对于个人信息可以实现管理。第二是商家,可以在网上发布美食信息,接收订单,发布活动;第三是系统管理员,权限范围包括了用户的维护,网站信息的维护等。
研究目的及意义
此次开发的校园外卖网上订餐系统是基于java web开发的,是在计算机端使用的网页软件,当消费者输入网站网址即可登录,登录后能够看到各大商家的美食图片展示,消费者可以在喜欢的菜品图片后面进行勾选,这与传统的实体店餐单点餐方式非常相似。商家用户可以在此平台上,借助平台的流量资源扩大经营区域范围,提升客源数,以及收入水平。除此之外,为了保证商家的服务质量,在网站上设置了留言功能,消费者在购买后,可以对商家提供的食品进行满意度打分,也可以对配送骑手进行打分,起到监督的作用。此次的系统设计需要达到两方面目的,一是提升大学生就餐的便捷性,二是能够让商家多一些销售渠道,提升收入水平。
通过本文的设计研究,将在MVC框架下,利用java web进行校园外卖网上订餐系统的开发,通过研究阐述开发的过程和所用的工具,提供相应的经验介绍,同时在开发过程中,也能够提升自身对于所学业务知识的掌握程度,积累开发经验。
国内外现状分析
中国的餐饮服务行业,客流量大,服务水平高,而且餐饮种类也是全球第一,在我国的经济高速发展的当前,生活节奏正在提速,特别是一、二线城市,人们的工作压力大,为了节约时间,午饭选择外卖的可能性极高。中国的消费市场庞大,外卖订餐行业在中国的发展潜力巨大。
国内的外卖行业基本被美团、饿了么、百度所三分天下,据统计,每天全国有3.2亿人选择外卖订餐,而且这种点餐方式也不仅仅再是上班族的专享,最近几年大学生逐渐也成为了外卖订餐的消费主力之一,在大学生中选择外卖订餐的以男性居多。究其原因,主要是食堂饭菜的可口程度、避免高峰期食堂排队就餐等。外卖在高校中的需求量非常大,也带动也校园周边的餐饮经济。
国外发达国家,由于名族文化差异的原因,其对午餐的重视程度远远高于中国,而且西方一些国家,其工作节奏、社会压力相对较小,而且企业也非常重视员工的午餐,都会设立专门的餐饮部提供午餐。在快餐方面,人们大多会选择购买汉堡、披萨等食品。因此国外的外卖需求量较小,没有形成固定的外卖餐饮文化。
部分源码
public class Upload extends HttpServlet {
/**
* Constructor of the object.
*/
public Upload() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
StringBuffer sb = new StringBuffer(50);
response.setContentType("application/x-msdownload;charset=utf-8");
try {
response.setHeader("Content-Disposition", new String(sb.toString()
.getBytes(), "ISO8859-1"));
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String filename = request.getParameter("filename");
if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0){
try {
filename = new String(filename.getBytes("UTF-8"), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else
if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){
try {
filename = URLEncoder.encode(filename, "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
response.setContentType("text/plain");
response.setHeader("Location",filename);
response.reset();
response.setHeader("Cache-Control", "max-age=0" );
response.setHeader("Content-Disposition", "attachment; filename=" + filename);
try {
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
OutputStream fos = null;
// File f = new File(request.getRealPath("/upfile/")+"/"+filename);
//System.out.println(f);
bis = new BufferedInputStream((InputStream)new FileInputStream(request.getRealPath("/upfile/")+"/"+filename));
fos = response.getOutputStream();
bos = new BufferedOutputStream(fos);
int bytesRead = 0;
byte[] buffer = new byte[5 * 1024];
while ((bytesRead = bis.read(buffer)) != -1) {
bos.write(buffer, 0, bytesRead);
}
bos.close();
bis.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}finally{
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
结论
通过此次毕业设计,让本人得到了很大的收获,首先,此次设计加深了我对Java技术的运用,让我从真真意义上实现活学活用。其次,此次参考了大量的文献资料,通过翻阅数据、查看文献,一步步的加深了我对Java技术的认知,不辜负大学四年的辛勤付出。最后,本人利用Java结合MYSQL数据库进行开发的校园外卖订单管理系统设计基本达到了设计目标,大体框架运行正常,部分细节还需进一步学习加强,总体来说已基本达标。