计算机毕业设计 jsp网上订餐系统ssh 毕设

演示视频:

https://www.bilibili.com/video/BV1BN4y1z7C6/


3.1 系统体系结构设计

本系统的系统结构是按照了自上向下的设计理念完成的。第一层是用户登录界面。第二层是系统主页,主要包括菜品展示、菜品销售排行、系统公告等,用户登录成功后可以在线浏览菜品、在线生成订单。

a14af98ee14a97e46b80c6312d2e70bf.jpeg

图3.1 系统首页

7522ec189ea53b8b0ef3869e5fa85e02.jpeg

图3.2 后台管理

3.2 系统子模块功能介绍

(1)类别管理模块:主要功能是系统管理员登入后,添加、编辑和删除菜品类别信息的功能。

(2)菜品管理模块:主要功能是系统管理员登入后,添加、编辑和删除菜品菜品信息的功能。

(3)会员管理模块:主要功能是管理员系统管理员登入后,管理注册的会员信息,对于不合法的会员予以删除。

(4)订单管理:管理员登录系统后。对用户生成的订单信息及时处理,查看订单明细,受理订单信息,对于不合法的乱订单删除。

(5)系统公告管理:管理员登录系统后。管理本系统的公告信息。删除过期的公告,添加新公告。

(6)留言板管理:管理员登录系统后。管理用户的留言信息。通过留言板这个功能,可以及时了解用户对菜品的需求。

(7)修改密码模块:主要功能是管理员系统管理员或者操纵员为了保证安全性,重设密码的功能。

3.3 数据库设计

3.3.1 数据库概念设计——E-R模型

概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体-联系模型,即E-R模型,它是用E-R图来描述现实世界的概念模型。下列E-R图清楚简便的描述出了本系统实体与其属性之间的关系。

6756054b29730ece7d48db03c1cb7516.jpeg图3.2 数据库概念模型E-R图

3.3.2 数据库逻辑设计——关系模型

下面将图3.2数据库E-R图转换为关系模型。

菜品类别信息(ID,类别名称,类别介绍)

菜品信息(ID,名称,单价,图片,菜品介绍,是否特价,类别ID)

订单信息(ID,订单编号,下单时间,总价格,送货地址,付款方式,用户编号)

订单明细(ID,订单编号,菜品编号,商品编号,商品数量)

会员信息(ID,用户名,登录密码,真实姓名,性别,年龄,联系方式,住址)

    管理员信息(用户名,密码)

3.3.3 数据库选型

本系统使用SQLSERVER2005关系型数据库。

SQLSERVER是由MICROSOFT公司出品,基于关系型数据库的大型数据库系统,该版本数据库具有独立于硬件平台、对称的多处理器结构、抢占式多任务管理、完善的安全系统和容错功能,更具有使用方便、可收缩性好与相关软件集成程度高等优点。

44994ee9647064670694554802e1bff4.jpeg

图3.8 数据库表间关系图

3.4 系统开发工具与开发模式的选择

3.3.1 系统开发工具

本系统主要使用JSP、SERVLET技术对系统进行设计和开发。JSP,即Java Server Page,Java应用页面程序。作为开发动态页面的一种技术,JSP是当前大中型企业应用软件首选的开发路线之一。而且JSP是J2EE的重要组成部分,开发人员可以在JSP中获得J2EE的众多优点。学习JSP也是J2EE入门的必经之路。

JSP既依赖于也得益于J2EE技术。“一次编写,随处运行”的可移植性使用户可以专注于JSP的开发,而无须考虑系统层面的问题;Java的开放特性使市面上涌现出了众多的Web框架可供采纳;面向对象的设计,为更加轻松地构筑安全稳定的Web在线系统提供了基础保障。

JSP秉承了J2EE高贵的血统,却又带着平易近人的个性。JSP本质上是一个Java程序,具备Java语言一切无与伦比的优势。相比依赖于VBScript代码的ASP,以及依赖于Perl语言的PHP等其他Web编程语言,JSP有着严格的Java语法支持,可以和Java Bean无缝整合。

ASP采用了解析执行的机制,而JSP则是先编译后执行。因此,在第一次访问时JSP比ASP要慢,但是JSP的执行则比每次都解析执行的ASP快若干个数量级。微软随后推出了ASP.NET,号称提供了丰富的面向对象类库,引入中间语言的概念来支持多种语言,完整地集成了XML及Web Service的支持,利用代码托管机制避免危害服务器,并期盼以此代替ASP。事实上ASP.NET的框架设计与J2EE框架十分类似,虽然弥补了ASP之前的缺陷,但是,其对于Windows平台的依赖性以及.NET本身的封闭性却依然存在。尽管现在有Mono计划将所有的开发转移到Linux,但是由于各种原因,Mono有着众多的制肘,并不被业界看好。当然,对于Windows环境下的中小型应用程序,ASP.NET确实是不错的选择。

JSP是线程高度并行的,可以充分利用硬件资源。另外,Java语言与平台无关,开发者可以将JSP部署在几乎任何操作系统上,UNIX系统可以为JSP提供稳定可靠的安全运行环境;利用集群技术还可以把多台主机联合起来服务于JSP应用程序。因此,JSP对于高可靠性、高性能要求的企业级应用系统有较强的吸引力。

