1、校园网上订餐系统的设计与实现专业班级: 电子商务1303班 学 号: 学生姓名: 李拯宇 指导教师: 张晓 2023 年10 月24日目 录第一章 绪论11.1 课题的背景及意义11.2课题分析11.3技术方案的选取21.3.1 开发语言21.3.2 开发模式选择31.3.3 数据库3第二章 系统概述52.1运营环境52.1.1软件运营环境52.2需求分析52.2.1 性能需求分析52.2.2产品质量需求分析52.2.3 可行性分析62.3 总体设计原则72.4 系统体系结构分析72.4.1 C/S结构与B/S结构72.4.2 B/S与C/S的优越性8第三章程序设计103.1系统流程分析103
2、.2系统数据库设计113.3系统结构设计153.4 核心算法实现分页显示算法16第四章 系统实现重要技术184.1 JavaServer Pages(JSP)技术简介184.2 JSP 和其他类似或相关技术的一个简朴比较194.3 最佳JSP应用服务器Tomcat194.4 javaBean组件技术204.5 JSP中JavaBeans的应用234.5.1 操作指令234.5.2 JavaBeans的Scope属性244.7 Tomcat配置264.7.1 Server.xml文献配置264.8 数据库编程274.8.1数据库编程基础及语法274.8.2 本系统中的连接方式30第五章 测试问题
3、及解决315.1 java汉字解决问题及解决31结 论33结束语34参考文献35第一章 绪论1.1 课题的背景及意义网上订餐就是互联网的进一步应用。用户通过互联网,能足不出户,轻松闲逸地实现自己订购餐饮和食品(涉及饭、菜、盒饭、便当等)的一种网络订餐形式。随着网络订餐平台的不断涌现,校园网上订餐也开始变得火热起来,相比于传统的食堂采购,现如今外卖的出现更使学生的选择多样化。更好地满足了学生的需求,也逐渐受到了学生的欢迎。其该系统使用JSP(Java语言)和SQL Server2023数据库开发, 实现了网上订餐系统的动态管理,使得网上订餐的管理更加及时、高效,提高了工作效率。该管理系统具有一般
4、网上订餐系统的功能,从大的方面来讲重要涉及资讯管理,餐饮管理,预定管理,用户管理等几个大的功能模块。该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于Myeclipse平台架构开发设计,重要实现对网上订餐的使用、需求、以及用户订餐的动态管理等。随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运营的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(Management Information System,管理信息系统)系统,正成为技术发展的趋势。为了保证系统性能的高效性、可扩展性,以及达成数据共享和网络化管理的目的,本系统采
5、用B/S体系结构进行设计开发。1.2课题分析该系统分为前台和后台两个部分,前台部分重要是用户进行资讯的浏览,以及订餐,订座管理等,重要是面向用户的。而后台重要是管理人员对前台数据的维护和设立,重要是面向管理人员的。网上订餐系统无论是在应用的深度还是广度都是一个逐步发展的过程。在开发一个局部系统时要充足考虑到局部系统和整个目的系统之间的相容性和完整性,以利于此后整个系统的建立。该系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。对于本系统的不同使用者,其功能与业务逻辑是不尽相同的。对于普通用户而言,系统重要像用户展示一个美观的界面,用户
6、在可以浏览各类资讯,查询餐饮信息,订餐,订座等。而管理员则需要在后台维护这些数据。本系统的重要功能应是用户的订餐了,用户可以查询菜品信息,当发现自己满意的以后,可以将这些菜品添加到自己的购物车,此时用户虽然选择了要预定的商品,但是还不具有法律效用,当用户通过一定方式(此方式不属编程范围)得到预定许可后,管理员在后台可以审核是否批准该用户的订餐请求,当管理员批准了该用户的订餐请求,即可将该用户所预定的发送给客户,此时客户在客户端可以看到自己购物车的状态(此时是已经通过审核),假如管理员没有批准或没有解决等,该客户都可以在前台看见相关信息。1.3技术方案的选取1.3.1 开发语言随着互联网技术的不
7、断发展,基于浏览器/服务器(Browser/Server 简称B/S)体系结构的应用程序得到了空前广泛的应用。但是服务器之间的通讯,特别是在不同平台上运营的服务器之间的通讯仍然不是一件容易的事情。由于大多数Internet应用程序都是以数据库为中心的,方便的访问多种数据源的能力也比以往任何时候都更加重要。JSP无疑可以轻松地实现这类功能,JSP技术是一种服务器端的HTML页面中嵌入JAVA代码的脚本语言,它比一般脚本语言的执行速度更快,由于JSP是基于JAVA语言的,所以它可以运营在UNIX/LINUX和WINDOWS平台上,是一种难得的动态网页开发语言。在动态内容的解决问题中,还存在其他的解
8、决方法,但是开发人员要掌握这些技术很难。例如,Java Servlets这样的技术就可以使得用Java语言编写交互式的应用程序的服务器端的代码变得更加简朴。Java Servlets就是一个基于Java技术的运营在服务器端的程序(与Applet不同,后者运营在浏览器端)。开发人员编写出Servlet程序,用来接受来自Web浏览器的HTTP请求,动态地生成响应,然后发送包含HTML或XML文档到浏览器。但是使用这种方法,整个网页必须都在Java Servlet中制作。假如开发人员或者Web管理人员想要调整页面的显示,就不得不从新编辑并编译Java Servlet程序。采用这种方法,编写带有动态内
9、容的页面需要有很纯熟的应用程序开发技巧和经验。很显然,一个简朴的创建动态页面的解决方案要能解决以下的问题: 1. 可以在任何Web或应用程序服务器上运营2. 将应用程序逻辑和页面显示分离3. 可以快速地开发和测试4. 简化开发基于Web的交互式应用程序的过程JavaServer Pages (JSP)满足这些规定,它整合了存在的Java编程环境提供支持的技术和工具,产生了一种新的、开发基于Web应用程序的方法,这个方法给予使用基于组件应用的逻辑页面的设计者提供了强大的功能。1.3.2 开发模式选择JSP有两中开发模式JSP+JavaBeans和JSP+Servlet+JavaBeans,在模式
10、一中,JSP页面独自响应请求并将解决结果返回客户。所有的数据通过Bean来解决JSP实现页面的表现。模式一技术实现了页面的表现-和页面的商业逻辑相分离。大量使用模式一形式,经常会导致页面被嵌入大量的脚本语言或JAVA代码。当需要解决的商业逻辑很复杂时,这种情况会变得非常糟糕。大量的代码会使整个页面变得常复杂。对于前端界面设计人员来说,这简直不可想象。这种情况在大项目中最为常见,这也导致了代码的开发和维护出现困难,导致了不必要的资源浪费,在任何项目中,这样的模式总会导致多多少少的定义不清的响应和项目管理的困难。 综上所诉,模式一不能满足大型项目的需要,但是可以较好的满足小型应用,在简朴的应用中可
11、以考虑模式一。模式二JSP+Servlet+JavaBeans中 ,Servlets技术是一种采用JAVA技术来实现CGI功能的一种术。Servlets技术是运营在WEB服务器上,用来生成WEB页面。Servlets技术非常实用于服务器端的解决和编程,并且Servlet会长期驻留在他们所处的位置。 但是在实际的项目开发过程中,页面设计者可以方便地使用普通HTML工具来开发JSP页面,Servlet却更适合于后端开发者使用,开发Servlet需要的是JAVA集成开发环境,也就是说Servlet技术更需要编程人员。 模式二技术结合了JSP和Servlet技术充足体现了两者的技术优点。在此模式中通过
12、JSP来表现页面。通过Servlet来完毕大量的事务解决。 Servlet充当一个控制者的角色,并负责向客户发送请求。Servlet创建JSP所需要的Bean和对象,然后根据用户的请求行为,决定将哪个JSP页面发送给客户。 从开发的观点,模式二具有更清楚的页面表现,清楚的开发者角色划分,可以充足运用开发小组的界面设计人员,这些优势在大型项目开发中表现的尤为突出,使用这一模式,可以充足发挥每个开发者各自的专长,界面设计人员可以充足发挥自己的表现力,设计出优美的界面表现形式,设计人员可以充足发挥自己的商务解决思维,来实现项目中的业务解决。在大型项目中,模式二更被采用。但是,本系统开发只是一个小型的
13、JSP应用,同时由于Servlet难于掌握,所以在本课题中采用了模式一开发,既JSP+JavaBean。1.3.3 数据库SQL Server 2023是一个分布式的关系型数据库管理系统,具有客户/服务器体系结构。Mircrosoft SQL Server 2023是一个应用广泛的数据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等。SQL Server 2023系统中,数据库的管理采用了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。此外,用户数据都是非常重
14、要的和保密的,这些数据存储在Mircrosoft SQL Server 2023系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有通过授权的用户才干访问系统,并且执行相应的操作和访问允许访问的数据。未经授权的用户既不能执行相应的操作,也不能访问数据库中的相应数据。SQL Server 2023系统具有强大的网上功能,可以在Internet上发布数据库中的数据。在Mircrosoft SQL Server 2023系统中,允许用户简朴的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。第二章 系统概述2.1运营环境2.1.1软件运营环境服务器端:
15、操作系统:Windows 10操作系统数据库:Microsoft SQL Server 2023网络通信协议:TCP/IP支持软件:tomcat,MyEclipse2.2需求分析网上订餐管理系统无论是在应用的深度还是广度都是一个逐步发展的过程。在开发一个局部系统时要充足考虑到局部系统和整个目的系统之间的相容性和完整性,以利于此后整个系统的建立。进货订单管理系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。2.2.1 性能需求分析该系统在性能功能上应达成如下需求: 操作简朴、界面和谐: 完全控件式的页面布局,使得菜品,资讯,座位等信息的
16、录入工作更简便,许多选项涉及餐厅信息,桌位,包房信息等只需要点击鼠标就可以完毕;此外,跟踪出现的提醒信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式; 即时可见:对客户预定餐饮信息的解决(涉及录入、删除)将立即在主页的相应栏目显示出来,达成“即时发布、即时见效”的功能; 系统运营应当快速、稳定、高效和可靠; 在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。2.2.2产品质量需求分析重要质量属性具体规定对的性按照需求对的执行任务,完毕各个模块的相应规定。健壮性具有较高的容错能力和恢复能力
17、。可靠性故障发生率每运营1000小时低于3次性能,效率软件的输出结果更新周期应当与系统的信息更新周期相同。在网络情况良好的情况下,3秒内可响应用户请求。易用性易理解性:软件研制过程中形成的所有文档语言简练、前后一致、易于理解以及语句无歧义。安全性防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性其数据应能集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也不应进行什么数据同步.可扩展性能方便的进行二次开发,满足对功能的扩充或提高并能提高相应的安全控制。兼容性不易与其他软件起冲突。 可移植性可方便移植到其他系统环境中正常运营。2.2.3 可行性分析随着经济的快速
18、发展,B2C电子商务越来越受到人们的关注。网上订餐类网站,已经如雨后春笋般的出现在了个大城市。特别在公司,公司内部,团队订餐已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的限度,不仅要吃饱,还要吃好,并且口味也越来越挑刺,正由于如此网络订餐业务的出现,正迎合了这些人的口味,他们不仅省去了自己做饭的麻烦,并且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。而当代大学生,白领工作人士作为社会中的重要群体,他们对饮食的规定都在不断提高,饮食在他们生活中起着重要作用。因此,面向大学生和都市白领人士的网络订餐
19、网站的设计有着良好的现实意义。综合以上两点分析,本次毕业设计决定运用JSP和SQL技术设计网上订餐管理系统。JSP可以创建和运用动态、交互的WEB服务器应用程序。同时,JSP具有向跨平台跨服务器的优点。SQL Server 2023是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机事务解决、数据仓库及电子商务等。2.3 总体设计原则1、 开放性、可扩充性、可靠性原则开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以互相操作的标准,可以融洽的在一起工作。开放系统使得各种类型的网络和系统互连简朴、标准统一,容易扩展升级。从而适应广大用户需求的多变
20、性和产品的更新换代。2、良好的用户操作界面用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。3、实用性原则任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务解决自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。4、工作平台设计原则能适应不同的操作平台,不同的网络。2.4 系统体系结构分析2.4.1 C/S结构与B/S结构客户/服务器(CLIENT/SERVER)结构,是将一个系统分解为前台的客户应用程序和后台的服务器部分,通过网络连接应用程序和服务器。这种结构的核心是客户应用程序向服务器发送服务请求,服务器完毕后端解决。服务器是一台管理数据资源并执行数
21、据库引擎功能(加数据存储、操作和保护)的计算机,解决结构由服务器发回客户应用程序,由客户应用程序对解决结构进行显示。这种结构的优点是只有解决后的数据在网络中传递,大大减轻了网络的承担,并且由于通过服务器端统一管理数据,易于保证数据的一致性。B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改善的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是重要事务逻辑在服务器端实现,形成所谓3层结构。B/S结构运用不断成熟和普及的浏览器技术实现本来需要复杂专用软件才干实现的强大功能,并节约了开发成
22、本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,.net也是在这样一种背景下被提出来的架构,JAVA技术已经是很成熟的应用了。2.4.2 B/S与C/S的优越性C/S(Client/Server,客户端/服务器)是建立在局域网的基础上的,B/S是建立在广域网的基础上的。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件,没能提供用户真正盼望的开放环境;B/S结构则不同,它的前端是以TCP/IP协议为基础的,公司内的WWW服务器可以接受安装有Web浏览程序的Internet终端
23、的访问,作为最终用户,只要通过Web浏览器,各种解决任务都可以调用系统资源来完毕,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,减少了用户的总体拥有成本。总的来说,两者有如下差别:1硬件环境不同C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据互换服务。B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备, 信息自己管理, 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行。2对安全规定不同 C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S 结构适宜,
24、可以通过B/S发布部分可公开信息。B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群。3对程序架构不同 C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运营速度可以较少考虑。B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上。4软件重用不同C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S规定下的构件的重用性好。B/S 对的多重结构,规定构件相对独立的功能。 可以相对较好的重用。就如买来的餐桌可以再运用,而不是做在墙上的石头桌子。5系统维护不同 系统维护是软件生存周期中,开销大,相称重要C/S 程序由于整体性,必须整体考察
25、,解决出现的问题以及系统升级难, 也许是再做一个全新的系统。B/S 构件组成方面构件个别的更换,实现系统的无缝升级。 系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。 6解决问题不同 C/S 程序可以解决用户面固定,并且在相同区域, 安全规定高的需求,与操作系统相关, 应当都是相同的系统。B/S 建立在广域网上, 面向不同的用户群,分散地区, 这是C/S无法作到的,与操作系统平台关系最小。 7用户接口不同 C/S 多是建立在Window平台上,表现方法有限,对程序员普遍规定较高。B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流, 并且大部分难度减低,减少开发成本。8信
26、息流不同 C/S 程序一般是典型的中央集权的机械式解决,交互性相对低。B/S 信息流向可变化。9成本减少,选择更多软件系统的改善和升级越来越频繁,B/S架构的产品明显体现的更方便的特性。无论用户的规模有多大,有多少分支机构都不会增长任何维护升级的工作量,所有的操作只需要针对服务器进行,假如是异地只需要把服务器连接上网即可立即进行维护和升级,这对人力、时间、费用的节省是相称惊人的。传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,这么高的代价和低效率已经越来越不适应了。在JAVA这样的跨平台语言出现之后B/S架构更是飞快地普及起来了。10面向电子商务时
27、代的技术将来所有的应用系统几乎都在互联网上运营,公司发展电子商务也是不可避免的,而B/S架构的软件则代表了将来的技术,只要连上互联网或内部广域网就可以与全球的客户相连,与各地的分支机构相连。综上所述,可以看出B/S结构的众多优点5,比其他结构的先进性,无论是办公自动化管理系统,人力资源管理系统,客户关系管理系统,ERP等等,发展的趋势是不断融合,结合当今这些方面的发展,我们可以得出这样的结论:采用统一的B/S结构开发的产品无论是现在还是将来都是最佳的选择,而在此后的实际工作开发中,则应当首选B/S结构。第三章程序设计3.1系统流程分析3.1.1业务流程分析1、 浏览与选择餐饮信息:顾客进入网站
28、即刻自动提供购物车,不需身份确认就可以在网站上随意浏览,登录系统后则可挑选餐饮(可增长、删除、修改购物车上餐饮的类型),网站提供餐饮信息列表,最先添加的餐饮信息优先列表给顾客作为选购时的参考;2、 判断:顾客拟定所购餐饮信息后,系统将判断该顾客是否注册,假如是,则可直接填写订单;否则,提醒顾客登记注册;3、 提交订单:已选购的餐饮信息需填写订单细节。4、 注册:顾客可在公司的网站上注册后提交申请;5、 确认:后台管理将实时得到顾客的注册信息,通过电话及其他方式确认,当确认后,系统管理员可对该顾客提交的预定信息进行审核。6、送货与付款:网上的每一份订单都将实时存入后台数据库,后台操作人员通过电话
29、及其他方式确认,确认后将及时实行审核该订单:向顾客送货,货到付款,完毕网上交易。顾客登录系统浏览菜品资讯获得购物车浏览餐饮信息选择餐饮信息管理员审核Y交易结束N3.1.1数据流程分析该系统数据流程比较简朴,管理员可以添加餐厅信息(涉及餐桌,包房等),餐饮信息(涉及菜品名等信息),资讯信息等,然而这些信息顾客是可以浏览的,但是顾客没有权限对这些信息进行修改,这些信息对于顾客而言是单向的。对于预定信息,管理员可以查看及审核预定信息,顾客可以增删改预定信息,并将预定信息提交给管理员等待审核,因此预定信息对于顾客和管理员而言都是双向的。3.1.1.1数据流图数据流图简称DFD,是SA方法中用于表达系统
30、逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和解决的过程,由于它只反映系统必须完毕的逻辑功能,所以它是一种功能模型。系统的数据流图如下所示:系统DFD图3.2系统数据库设计3.2.1 数据库E-R图Users(用户表)用户名密码权限orders(订单表)订餐人时间备注电话应收款地址发布Seat(订座表)电话人数订餐人发布Shop(订单菜单表)菜名数量单价所属st(订座菜单表)类别名图片单价菜名数量单价菜名点菜category (类别表)Food (菜单表)3.2.2 数据库表设计 系统关键数据表如下:其关系见E-R图1用户表(users):用户登录是需要用户名和密码,所以用户数据表中
31、必须包含用户名(uname)、密码(upass)两个信息,尚有些其他的用户信息,比如power指的是用户权限(管理员还是非管理员)。从功能上数据库表设计如表3.1。表 3.1 用户表列名数据类型长度uidint4unamevarchar50upassvarchar50powerint42菜品信息表(food):菜品信息表重要描述菜品信息,如:菜品ID号(foodid),此ID号为系统自动生成;菜品名称(fname);菜品价格(price);所属分类ID(categoryId);图片信息(images)。商品信息表具体描述如表3.2表3.2菜品信息表列名数据类型长度foodIdint4price
32、money8categoryId int4imagesvarchar503订座菜单表(st):客户订餐的一些相关信息,如stId指的订餐ID号,此ID和是系统自动生成的;菜品名称(fname);订购数量(num);价格(price);座位编号(seatId)等,具体描述表3.3表3.3供应商表列名数据类型长度stIdint4fnamevarchar50numint4pricemoney8seatIdint4fIdint44订单表(orders): 订单表有一下描述信息。订单ID(ordersId),订购人姓名(name),地址(address),联系电话(tel),价格(price),备注信息
33、(context)等,具体描述如表3.4所示:表3.4订单表列名数据类型长度ordersIdint4namevarchar50addressvarchar50telvarchar50pricenumeric9uidint4contexttext165订单菜单表(Shop)具体描述如表3.5所示:表3.5订单菜单表列名数据类型长度fIdint4fnamevarchar50numint4priceMoney8uidint4sidint46订座表(Seat)具体描述如表3.6所示:表3.6订座表列名数据类型长度seatIdint4uidint50telvarchar50riqi varchar50n
34、umint4namevarchar4xiaoshivarchar503.3系统结构设计网上订餐系统的模型结构如下图所示:客户端浏览器客户端浏览器客户端浏览器Web层业务层数据访问层系统配置数据库从前面的需求分析中得知,可以将功能分为前台和后台两类,因此模块也分为两大类:前台模块和后台模块。 下图为系统模块总图:网上订餐管理系统前台模块后台模块注册登录菜品查询订单查询用户权限管理菜品管理订餐管理订座管理用户订餐用户订座用户管理系统模块总图3.4 核心算法实现分页显示算法inti;一页显示的记录数=10;取得待显示页码PageSet : strPage=page;if(strPage=null)/
35、page参数为空时,此时显示第一页数据待显示页码=1;else 待显示页码=Integer.parseInt(strPage); /将字符串转换成整型if(待显示页码总页数)待显示页码=总页数;/分页情况分类/选择向上翻if(待显示页码1)选择向上翻一页传递参数pageda=待显示页码-1 goto PageSet;/选择向下翻if(待显示页码0)将记录指针定位到结果集的第一条记录上(待显示页码-1)*一页显示的记录数+1);i=0;while(i一页显示的记录数&数据库指针不在结果集尾部)输出要分页显示的数据库中的内容;将数据库指针移动到当前行的下一行;i+;第四章 系统实现重要技术4.1
36、JavaServer Pages(JSP)技术简介在开发JSP规范的过程中,Sun 公司与许许多多重要的Web服务器、应用服务器和开发工具供应商,尚有各种各样富有经验的开发团队进行合作。最后找到了一种平衡了应用和页面开发的具有可移植性和易用性的开发方法,JSP技术特性在多个方面加速了动态Web页面的开发:1) 将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标记来设计和格式化最终页面。使用JSP标记或者小脚本来生成页面上的动态内容,这些内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格。生成内容的逻辑部分被封装在JavaBeans组件中,并且捆
37、绑在小脚本中,所有的脚本在服务器端运营。假如核心逻辑被封装在Beans中,那么其别人,如Web管理人员和页面设计者,在编辑和使用JSP页面的时候,将不会影响到内容的生成。在服务器端,JSP引擎解释JSP标记和小脚本,生成客户端请求的内容,例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者其他文献,并且将结果以HTML(或者XML)页面的形式发送回浏览器。这将有助于作者保护自己的代码,并且又保证任何基于HTML的Web浏览器的完全可用性。2) 强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)
38、来执行应用程序所规定的更为复杂的解决问题。开发人员可以共享和互换执行普通操作的组件,或者发布这些组件使更多的使用者或者客户团队可以使用。3) 采用标记简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是容易使用的、同时与JSP相关的XML标记中进行动态内容的生成时需要的。通过开发定制化标记库,JSP技术是可扩展的。此后,第三方开发人员和其别人员可以将常用的功能创建到自己的标记库。这使得Web页面开发人员可以象使用熟悉的工具同样来使用标记来执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以便使用现存的工具和
39、技巧,并且扩展到可以支持公司级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(公司版体系结构)的一个组成部分,JSP技术可以支持高度复杂的基于Web的应用开发。由于JSP页面的内置脚本语言是基于Java编程语言的,并且所有的JSP页面都能被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,涉及健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运营”的特点。随着越来越多的厂家将对JSP的支持添加到他们的产品中,我们可以选择不同的服务器和工具,由于更改工具或服务器并不影响当前的应用。当与Java 2平台,公司版(
40、J2EE)8和Enterprise JavaBean技术整合时,JSP页面提了供公司级的扩展性能,这对于在虚拟公司中部署基于Web的应用是必需的。4.2 JSP 和其他类似或相关技术的一个简朴比较1) JSP和Active Server Pages(ASP)相比Microsoft的ASP是一种和JSP类似的技术。JSP和ASP相比具有两方面的优点。一方面,动态部分用Java编写,而不是VB Script或其他Microsoft语言,不仅功能更强大并且更易于使用。第二,JSP应用可以移植到其他操作系统和非Microsoft的Web服务器上。2) JSP和纯Servlet相比JSP并没有增长任何本
41、质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用 println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计专家进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。3) JSP和JavaScript相比JavaScript可以在客户端动态地生成HTML。虽然JavaScript很有用,但它只能解决以客户端环境为基础的动态信息。除了Cookie之外,HTTP状态和表单提交数据对JavaScript来说都是不可用的。此外,由于是在客户端运营,JavaScript不能访问
42、服务器端资源,比如数据库、目录信息等等。4.3 最佳JSP应用服务器Tomcat大多数人(大约29)都喜欢将Apache Tomcat当作JSP应用服务器使用。有人也许会说,它之所以受欢迎是由于这个服务器是免费和开放源代码的,但是真正的因素远不止这些。Apache Tomcat可以受欢迎,不仅是工作性能非常好,尚有没有初始的开发成本开销等有力的竞争因素,但这不是决定因素。Tomcat 结构非常合理,更由于Tomcat 是Apache 组织的产品,这个组织有着雄厚的技术更新力量,并且Tomcat5.0 很好的支持了JSP2.0 规范,因此有着很好的发展前景。Tomcat是一个免费的开源的Serl
43、vet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司以及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2023年度最具创新的java产品,可见其在业界内的地位。 Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:也解决Html页面,但是与Apache相比,它的解决静态Html的能力就不如Apache。JDK 是SUN 公司的JAVA应用程序和组件的开发环境,是编译、测试工具,也是提供JAVA 程序的 JA
44、VA 虚拟机平台,是调试和运营JSP 所不可缺少的工具9。4.4 javaBean组件技术1. 什么是JavaBean软件开发的真正目的之一是运用在程序编码方面的投资,以便在同一公司或者不同公司的其他开发中重用程序编码,近年来,编程人员投入大量精力以便建立可重用的软件、可重用的软件组件,初期用在面向对象编程方面中的投资已经在Java、C#等编程语言的开发中充足实现,很多软件可以不用做很大的改变就可以运营在各种平台上。JavaBeans描述了Java的软件组件模型,这个模型被设计成使第三方厂家可以生成和销售可以集成到其他开发厂家或者其他开发人员开发的软件产品的Java组件。 应用程序开发者可以从开发厂家购买现成的JavaBeans组件,拖放到集成开发环境的工具箱中,再将其应用于应用软件的开发,对于JavaBeans组件的属性、行为可以进行必要的修改、测试和修订而不必重新编写和编译程序。在JavaBeans模型中JavaBeans组件可以被修改或者与其他JavaBeans组件组合以生成新的JavaBeans组件或完整的Java应用程序。Java应用程序在运营时,最终用户也可以通过JavaBeans
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100