网上订餐系统-毕业设计_第1页
网上订餐系统-毕业设计_第2页
网上订餐系统-毕业设计_第3页
网上订餐系统-毕业设计_第4页
网上订餐系统-毕业设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE14毕业设计网上订餐系统系别:计算机系班级:姓名:学号:网上订餐系统系统概述本系统在开发设计中,采用B/S(Browser/Server)结构,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,用户不用安装客户端,而且由于通过服务器端统一管理数据,易于保证数据的一致性。数据库方面,推荐业界具有领导地位的关系数据库管理系统MicrosoftSQLsever2021,使系统安全性能更高。同时采用当前正在流行的JSP(JavaServerPages)编程,用户界面更友好。在开发中选择了JSP+JavaBean+SQL2021的模式,实现了应用程序逻辑和页面显示分离,界面设计更简单。JavaBean可重用的软件组件满足小型应用,同时使编程人员投入量精力便可重用组件,在简单的应用中可以充分考虑二.需求分析网上订餐管理系统无论是在应用的深度还是广度都是一个逐步发展的过程。在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。进货订单管理系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。2.1性能需求分析该系统在性能功能上应达到如下需求:◆操作简单、界面友好:完全控件式的页面布局,使得菜品,资讯,座位等信息的录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;◆即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;◆系统运行应该快速、稳定、高效和可靠;◆在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。2.2产品质量需求分析主要质量属性详细要求正确性按照需求正确执行任务,完成各个模块的相应要求。健壮性具有较高的容错能力和恢复能力。可靠性故障发生率每运行1000小时低于3次性能,效率软件的输出结果更新周期应该与系统的信息更新周期相同。在网络情况良好的情况下,3秒内可响应用户请求。易用性易理解性:软件研制过程中形成的所有文档语言简练、前后一致、易于理解以及语句无歧义。安全性防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性其数据应能集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也不应进行什么数据同步.可扩展性能方便的进行二次开发,满足对功能的扩充或提高并能提高相应的安全控制。兼容性不易与其他软件起冲突。可移植性可方便移植到其他系统环境中正常运行。…2.3可行性分析随着经济的快速发展,B2C电子商务越来越受到人们的关注。网上订餐类网站,已经如雨后春笋般的出现在了个大城市。特别在公司,企业内部,团体订餐已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。而当代大学生,白领工作人士作为社会中的重要群体,他们对饮食的要求都在不断提高,饮食在他们生活中起着重要作用。因此,面向大学生和都市白领人士的网络订餐网站的设计有着良好的现实意义。2.4总体设计原则开放性、可扩充性、可靠性原则开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。从而适应广大用户需求的多变性和产品的更新换代。2、良好的用户操作界面用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。3、实用性原则任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。4、工作平台设计原则能适应不同的操作平台,不同的网络。总体设计3.1系统流程分析3.1.1业务流程分析1、浏览与选择餐饮信息:顾客进入网站即刻自动提供购物车,不需身份确认就可以在网站上随意浏览,登录系统后则可挑选餐饮(可增加、删除、修改购物车上餐饮的类型),网站提供餐饮信息列表,最先添加的餐饮信息优先列表给顾客作为选购时的参考;2、判断:顾客确定所购餐饮信息后,系统将判断该顾客是否注册,如果是,则可直接填写订单;否则,提示顾客登记注册;3、提交订单:已选购的餐饮信息需填写订单细节。4、注册:顾客可在公司的网站上注册后提交申请;5、确认:后台管理将实时得到顾客的注册信息,通过及其他方式确认,当确认后,系统管理员可对该顾客提交的预定信息进行审核。6、送货与付款:网上的每一份订单都将实时存入后台数据库,后台操作人员通过及其他方式确认,确认后将及时实施审核该订单:向顾客送货,货到付款,完成网上交易。顾客顾客登录系统浏览菜品资讯获得购物车浏览餐饮信息选择餐饮信息管理员审核Y交易结束N3.1该系统数据流程比较简单,管理员可以添加餐厅信息(包括餐桌,包房等),餐饮信息(包括菜品名等信息),资讯信息等,然而这些信息顾客是可以浏览的,但是顾客没有权限对这些信息进行修改,这些信息对于顾客而言是单向的。对于预定信息,管理员可以查看及审核预定信息,顾客可以增删改预定信息,并将预定信息提交给管理员等待审核,因此预定信息对于顾客和管理员而言都是双向的。数据流图数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。系统的数据流图如下所示:系统DFD图3.2系统数据库设计3.2.1数据库E-R图UUsers(用户表)用户名密码权限orders(订单表)订餐人时间备注应收款地址发布Seat(订座表)人数订餐人发布Shop(订单菜单表)菜名数量单价所属st(订座菜单表)类别名图片单价菜名数量单价菜名点菜category(类别表)Food(菜单表)3.2.2数据库表设计系统关键数据表如下:其关系见E-R图1.用户表(users):用户登录是需要用户名和密码,所以用户数据表中必须包含用户名(uname)、密码(upass)两个信息,还有些其他的用户信息,比如power指的是用户权限(管理员还是非管理员)。从功能上数据库表设计如表3.1。表3.1用户表列名数据类型长度uidint4unamevarchar50upassvarchar50powerint42.菜品信息表(food):菜品信息表主要描述菜品信息,如:菜品ID号(foodid),此ID号为系统自动生成;菜品名称(fname);菜品价格(price);所属分类ID(categoryId);图片信息(images)。商品信息表详细描述如表3.2表3.2菜品信息表列名数据类型长度foodIdint4pricemoney8categoryIdint4imagesvarchar503.订座菜单表(st):客户订餐的一些相关信息,如stId指的订餐ID号,此ID和是系统自动生成的;菜品名称(fname);订购数量(num);价格(price);座位编号(seatId)等,具体描述表3.3表3.3供应商表列名数据类型长度stIdint4fnamevarchar50numint4pricemoney8seatIdint4fIdint44.订单表(orders):订单表有一下描述信息。订单ID(ordersId),订购人姓名(name),地址(address),联系(tel),价格(price),备注信息(context)等,具体描述如表3.4所示:表3.4订单表列名数据类型长度ordersIdint4namevarchar50addressvarchar50telvarchar50pricenumeric9uidint4contexttext165.订单菜单表(Shop)具体描述如表3.5所示:表3.5订单菜单表列名数据类型长度fIdint4fnamevarchar50numint4priceMoney8uidint4sidint46.订座表(Seat)具体描述如表3.6所示:表3.6订座表列名数据类型长度seatIdint4uidint50telvarchar50riqivarchar50numint4namevarchar4xiaoshivarchar503.3系统结构设计网上订餐系统的模型结构如下图所示:客户端客户端浏览器客户端浏览器客户端浏览器Web层业务层数据访问层系统配置数据库从前面的需求分析中得知,可以将功能分为前台和后台两类,因此模块也分为两大类:前台模块和后台模块。下图为系统模块总图:网上订餐管理系统网上订餐管理系统前台模块后台模块注册登录菜品查询订单查询用户权限管理菜品管理订餐管理订座管理用户订餐用户订座用户管理系统模块总图3.4核心算法实现——分页显示算法int