从开发者的角度考虑,JSP是开发Web应用程序的首选。JSP支持JavaBean组件,也就获得了众多Java厂商的有力支持,开发者可以利用JavaBean来完成所有Java能实现的功能,如数据库连接池、图形绘制、文件IO操作、XML解析、WebService调用与发布等。Java的开放性也使系统框架如雨后春笋般涌现,Struts,Webwork,Tapstry,Velocity,Hibernate等开源框架为Web应用开发者简化了开发流程,提高了代码质量,从而降低了学习门槛和开发成本。JSP遵循J2EE规范所采用的分层结构也使得代码容易组织维护,各个独立的层次分别针对特定的编程领域,在某个领域发生变化的时候,只需要在对应层次进行针对性的修改,而不会影响到其他层次的代码。

而相对于Servlet这种Java类,JSP又有着特定的优势。从前面的例子可以看出,要完成一个简单JSP页面具有的功能,需要编写大量的Servlet代码,而且,从代码上根本看不出来生成的HTML文档结构。另外,JSP中双引号等特殊字符,在Servlet中都需要进行转义处理,又进一步降低了程序的可读性。Servlet不能有效地利用原型页面。事实上,在JSP中,还可以使用标签等特性,进一步将JSP中的 Java代码导致的不利因素削弱。

总之,使用JSP可以降低开发门槛,提高程序可读性,开发出高性能的跨平台企业级软件。所以在线汽车销售网站采用了JSP技术。

3.3.2 系统设计模式

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点。须视企业规模和地理分布确定。企业内部通过防火墙接入Internet,再整个网络采TCP/IP协议。

c767377a5ea8a8671fef4f5921140898.jpeg

C/S 与 B/S 区别:Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的。1.硬件环境不同: C/S 一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.B/S 建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备. 信息自己管理. 有比C/S更强的适应范围,一般只要有操作系统和浏览器就行2.对安全要求不同 C/S 一般面向相对固定的用户群,对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.B/S 建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群. 3.对程序架构不同 C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.B/S 对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟. 4.软件重用不同 C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子5.系统维护不同系统维护是软件生存周期中,开销大, -------重要C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6.处理问题不同 C/S 程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关. 应该都是相同的系统B/S 建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的. 与操作系统平台关系最小. 7.用户接口不同 C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 8.信息流不同C/S 程序一般是典型的中央集权的机械式处理,交互性相对低B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化,更像交易中心。

4 系统实现

3.1系统首页

输入网址http://localhost:8080/wd,系统默认跳转到页面default.jsp,然后发送请求index.action,这个类负责提取相关的数据。包括系统公告信息、菜品信息等数据,并把这些数据库绑定到request对象,跳转到view层index.jsp,本系统网站的主界面设计结构采用了上左右的结构,上部分为主功能菜单区,主要是显示网站的主功能,左侧为用户注册、登录,公告浏览,右部分为信息显示区,界面设计如图3-1所示

17e6729f57fe7c4ef5ed9c9fdf19a20e.jpeg

图3.1系统首页

3.2用户注册模块

用户单击注册后需要输入密码和确认密码、用户真实姓名、住址、性别、E_mail、QQ。用户只须填写一个Web表单。这里需要用户通过E_mail注册是考虑到两点:第一,用户的E_mail是惟一的;第二,通过用户的E_mail可以很方便快捷的与用户取得联系。用户在提交注册信息后,系统会对注册页面填写的正确性进行检查。对于不符合要求的填写会给出必要的提示,并返回修改;对于符合要求的注册表单,用户提交信息后也要返回相应的欢迎信息,用户提交的正确注册信息将被存入系统的数据库中。界面的设计如图3-2所示。

8d2a11d58821c3d8b90d805131a7c76e.jpeg

图3.2 用户注册模块

3.3系统后台登陆模块

要想使用本系统,必须先登陆到系统中,在登陆页面,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。

dfd66b5f8ec90b2133b2e6c512db513b.jpeg

图3.3登陆模块界面

登陆模块关键代码:3.4 会员管理模块

管理员登陆系统后,点击左面的菜单“会员管理”,页面调转到会员管理界面,

6090e4279a9b1aab8babeeff7f5edd97.jpeg

图3.4 会员管理模块界面3.5 菜品类别管理模块

管理员登陆系统后,点击左面的菜单“菜品类别管理”,页面调转到菜品类别界面,录入菜品类别的的基本信息。包括类别名称、类别介绍等,点击保存按钮,调用后台的java类把菜品类别信息保存到数据库。界面如下图

76e70e07510aea491c106a8273f1adef.jpeg

图3.5 菜品类别管理模块界面

3.6 菜品管理模块

点击左侧的“菜品管理”菜单。页面跳转到菜品管理界面。

40207ddb32dee3076b9321b780739d38.jpeg

图3.6 菜品管理界面3.7 订单管理模块

点击左侧的“订单管理”菜单。页面跳转到订单管理界面。

4ac20650ae7501b3d4a2a4885ededb0d.jpeg

图3.7 订单管理界面

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言宇程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值