1、Java 课程设计基于 JSP 的订餐网站实现班级:2012 级 Java2 第二十一组 组长: 成员: 2014 年 12 月 25日Java 课程设计报告1目录Java 课程设计 0基于 JSP 的订餐网站实现 .01.概述 21.1 主要思想 21.2 主要内容 .21.3 主要目的 .31.4 开发环境 .31.5 运行环境 .32.需求分析 .42.1 可行性分析 .42.2 业务需求分析 .42.3 用户需求分析 .52.4 功能需求分析 .52.4 业务流程分析 .53.总体设计 .73.1 流程图 .73.2 功能模块图 103.3 注意事项 114.详细设计 .124.1 网
2、站首页 .124.2 用户注册 .174.3 餐品详情 .194.4 管理员及后台 .224.5 网站所需要的 bean 类 .314.6 链接数据库部分代码 .385.主要技术 .41Java 课程设计报告25.1 JSP 技术 .415.2 Microsoft SQL Server 2005415.3 连接数据库与 JavaScript426.总结 .427.参考文献 .438.数据库表 .44附录 .461.概述 1.1 主要思想随着网络的迅速发展, ,Internet 的应用使用范围越来越广泛。人类社会的发展与知识的传递有着一种必然的联系,教育是人类传递知识的最直接最有效的方式。在 2
3、1 世纪这个信息高度发达,并且高速流通的时代,计算机的普及以及计算机网络技术的应用,让大量普通人能够有机会接触到比以往更多的知识。在这个日新月异的时代,不会使用网络与他人沟通,就意味着落后,被社会淘汰。同时随着身边的各种外卖的兴起,因此我们决定运用所学的Java、jsp、JDBC 等知识的结合建立一个订餐精品网站。1.2 主要内容本次课程设计是运用 JSP 和数据的相结合,建立一个以网上订餐雏形的商业网站。这个网上购物系统所需要的功能从用户角度进行划分,可以分为前台用户功能和后台管理功能。用户功能主要提供给购物的用户使用,包括用户的注册、登录,购物车,查看订单等;后台管理功能主要提供给系统的管
4、理人员使用,包括对用户、餐品、订单的管理。用户注册后,登陆网站的用户可以在线查看、订购产品,并可在论坛中与其他用户进行交流及提出意见等。这些部分用 JSP 设计页面及连接,使用数据库来建立相关的表,以便于对其进行查看、修改或删除。在网站设计中,管理员完成对网站的维护与管理的工作。使用数据库中权限的功能对管理员设置权限,管理员可以对餐品信息进行新增,修改及删除,也可以对订单信息进行处理,同时管理员也可以对用户信息进行管理Java 课程设计报告31.3 主要目的本次课程设计通过对 JSP 电子商务网站的设计与实现的研究,检查我们所学习的 JSP、JDBC 等在知识理解、在实际运用的熟练度的不足。1
5、. 帮助我们加深对 JSP 的理解,我们在课堂上学的都是基础理论知识,对于如何用程序语言来描述所学知识还是有一定难度。通过课程设计,我们可以真正理解其内涵。 2. 锻炼我们的逻辑思维,程序设计能直接有效地训练我们的创新思维、培养分析问题、解决问题能力。即使是一个简单的程序,依然需要我们有条不理的构思。 3.培养我们严谨认真的学习态度,在程序设计过程里,当我们输入程序代码的时候,如果不够认真或细心,那么可能就导致语法错误,从而无法得出运行结果。那么,这个我们反复调试,反复修改的过程,其实也是对我们认真严谨治学的一个锻炼。1.4 开发环境工具:NetBeans IDE 8.0.1数据库:SQL s
6、erver 2005Web 应用服务器: Glassfish 4.11.5 运行环境硬件:处理器: 400MHz 以上内 存: 128M 以上显 卡: 8Mb 以上硬盘空间:4GB 以上软件:window 系统 NetBeans IDE 8.0.1,SQL server 2005,JavaIE 浏览器、360 浏览器等Java 课程设计报告42.需求分析商务系统随着中国经济的高速发展发生了巨大的变化。专做营销的中小型企业随着百姓个人消费水平的增长迅速成长起来,但同时也带来了这一行业激烈的竞争。2.1 可行性分析可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发
7、从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下四个方面进行研究:技术可行性、经济可行性、操作可行性和调度可行性。(1)技术可行性因为计算机硬件的发展已经越来越快,现在计算机的性能已经可以胜任普通网站的 web 服务器。购买一台计算机作为订餐网站对于我们来说并不是问题。JSP 是 Java 在 Internet/Intranet Web 上的重要应用技术,可以和各种Java 技术完好的结合在一起从而实现非常复杂的应用。因此得到了广泛的支持和承认,成为一种非常流行的网站开发技术。利用
8、 JSP 技术可以建立先进、安全和跨平台的动态网站。鉴于 JSP 技术的成熟与广泛的使用,加以指导老师的帮助可以得到很多的技术支持。由于在学习数据库时一直以 SQL Server 作为例子,所以采用 Microsoft SQL Server2005 作为数据库的后台。(2)经济可行性对于我们来说这经济的可行性没有问题的。(3)操作可行性如今,计算机与网络已经非常地普及。特别是在企业信息化高需求与快速发展的时代,计算机应用已经成为企业员工必备的技能。由于这个课题是以 PC机作为服务器的网站,营销商可以自己对网站进行操作和管理。2.2 业务需求分析网站的制作已经不单单是把企业想要表达的内容摆放在网
9、站上那么简单,当今的网站设计包含了更多的设计元素,给予浏览者更多的视觉享受。现在企业营销商需要用一些更新颖更有效的方式增强竞争力。建设一个宣传自身餐品Java 课程设计报告5形象的电子商务营销模式的网站是一种有效的方法。另外,通过电子商务网站,广阔自己的营销方式和市场,能够帮助企业营销商从鱼龙混杂的市场中脱颖而出,完善企业销售与服务的环节,最终提升企业的价值与经济效益。2.3 用户需求分析这个网站以上面的业务需求为基础,进一步提出网站需要完成的以下任务:网站需要让供应商、客户以及浏览者能看到商城的信息及动态,另一个重要的内容就是能够显示出该商城现有的各类型餐品及其详细信息;由于消费者的需求在增
10、长和变化,商城在面对面销售的基础上也要随之发展出相应的服务,如在线订购等技术。另外,企业营销商除了能与普通客户一样浏览网站之外,还需要对网站进行管理。企业需要定期更新现有餐品的详细信息和商城动态,必要时还要对企业的介绍做更改。对于消费者通过网站提交的各种订单能够进行处理以方便销售。2.4 功能需求分析根据上面的需求分析,需要设计出网站的前台与后台。用户在前台所浏览的内容,网站的后台需要能相应的做出更新或修改。根据以上的想法,设计出网站的功能:前台用户相关功能主要包括:1) 用户注册、登录;2) 餐品展示3) 购物车;4) 订单查询;5) 订单删除;后台管理相关功能主要包括:1) 添加餐品;2)
11、 处理订单;3) 查询用户信息;4) 删除餐品;5) 浏览管理员信息6) 浏览餐品信息将以上这些功能制作成网页以后,在其中分别互相建立连接,基本完成商城及用户对网站的要求。2.4 业务流程分析将上面的需求分析进行归纳。得出网站的两个业务主角,即用户与管理员。Java 课程设计报告6然后制定他们的相关活动。对应网站的功能可以确定,用户活动对应网站前台业务流程;管理员活动对应网站的后台业务流程。在对业务流程分析中,尽量把业务主角的活动考虑全面,使系统的功能尽量完整。2.4.1 前台业务流程分析前台业务主要面向客户。用户可以浏览网站主页、餐品的介绍和一些服务信息。前台流程如图 2.4.1 所示。客户
12、餐品信息浏览购物车修改资料查看订单订单留言板浏览餐品清单 订购提交添加留言提交修改 提交资料存档留言订单存档存档图 2.4.1 前台业务流程图2.4.2 后台业务流程分析在网站设计中,管理员完成对网站的维护与管理的工作。使用数据库中权限的功能对管理员设置权限,管理员可以对商品及商品分类的信息进行新增,修改及删除,也可以对订单信息进行查看、撤销、发货、完成等处理,同时管理员也可以对用户信息进行管理。后台流程图如图 2.4.2 所示Java 课程设计报告7管理员维护网站网站信息提交查看信息存档添删餐品餐品信息提交查看信息存档查看订单受理订单查看订单提交订单存档图 2.4.2 后台业务流程图3.总体
13、设计设计采用现在比较流行的 JSP 网站开发技术,并考虑到网站所处理的数据的结构特点及所学到的知识,应用 Microsoft SQL Server2005 数据库系统作为网站的后台数据库。系统实现了网站的基本功能,包括客户的注册登录、浏览网站信息、信息查询、购物并填写订单以及管理员对于网站的维护与更新。结合这次设计的意义对 Internet 在商业中的应用与发展做一下介绍;然后针对整个系统进行分析,其中包括可行性分析、需求分析、系统的业务流程分析、数据分析等;在此基础上确定网站的功能目标,将网站的功能逐次划分,并细分出子功能模块;接下来设计并实现各个模块,在每个模块都能完成其功能的结果下将其综
14、合成一个完整的系统。3.1 流程图3.1.1 前台购物流程图如图 3.1.1 所示Java 课程设计报告8浏览餐品选择餐品订购餐品去购物车去结算提交订单未注册用户已登录注册用户未登录注册用户注册登录图 3.1.1 前台购物流程图用户在前台可以浏览餐品,看到自己喜欢的餐品可以选择餐品,然后订购餐品,这时需要进行判断,如果是没有注册的用户,那么要先到注册页面注册,如果是注册了没有登录的用户,则跳转到登录页面,已经登录的用户则跳转到购物车页面,然后去结帐,然后提交订单。3.1.2 用户登录流程图如图 3.1.2 所示图 3.1.2 用户登录流程图用户登录,首先要有一个提供用户登录的表单。用户登录的表
15、单应该嵌入整体的结构当中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以Java 课程设计报告9用户的基本信息。首先,用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名。同时对密码也要求保密,将密码加密后再存入数据库。另外,一个电子商务网站。用户的真实姓名是必不可少的。除此之外还需要用户的性别、E-MAIL 、电话号码等。3.1.3 餐品管理流程如图 3.1.3 所示图 3.1.3 餐品管理流程图在该功能里管理员可以进行不需要的餐品的删除,在这里管理员当然也可以浏览到餐
16、品的详细信息。并且比普通用户在浏览餐品界面里所看到的餐品信息多一个该餐品在数据库中的 ID。3.1.4 购物车流程如图 3.1.4 所示Java 课程设计报告10购物车调整餐品返回查询餐品修改删除满意否图 3.1.4 购物车流程图购物车具体的实现可采用这种形式:定义一个购物车的类(Class)。1.列出餐品的列表,使用户能够自由选择所需要的餐品。2.当用户在点击“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册这 Session 变量;在有用户购物车类存在的情况下,检查该类中是否有该餐品。如存在,则餐品数量相应加 1;如没有该餐品,则将该餐品添加到该类中
17、。 3.2 功能模块图3.2.1 前台功能模块图如图 3.2.1 所示Java 课程设计报告11图 3.2.1 前台功能模块图3.2.2 后台功能模块图如图 3.2.2 所示图 3.2.2 后台功能模块图3.3 注意事项Java 课程设计报告12由于我们能力有限,如遇到疑问或者不解的地方,请给于我们指出或者建议,我们表示感谢并修改不足之处。4.详细设计4.1 网站首页界面截图:源代码如下:intPageCount) intPage = intPageCount; List foodsList = new ArrayList();% 餐品展示 Java 课程设计报告140) /将记录指针定位到待
18、显示页的第一条记录上 sqlRst.absolute(intPage-1) * intPageSize + 1); /显示数据 i = 0; while(i$currentFood.foodName现价:人民币$currentFood.foodPrice元$currentFood.remark!Java 课程设计报告16编号: $currentFood.foodID第页共页“下一页1)%“上一页 Java 课程设计报告174.2 用户注册界面截图:源代码:用户注册 Java 课程设计报告18用户注册用户名:密码:4.3 餐品详情界面截图:Java 课程设计报告20源代码:$foodToAdd.
19、foodNameJava 课程设计报告21网上订餐-餐品详情$foodToAdd.foodName原价:人民币 0 元现价:人民币$foodToAdd.foodPrice元Java 课程设计报告22$foodToAdd.remark编号: $foodToAdd.foodID详细资料$foodToAdd.description4.4 管理员及后台4.4.1 后台首页Java 课程设计报告23界面截图:源代码:欢迎您来到易淘食后台管理,祝您心情愉快!Java 课程设计报告24餐品添加:源代码:添加餐品 Java 课程设计报告25添加餐品餐品号Java 课程设计报告26餐品名餐品评价餐品价格餐品描述图片信息Java 课程设计报告27Adminfoodsform.JspintPageCount) intPage = intPageCount; % 餐品浏览 餐品号:Java 课程设计报告29餐名:餐品信息表0) /将记录指针定位到待显示页的第一条记录上 sqlRst.absolute(intPage-1) * intPageSize + 1); /显示数据 i = 0; while(i餐品编号餐品名字餐品评论