i;一页显示的记录数

=

10;取得待显示页码PageSet:strPage

=

page;if(strPage==null)//page参数为空时,此时显示第一页数据

{待显示页码

=

1;}else{

待显示页码

=

Integer.parseInt(strPage);//将字符串转换成整型

if(待显示页码<1)

待显示页码

=

1;}执行SQL语句并获取结果集ResultSetrs

=

sqlStmt.executeQuery("SQL”);

获取记录总数

rs.last();

记录总数

=

rs.getRow();记算总页数总页数

=

(记录总数+设置一页显示的记录数-1)

/

一页显示的记录数;调整待显示的页码if(待显示页码>总页数)

待显示页码

=

总页数;

//

分页情况分类

//选择向上翻if(待显示页码>1){选择向上翻一页传递参数pageda=待显示页码-1gotoPageSet;}//选择向下翻if(待显示页码<总页数)

{选择向下翻一页传递参数pageda=待显示页码+1gotoPageSet;

}If(选择到尾页){选择到尾页传递参数pageda=总页数gotoPageSet;}页次=待显示页码/总页数页

;

if(总页数>0){将记录指针定位到结果集的第一条记录上((待显示页码-1)

*

一页显示的记录数

+

1);i

=

0;while(i<一页显示的记录数

&&

数据库指针不在结果集尾部){输出要分页显示的数据库中的内容;将数据库指针移动到当前行的下一行;i++;}}3.5数据库编程基础及语法Java数据库连接(JDBC)是一个标准SQL(StructuredQueryLanguage,结构化查询语言)数据库访问接口,可以为多种关系数据库提供统一访问。JDBC(JavaDataBaseConnection,Java数据库连接)也提供一种基准,据此可以构建更高级的工具和接口。目前的JDK(JavaDevelopmentKit,Java开发工具包)软件捆绑包括JDBC和JDBC-ODBC(OpenDataBaseConnection,开放式数据库连接)桥。你可以从/products/JDK/CurrentRelease找到最新版。安装驱动程序。装载驱动程序只需要非常简单的一行代码。例如,你想要使用JDBC-ODBC桥驱动程序,可以用下列代码装载它:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");如果是JDBCDriver装载:Class.forName("jdbc.driver_class_name");各种数据库驱动见附录。建立连接

第二步就是用适当的驱动程序类与DBMS建立一个连接。下列代码是一般的做法:Connectioncon=DriverManager.getConnection(url,"myLogin","myPassword");这个步骤也非常简单,最难的是怎么提供url。如果你正在使用JDBC-ODBC桥,JDBCURL将以jdbc:odbc开始:余下URL通常是你的数据源名字或数据库系统。因此,假设你正在使用ODBC存取一个叫"webmail"的ODBC数据源,你的JDBCURL是jdbc:odbc:webmail。把"sa"及空格替换为你登陆DBMS的用户名及口令。如果你登陆数据库系统的用户名为"webmail"口令为空,只需下面的2行代码就可以建立一个连接:Stringurl="jdbc:odbc:webmail";

Connectioncon=DriverManager.getConnection(url,"webmail","");如果你使用的是第三方开发了的JDBC驱动程序,文档将告诉你该使用什么subprotocol,就是在JDBCURL中放在jdbc后面的部分。例如,如果驱动程序开发者注册了acme作为subprotocol,JDBCURL的第一和第二部分将是jdbc:acme。驱动程序文档也会告诉你余下JDBCURL的格式。JDBCURL最后一部分提供了定位数据库的信息。如果配置了连接池则要使用下面几行代码就可以建立一个连接:Contextctx;DataSourceds;ctx=newInitialContext();ds=(DataSource)ctx.lookup("java:comp/env/jdbc/webmail");connection接口是JSP数据库编程使用多的接口之一,在connection接口中经常使用到一个方法close();要注意在连接用完后必须关闭,否则连接会继续保持,直到超时。创建JDBCStatements对象

Statement对象用于把SQL语句发送到数据库。你只须简单地创建一个Statement对象并且然后执行它,使用适当的方法执行你发送的SQL语句。对SELECT语句来说,可以使用executeQuery。要创建或修改表的语句,使用的方法是executeUpdate。

需要一个活跃的连接的来创建Statement对象的实例。在下面的例子中,使用的Connection对象con创建Statement对象stmt:

Statementstmt=con.createStatement(intresultSetType,intresultSetConcurrency);ResultSetrs=Stmt.executeUpdate(SQL);SQL为数据库查询语句Con.createStatement()方法包含两参数:resultSetType和resultSetConcurrency1.resultSetType参数:用来设定ResultSet对象中的光标是否能够上下自由移动,它的值只能有3种,TYPE_FORWARD_ONLY、TYPE_SCROLL_SENSITIVE或TYPE_SCROLL_INSENSITEVE。若设为第一种,表示ResultSet对象中的光标能够随心所欲的上下移动,不过他们两者最大的差别在于:当ResultSet对象中的值有变时,TYPE_SCROLL_SENSITIVE能够取得改变后的值,而TYPE_SCROLL_INSENSITIVE不能。2.resultSetConcurrency参数:主要设定ResultSet对象是只读(read-only)还是可以改变的(updatable),他的值有两种,CONCUR_READ_ONLY和CONCUR_UPDATABLE。若设为CONCUR_READ_ONLY,则ResultSet对象和JDBC1.0的功能一样;若为CONCUR_UPDATABLE,那么表示ResultSet对象可以直接执行数据库的新增、修改和移除功能。在statement执行SQL语句是,有时会返回ResultSet结果集。该结果集往往包含的是查询的记录集。通过ResultSet.next()方法把当前的指针向下移动一位,随着每次调用next导致指针向下移动,按照从上到下的次序获取ResultSe行。Java.sql.ResultSet提供了检索不同的类型字段,其常用的的方法如下:getString():获得数据库里的varchar、char数据类型。getFloat():获得数据库里的Float数据类型。getDouble():获得数据库里的DoublePrecision数据类型。getBoolean():获得数据库里Boolean数据类型。getObject():该方法用于在SQL中无对应类型,可以获得系列化对象。getClob():获得数据库里的Clob(字符串大型对象)数据类型的对象。getBolb():获得数据库里的Blob(二进制大型对象)数据类型的对象。3.6本系统中的连接方式在本TOMCAT中配置了连接池,连接程序用JavaBean方法封装,放在WEB-INF\classse目录下。importjava.sql.*;importjavax.sql.*;importjavax.naming.*;publicclassDb{publicConnectioncon;publicStatementstmt;publicResultSetrs;publicPreparedStatementpstmt;publicstaticinterror=0;publicstaticsynchronizedConnectiongetCon()throwsException{Contextctx;DataSourceds;try{ctx=newInitialContext();ds=(DataSource)ctx.lookup("java:comp/env/jdbc/webmail");System.Err.println();System.err.println("数据连接+"+(++error));returnds.getConnection();}catch(SQLExceptione){System.out.print(e);throwe;}catch(NamingExceptione){System.out.print(e);throwe;}}publicStatementgetStmtread(){try{con=getCon();stmt=con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVEjava.sql.ResultSet.CONCUR_READ_ONLY);}catch(Exceptione){System.out.println("getStmtread");System.out.println(e.getMessage());}returnstmt;}PAGE结论这次实训中,积累了数据库编程和网站开发的基本经验和一些基本技巧。对大型系统开发有了实质性、操作性的认识,同时对运用JSP技术有了很大的提高,对以前学到的书本知识也是个很好的巩固,同时这次设计让我意识到自己的许多的不足,锻炼了自己独立发现问题,思考问题,解决问题的能力,也掌握了一些编程的思想和技巧,使自己的编程能力也有了很大的提高。本文讲述了Java/JSP/Struts在WEB应用的一些基本知识,并通过网上订餐的程序对JSP的运用进行了深化,从本文中可看出JSP与Struts框架结合的模式,在电子商务上应用十分灵活,不过要真正掌握好它们却并不是一件容易的事情,在实际应用的WEB开发中,还有很多关于安全方面的问题需要考虑。在这里要感谢我的同学和张老师,她在我论文及设计的定题以及修改上给予了我很多的支持和帮助,再次感谢。

基于web的网上订餐系统院系:软件学院专业:软件工程组长:闫晓庆小组成员:陈欢、邓钰缎、张文霜指导老师:赵磊基于web的网上订餐系统 1第一章概述 41.1网上订餐系统的发展 41.2网上订餐的现状 51.3网上订餐系统的构建 62.1技术需求 62.1.1JavaServerPage简介 62.1.2Struts+Hibernate+Spring模式简 72.1.3开发环境简介 72.2网上订餐系统的概要设计 92.3系统特点: 102.3.1即时点菜 102.3.2无需布线 102.3.3.操作简单 10第三章系统数据库设计 113.1MYSQL简介 11第四章网上订餐系统设计 124.1数据连接 124.1.1建立数据库连接 124.1.2安全策略 134.2系统模块的设计与实现 134.2.1数据连接 134.2.2各板块程序说明 13第五章网上订餐系统疑难分析 155.1系统开发的问题及解决办法 155.2系统的测试与发布 16第六章结论 17摘要网上订餐系统使用户实现网络交易的一种方式.他通过互联网提供一种渠道,就可以使用不出门就可以方便的订餐。大量的关于网上订餐系统比比皆是,而针对性强,操作简捷的系统则比较少。本系统是针对二十一世纪高速发展的经济需求、人们日益加快的生活节奏及为迎合饮食行业越来越便捷的服务趋势而设计的。它针对那些具备计算机管理工作条件的酒店助其快速开发一个界面友好、交互方便的网上订餐系统,以拓展酒店的服务对象,增加信息流通量,减少人工干预,提高信息反馈速度及数据管理能力,它能够实现普通用户可以通过互联网订餐,酒店用户管理者通过网络对顾客的订餐进行管理如:回复、确认、下单等。其后台应用tomcat6.0+sqlsever的服务器平台,前台应用html语言、jsp开发语言。国内外对此课题的研究比较多,也提出了许多的研究理论和实践知识,在网上订餐的实现方面,研究的较多。而且普通用户较多。如会员客户可以实现浏览器/服务器模式的交互功能。而对于我个人来说,我认为不仅要有B/S模式,而且普通用户也可以订餐,酒店管理者可以通过网络对顾客的订餐进行确认、恢复和管理,网上购物的优势在于选择面大、价格便宜、交易方便、节省时间和精力等。整个菜品市场一片繁荣。在中国,网上购物有发展的必要,也有发展的基础,发展网上购物的各方面条件也日趋成熟。本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自己喜欢的菜品,改变传统商业交易,在互联网上进行交易,实现网上购买菜品,提高酒店良好的社会效益和经济效益。关键字:网上订餐系统;数据库;Internet;jsp;javaBean;MYSQL;第一章概述1.1网上订餐系统的发展近年来,随着因特网的迅速发崛起,互联网已日已成为收集提供信息的最佳渠道,并逐步传统的流通领域,于是电子商务开始流行起来,越来越多的餐饮企业者在网上建自己的门户网站,向消费者展示出一种新颖的酒店网上订餐理念,网上订餐系统作为一个基于浏览器/服务器模式的系统,在餐饮业中起着举足轻重的作用。本玩宗旨在讨论如何建设B/S的网上订餐系统,网上订餐系统是一组具有交互功能的商业信息系统,他想用户提供静态和动态两类信息资源。所谓静态信息是指那些不经常变动和更新的资源,动态信息是指随时变化的信息。网上订餐系统具有强大的交互功能,可是酒店和顾客方便的传递信息,完成电子贸易交易。这种全新的交易方式实现了酒店管理者与客户的无纸化交换。1.2网上订餐的现状在我国一些信息化程度较高的城市地区,网上订餐发展速度迅猛,比如商务型的华天酒店、总部设在上海的和美如家酒店,都有自己的门户网站,并且具有网上订餐功能。调查表明:一些大型的客户订餐已越来越习惯网上预订。因特网在各类新闻媒体上已成为近几年来世界范围的技术热点话题,事实上,今天因特网已经不单独属于世界上任何一个国家、地区、财团或个人,因特网正朝着全球信息基础设施方向发展前进,他拥有巨大的世界行的丰富的信息资源,他是未来信息高速公路上的一个雏形,是一件未完成的杰作,它即存在着无数的机会,页面对着无数的挑战,随着因特网的迅速全球化、商业化、家庭化进程,他很有可能改变我们的社会,改变我们的生活,是人们的思维意识发生重要的变化,从而对世界产生巨大的影响。因特网出现以前,酒店传统的订餐方式通常为预定。世界各地的客人选择了旅游目的地之后,很难了解当地旅游酒店的状况,如当地酒店的数量,、规模、星级、服务水平、预定情况等,这就给预定工作带来了很大的麻烦,即使是规模较大的旅行社获得上述信息的途径也非常有限,书籍广告成为信息的主要载体。而书籍广告作为信息载体尤其不可避免的局限性。首先,信息的表现形式过于单一。一些陈旧的图片和过于枯草的文字又能使我们对酒店有多少了解呢?其次,信息的更新速度跟不上。任何一家酒店都是在不断发展的,其硬件设施及服务水平都在不断的推陈出新,以确保酒店能更好的为人服务。例如,一家四星级酒店由于其自身的发展一杯旅游部门通过星级评定为五星级酒店,或是一家已接待散客为主的酒店,由于一些原因改变为一家接待商务团体客为主的酒店,他们的服务水平及服务对象都发生了较大变化,吐过不把这些信息及时通知客人,让客人更好的了解本酒店的变化,客人又怎能去选择自己心目中的酒店呢?我们当人不能忽视酒店管理集团的作用,但其服务是针对本集团中的连锁酒店的,因特网的出现使人与人之间的距离变得越来越小,人们更多的想利用因特网实现网上订房,更精确的说是通过万维网(www)。www是一个信息检索服务程序,是第一个真正的全球性超媒体网络。在www上的超媒体信息形式多种多样,不仅有文本,还有图形、声音、动画等。这就为酒店的宣传工作提供了有利条件。例如,酒店可把大量的信息把大量的信息放到自己的网站上,如历史信息、服务信息酒店的获奖情况等做成超链接供客人查阅。还可以用数码相机或摄像机把酒店的硬件设施和服务人员的服务过程“记录”下来,给客人一种身临其境的感觉。因特网与传统媒体之间最大的区别之一就在于他不是静止的,信息更新的实现是其最大的特点。例如,旅游旺季本酒店有什么特色的服务,淡季房价的打折情况,又增加了那些特色菜肴。世界各地的客人只要有一台联入因特网的电脑就可以在第一时间获得以上信息,不仅为酒店争取到了客人,也为客人的预定提供了可供参考的资料。中国发展网上订餐具有良好的基础,网上订餐趋势日益被大家接受。1.3网上订餐系统的构建现在流行网上订餐系统不仅要有漂亮的网页,更要有严谨的规划。每一个细小的环节都很重要。这样才能使得电子交易时避免不必要错误发生,我们将使用html、jsp等技术来编制网页,并运用jsp技术把数据库和动态网页相关联。传统的管理信息系统信息获取方式是由专业文字录入人员将信息输入到管理系统的数据库系统中,这种方法在数据量不大时有很多应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应的上升。本文在实际应用开发中解决方案是建立网站,以及自己的数据库,使得所需商品信息可以及时保存、更新。可以更好的及时了解订餐情况。2.1技术需求2.1.1JavaServerPage简介JavaServerPages(JSP)是服务器端的脚本编写环境,使用它可以创建和运行动态、交互的WEB服务器应用程序。JSP可以直接嵌入在HTML页面中,用标记<%和%>与其他内容相区别。JSP的工作工程如下:当用户浏览页面时,客户浏览器发出请求;当WEB服务器发现请求的页面是JSP页面时,就逐行解释执行JSP脚本和HTML页面内容;动态生成纯HTML页面作为响应发给客户端浏览器。2.1.2Struts+Hibernate+Spring模式简介Struts是采用Java

Servlet/JavaServer

Pages技术,开发Web应用程序的开放源码的framework。

采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。

Struts有如下的主要功能:包含一个controller

servlet,能将用户的请求发送到相应的Action对象;JSP自由tag库,并且在controller

servlet中提供关联支持,帮助开发员创建交互式表单应用;

提供了一系列实用对象:XML处理、通过Java

reflection

APIs自动处理JavaBeans属性、国际化的提示和消息。

Spring是一个应用级框架,提供了IoC服务,可以整合不同的外部应用,同时,Spring的AOP提供了很好的面向方面编程,例如,对事务的处理等。并且,Spring推荐programmingtointerface方式,所有的IoC服务尽量要求使用面向接口设计。spring对各种服务提供强有力的支持。它可以用在很多方面,可以提高代码质量,提高对象的独立性。对编码和项目以后的扩展hibernate的作用简单的说就是在数据库的外面包了一件面向对象的外衣,传统的数据库操作都是面向过程的如insertdeleteupdate等操作,而在hibernate中这些操作都被封装到了对象中,使原本面向过程的数据库操作变成面向对象编程,从而使j2ee的开发一气呵成,不会到数据库操作时又改为面向过程的不便。所谓数据持久化就是使数据能够永久保存,这个概念就像计算机的内存和硬盘。持久化就是要把内存中的数据保存到硬盘上,即使计算机掉电也不会丢失。这只是持久化达到的一个目的,先前的作法是把这些数据保存到文件中(例如用流写到*.txt中)而现在流行的做法是保存到数据库中,这样便于管理,所以本系统的开发将采用Struts+Hibernate+Spring模式。2.1.3开发环境简介Eclipse平台是IBM向开发源码社区捐赠的开发框架,一个成熟的、精心设计的以及可扩展的体系结构。Eclipse是一个开放源码的、可扩展的应用开发平台,该平台为编程人员提供了一流的Java集成开发环境。作为一套开源工具,可用于构建WebServices、J2EE等各种类型的应用,其所提供的功能不亚于、甚至要超过专业的集成环境供应商所提供的商业化产品,如JBuider。它最有魅力的地方就在于它的插件体系结构。在这个体系中重要的概念是扩展点(extensionpoints),也就是为插件提供的接口。每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。

由于有了插件,Eclipse系统的核心部分在启动的时候要完成的工作十分简单:启动平台的基础部分和查找系统的插件。在Eclipse中实现的绝大部分功能是由相应的插件完成的,比如WrokBenchUI插件完成界面的外观显示,ResourceManagement插件完成维护或生成项目或文件等资源管理工作,而VersionandConfigurationManagement(VCM)插件则负责完成版本控制功能,等等。虽然以上提到的每一个功能都是绝大多数IDE环境所必备的功能,Eclipse却把它们都做成了插件模式,甚至用来开发Java程序的开发环境(Javadevelopmenttooling,JDT),也只不过是Eclipse系统中的一个普通插件而已。整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加插件。

Eclipse与其他IDE稍有不同,因为它引入了一个新的对用户界面进行抽象的层次:视角(perspective)。这个概念会贯穿Eclipse的各种丰富特性:它删除了与手头任务无关的选项,从而让您可以集中注意力于要做的事情。

为了方便说明,需要再介绍一些Eclipse术语。Eclipse开发环境(即Eclipse主窗口内的全部内容)称为工作台(workbench)。在这个主窗口中,有各种各样的面板,称为视图(View),视图中可显示控制台的输出、项目的概要信息等等。多个视图常常堆叠成记事簿的形式,可通过标签页来选择。除了视图之外,工作台中还有一个特殊的面板,称为编辑器(editor),这个地方可以编辑各种不同类型的文档,如源代码等。

Eclipse的开放源代码性质所意味的,并不只是它使得Eclipse免费可用。开放源代码鼓励创新,并激励开发人员(甚至是商业开发人员)为公共开放源代码库贡献代码。为这个项目作贡献的开发人员越多,这个项目就会变得对每个人越宝贵。随着这个项目变得更加有用,更多的开发人员将会使用它,并围绕它形成一个社区,就像那些围绕Apache和Linux形成的社区一样。2.2网上订餐系统的概要设计下图描述了这个应用程序的逻辑体系结构如图一所示:图一本系统主要包括点菜订餐系统、菜名介绍、营养分析、顾客登记、顾客登记反馈、系统管理员的管理、菜名资料管理。本次设计为顾客提供了一个网上点菜订餐的预定方式。当浏览者登陆点菜系统的网站之后,点击【点菜系统】,便进入点菜系统的页面,。该页面包括五部分内容:菜名、价格、预定、顾客登记、返回首页。点击页面上的饭菜的菜名,进入菜名介绍和营养分析页面,作为预定的参考因素之一。点击【我要点菜】,返回,当顾客决定预定,在点菜前必须先登记。点击【顾客登记】选好所有的饭菜之后安【确定】或【返回】按钮之后,系统自定将自动把点菜的菜单报到后台网页,厨房就可以根据顾客的需求准备饭菜或者返回首页更改饭菜。系统流程,如图二所示:图二2.3系统特点:2.3.1即时点菜服务员随时随地地使用智能掌上电脑系统,为顾客点菜、加菜,系统自动将数据传到后台和分布在厨房与前台的打印机上。打印机立刻打印所点的菜单。2.3.2无需布线

系统前台使用无线网络与掌上电脑技术,使前台使用者可以在营业大厅内随意走动,自由的使用系统为顾客服务,无需在大厅中布置任何网络线路,从而避免影响餐厅的整体环境。2.3.3.操作简单前台使用智能的掌上电脑做为客户端,所有的操作都是笔触式和手写输入所以操作非常方便,适宜于任何服务人员使用。第三章系统数据库设计3.1MYSQL简介MySQL是一个广受Linux社区人们喜爱的半商业的数据库。

MySQL是可运行在大多数的Linux平台(i386,Sparc,etc),以及少许非Linux甚至非Unix平台。字段支持大量数据类型是件好事。通常的整数、浮点数、字符串和数字均以多种长度表示,并支持变长的BLOB(Binary

Large

OBject)类型。对整数字段由自动增量选项,日期时间字段也能很好的表示。MySQL与大多数其他数据库系统不同的是提供两个相对不常用的字段类型:ENUM和SET。ENUM是一个枚举类型,非常类适于Pascal

语言的枚举类型,它允许程序员看到类似于'red、'green'、'blue'的字段值,而MySQL只将这些值存储为一个字节。SET也是从

Pascal借用的,它也是一个枚举类型,但一个单独字段一次可存储多个值,这种存储多个枚举值的能力也许不会给你一些印象(并可能威胁第三范式定义),但正确使用SET和CONTAINS关键字可以省去很多表连接,能获得很好的性能提高。(数据库表的设计请自己添加参照《数据库系统概论》)第四章网上订餐系统设计4.1数据连接4.1.1建立数据库连接该程序通过MicrosoftJet来连接和操作数据库,Microsoft可以协助编程人员轻松的处理程序与数据库之间的连接和操作。4.1.2安全策略本系统从3个方法来加强应用系统的安全性1)限制未经登录的访问。当用户从登陆界面登陆,ASP程序进行账号和密码的查后,如果数据符合后则成功登陆,将用户的ID值写入到Cookie对象,对以后的页面都会先检查Cookie对象保存的数据,从而判断用户是否可以浏览页面,已达到安全控制。如果检查失败则会导向登陆界面,要求用户登陆。2)对系统用户进行分类,登陆后分别导入不同的操作界面,以防止越权操纵。3)对于重要的数据操作记录操作人的信息。4.2系统模块的设计与实现4.2.1数据连接本系统通过数据库连接数据库文件conn。JSP实现与数据库的连接,该文件也可以被其他文件所调用,来实现数据库的连接。其代码如下:<%‘定义连接数据库需要的变量dim,conn,connstr,db,rs’初始化连接对象Setconn=Server.CreateObject("ADODB.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(""&db&"")’如果你的服务器采用较老版本Acess驱动,请用下面连接方法‘connstr="driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath(db),打开数据库连接conn.Openconnstr%>4.2.2各板块程序说明下面主要对部分版块设计作说明。1)顾客登记该部分是用于完成客户登陆功能,用户填写用户名与密码后,单击【登陆】按钮,则调用登陆程序进行验证,如果登陆成功,系统自动进入顾客信息资料页面,顾客登记界面如图三图三2)顾客登记反馈该部分是顾客登记后的信息反馈。使用javaScript脚本语言来编写。如图四图四3)顾客订菜系统界面该部分是顾客要选择的菜谱。包括热菜,冷菜,汤类,饭后水果,可供用户选择,如图五。图五第五章网上订餐系统疑难分析5.1系统开发的问题及解决办法本系统对某些板块进行了详细的分析说明。在整个系统中,有几点需要注意。首先,在一个web应用程序中,我们需要对该系统功能进行分析,并将它模块化,这样对于其后的设计及代码编写会会起到良好的作用。在数据库设计中,使用存储过程对数据库进行访问和操作,对于使用数据库的优点已经在系统中有所体现。Web应用程序的安全性也是需要特别注意的,除了用户身份认证,一些页面还需要限制未经登陆的访问。在jsp程序中,要合理使用cookie或session,他们都可以实现跨网页的数据共享,并且具有有效时间。例如,我们可以办登录数据写入到cookie对象,在用户浏览受到管制的网页时,能允许检查cookie对象种保存的数据,从而判断用户是否可以浏览网页,以达到控制用户的目的。5.2系统的测试与发布测试和发布web应用程序,首先得确保安装了web服务器,如Apache、tomcat和IIS。在本例中我们使用tomcat。接下来我们要确保设置好服务器,打开服务器管理程序,选择internet信息服务管理,在默认web站单击。设置完成后,我们可以测试一下服务器是否能够正常运行,新建立一个文件test.jsp,用记事本编辑该文件,内容如下:<html><head><title>测试</title><head><body><%=data()%></body></html>保存文件,并把test.jsp复制到webapp目录下自建的一个文件夹test下,然后在浏览器地址栏中输入http:\localhost:8080\test\test.jsp,如果能正常显示当天日期,则表明服务器运行正常。第六章结论通过本系统的开发与学习,大致了解了网上订餐系统的编码方法,该系统的功能相对比较健全,他适合当今高度信息化潮流对酒店运作提出的新要求。系统的设计具有运行可靠、界面友好,交互方便、数据管理及时准确的优点,具有较高的社会意义和实现价值。如果需要扩大该系统的应用能力,还需要将后台数据库进行转变,转变为SQLServer数据库系统。希望通过本系统的开发,能够达到对软件开发一般流程的一个掌握,能够举一反三,设计出其他的商业应用系统。致谢从十二月份接受课题到现在论文的完成,导师给予了精心的指导和热情的帮助,尤其在课题设计的前期准备阶段,导师提出许多宝贵的设计意见,在最后的修改阶段赵老师在百忙之中抽出时间为我们提供了必要的帮助,这样使得我们得以顺利的完成毕业设计论文工作,在短暂的几个月的相处时间里,谨此向赵老师表示衷心的感谢和崇高的敬意。除此之外,我也感受到了我们这个团体的默契与合作精神。谢谢邓钰缎、陈欢、张文霜同学的鼎力配合。

论大学生写作能力写作能力是对自己所积累的信息进行选择、提取、加工、改造并将之形成为书面文字的能力。积累是写作的基础,积累越厚实,写作就越有基础,文章就能根深叶茂开奇葩。没有积累,胸无点墨,怎么也不会写出作文来的。写作能力是每个大学生必须具备的能力。从目前高校整体情况上看,大学生的写作能力较为欠缺。一、大学生应用文写作能力的定义那么,大学生的写作能力究竟是指什么呢?叶圣陶先生曾经说过,“大学毕业生不一定能写小说诗歌,但是一定要写工作和生活中实用的文章,而且非写得既通顺又扎实不可。”对于大学生的写作能力应包含什么,可能有多种理解,但从叶圣陶先生的谈话中,我认为:大学生写作能力应包括应用写作能力和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论