英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
一种基于Java的Web开发方法应用系统
李春林
武汉交通大学计算机科学与工程系,430063
(1999年2月1日收到)
摘要:本文采用服务器端Java编程模型:模型视图控制器构建基于Web的购物系统框架。使用servlet、JavaServer页面(JSP)和JavaBean技术,我们提供一个标准的、开放的、健壮的、跨平台的体系结构。它可以保证系统独立性。所呈现的框架通过频繁地更改用户界面,使表示与业务逻辑清晰地分离,从而满足用户的喜好,并支持更多的功能以后方便添加。
关键词:Web应用系统,Java,电子购物系统。
- 介绍
创建Internet、Intranet和Extranet应用程序目前是编程中心集中。它们都属于基于Web的业务应用程序[1],需要数据库连接、用户身份验证、会话管理和动态HTML生成。基于Web应用程序应具有以下功能:
1)独立于客户端的平台,通常是浏览器;
2)独立于服务器端的平台,如包括Unix和Windows环境;
3)能够连接到各种数据库,如Oracle、Informix、SQL等服务器;
4)能够在不同的Web服务器上运行,包括Netscape、Apache、IIS和Java网络服务器和其他流行的网络服务器;
5)模块化程度高,未来可增加更多功能;
- 易于实施,成本低。
有几种方法用于实现Web应用程序。传统的CGI创建了一个为每个请求单独处理,因此当请求增加时,服务器将加载同时进程太多,系统性能会下降。使用专有网络服务器API(如isapi和nsapis)将使您锁定使用来自一个特定的卖主。尽管有适当的脚本语言,但此类Netscape的实时连接或微软的活动服务器页面很容易使用,它们也有专有的缺点服务器API。用于实现满足上述六个要求的Web应用程序,高级需要方法[1]。
本研究采用服务器端Java编程模型来开发Web应用程序[2 ]。这个基于servlets、jsp和javaBean的编程模型提供了一个标准,开放和强大的Web体系结构。用该方法制作的程序具有Java的可移植性、可重用性和灵活性的自然优势。在下面的部分中,我们将解释提出的方法以及如何通过演示
电子购物系统。
- 服务器端Java编程模型
服务器端Java编程模型是基于三个最近的Java服务器端技术:
Servlet、Java服务器页面(JSP)、JavaBean或企业JavaBeans(EJB)。Servlet是响应HTTP的Web服务器扩展需要与CGI程序相同的方式。JSP是实现业务逻辑并通常访问企业的托管组件。数据、事务和应用程序。这些技术构成了开放、可扩展的基于Java的高生产率Web体系结构。除了Java的优势一种编程语言,如Java的泛型类库和API支持网络,分布式计算、消息传递、事务、数据库、安全和许多其他功能对服务器编程至关重要。Java作为一个平台有很多优点:Java标准是否基于许多供应商对API规范的贡献,以便客户从广泛的实施中受益,而不是被锁定在单个供应商中。
-
- servlet
正如Applet是Web浏览器的Java插件一样,servlet也是Web的Java插件。服务器。Sun刚刚发布了servlet API 2.1的规范,该规范定义了一个标准Servlet的Java接口。大多数Web服务器都可以通过servlet扩展到宿主servlet引擎,它是一个运行Java虚拟机(JVM)的高性能插件。这个servlet引擎管理servlet,使用cookie和本地数据维护HTTP会话状态存储在服务器上,可以存储用户的配置文件。servlet API为我们提供了一个简单的,用于构建基于HTML的应用程序的强大的对象框架,包括用于从Web服务器请求检索参数的对象,该请求是用于将HTML响应发送到客户机,甚至更高级的功能,例如cookies和服务器端包括servlet[2,3]。在任何语言中,servlet API实际上都是最完整的编写一个基于HTML的应用程序,还可以让您访问JDK丰富API。此外,servlet API继续扩展(jdk 1.1添加了页面编译、会话跟踪、模板和servlet bean)。servlet实例通过简单的生命周期。每个实例初始化一次,请求多次,最后摧毁。可以将servlet配置为在servlet引擎启动或启动时初始化。接收其第一个请求。每个请求都指向同一个实例,但在一个单独的线程上,所以servlet必须设计为线程安全的[2]。因为servlet在请求,它可以用来保存状态信息。通常会话和cookie交互相互实现用户身份验证。在下一节中,将在细节。servlet API是独立于协议的,它允许将它嵌入许多不同的Web服务器。servlet接口是一个标准接口,因此servlet可以从一个servlet中移动。到另一个。servlet引擎本身支持各种Web服务器,因此servlet不支持锁定在一个平台上。这使程序员能够在一个系统上开发和部署在另一个系统上。
基于servlet作为应用服务器的概念[1],我们开发了我们的应用程序作为一组独立但相互连接的模块,servlet动态实例化这些模块根据要求。主servlet处理到数据库的连接和用户身份验证对于所有模块。当主servlet接收到一个请求时,它确定要将哪个模块装上。模块始终是请求中的参数,然后动态实例化只需使用模块的名称。每个模块都是抽象的子类类,其中包含处理模块名称的方法。servlet的任务是http然后,请求处理方法doget和dopost将简单地实例化请求的模块,向它传递必要的参数,并调用其过程方法。它的架构是在图1.展出。
2.2个Java服务器页面和JavaBean
在许多情况下,将生成动态内容的任务分成两部分是很有用的:控制输入、处理和输出之间关系的业务规则;以及图形确定如何向用户显示信息的设计规则。在Java编程中模型业务逻辑应该由JavaBeans处理,表示逻辑应该由servlet或javaserver页面(jsp)处理[2]。JavaServer页面技术是在服务器端动态生成HTML的简单而强大的方法。用JavaServer页面技术,您可以快速轻松地创建动态生成的网页内容。当您编写JavaServer页面时,您将调用可重用的服务器组件(例如并从HTML文件自动创建数据对象。这允许你清晰地将动态内容的生成与其表示分离。所以技巧要求提供高质量的演示可以集中在生成可交付结果(JSP)上。没有逻辑方面的细节。JavaBean是一个可重用的软件组件。一JavaBeans体系结构的主要目标之一是提供一个与平台无关的组件建筑学。我们可以使用JSP和JavaBean来构建基于Web的应用程序,有两个实现目标的方法。一种方法是向Java Servlet(3)发送请求(参见图2)。
通过这种方式,客户端发出一个由Java servlet处理的请求。servlet生 成动态内容,servlet使用JDBC与数据库通信以获取内容。然后servlet将动态内容包装成bean。JavaServerPages文件从bean访问动态内容,并在客户机Web浏览器中显示内容[3]。
另一种方法是,在客户机Web浏览器中工作的用户可以直接请求一个JavaServerPages 文件(见图3)。
在接收到客户机请求后,javaserver pages文件需要来自一个JavaBean可以反过来从企 业JavaBean请求信息或者数据库。一旦JavaBean生成内容(可能与企业合作javaBean, 一个数据库,或者两者都有),javaServerPages文件可以查询和显示bean的含量[2,3]。
2.3 Java服务器端体系结构
为了创建用于业务目的的Java Web应用程序,JavaBeans、JSP和servlet可以是组合在 以下模型视图控制器设计模式中[2]:
1)用户填写HTML表单并单击提交按钮,该按钮将发布请求。到Java servlet(控制器)。servlet读取输入参数并将其传递给执行业务逻辑的JavaBeans(模型);
2)根据业务逻辑和用户配置文件的结果,servlet选择JSP(视图)并调用它来显示结 果
3)JSP从JavaBeans中提取结果并将其与最初的提交的HTML表单,然后返回给用户;
4)Web应用系统可以非常有效地沿着通用的路线进行设计。模型视图控制器架构。在下一节中,基于对模型进行讨论。
3.示例系统
基于上述模型的电子购物系统框架如图4。servlet引擎(Web服务器)运行多个servlet。来自的传入请求浏览器由一个servlet响应,该servlet控制应用服务器内的请求处理。接下来,该控制器选择一个或多个JavaBeans(和/或EJG),它们提供访问应用程序的业务逻辑。然后,bean执行或协调必要计算的性能,从而产生要呈现的动态内容。回到客户那里。最后,控制器将选择适当的输出“表示”模板,一个JavaServer页面(JSP), 并调用它来显示动态内容,响应返回到浏览器[4]。
应用服务器包括三个主要模块:用户认证servlet,查询servlet和orderform servlet。认证部分是混合cookie会话模块它使用cookie以加密格式存储基本的id、userman和clearance[5]。每个用户在使用applet输入个人信息后都获得使用权限,applet以HTML格式嵌入。queryservlet处理从WebServer。当queryservlet需要来自数据库的数据时,它通过将请求转发到相应数据库应用程序服务器的代理服务器[6]代理服务器使用Java的哈希表类和PROXYServer还使用了Java提供的线程安全库。安全同步。订单表单servlet处理用户的订单打开购物中心发送电子邮件的SMTP连接。
3.1用户认证servlet
HTTP协议是无状态的,这意味着Web服务器无法关联信息从一个页面上的用户收集, 该用户在另一个页面上请求。没有某种状态机制,基于网络的电子购物系统将永远不会 存在。因为它会忘记你是谁,或者在你准备好之前你收集了什么将第二个项目添加到购 物车。采用混合cookie会话方法实现用户认证。曲奇饼干用于以加密格式存储基本ID、 用户名和许可证。因为它是每个页面请求都需要解密一个cookie,这三个项目应该存储 在会话中。其他数据(如购物车中收集的项目)仅存储在会话。所有请求都通过身份验 证servlet,而不考虑URL。这个servlet大致处理身份验证过程如下。获取ID、用户名、 许可证和如果找到有效会话,则直接从会话获取任何必要数据,否则检查有效会话如果 找到cookie,则解密cookie并将用户ID、用户名和权限复制到新会话中。如果既没有 有效的会话也没有cookie,那么请求用户登录、注册或接受它们。作为客人。这种混合 方法的好处是:使用会话,我们可以在每个页面上实现快速身份验证,还可以存储大量 任何类型的数据。使用cookie,我们可以持久地记住所需的数据。系统是安全的,因为 会话不能由用户和cookie被加密。
3.2代理服务器
proxyserver是一个servlet,它维护与许多购物中心数据库应用服务器的连接。哈希表类用于存储分布在Internet上的数据库服务器的URL。为了获取数据库所在服务器的端口号和主机名放置后,应创建一个小配置文件。配置数据用于“init”方法,在首次创建servlet时由servlet引擎调用。“init”无论servlet的实例有多少,每个servlet只调用一次方法。
实际制造的。配置代理服务器后,它将等待来自另一个servlet的调用。另一个servlet 代理(如查询servlet)可以直接调用proxyserver的方法。它使用对JavaBeans的引用来 获取所需的数据。PrixyServer使用一些JavaBeans来数据库连接(JDBC)用于连接数据 库,JDBC提供数据库供应商独立性。JSP通过JavaBeans的属性获取内容,并将其转换 为HTML发送给用户的页面。
3.3查询servlet
queryservlet处理从Web服务器接收的用户请求。它将用户信息格式化为SQL语言。然 后,它使用来自servlet API的“getservletcontext”和“getservlet”方法。一旦代理服务 器获得后,它可以使用当前请求的URL来决定应该使用哪个数据库服务器用于满足其 要求。queryservlet还可以将用户信息放入对象中,然后将此对象传递给代理服务器,代理服务器可以从数据库中获取有用的数据并返回值也通过一个物体。
3.4订单服务
orderformservlet用于处理用户订单。它处理每个表单提交,打包它把它发到网上某个购物中心的邮箱里。邮件文本只是打开与SMTP邮件主机的连接并将邮件正文发送到它。SMTP通常位于TCP端口25上,您可以使用互联网。打开到端口的连接通过套接字和Java API进行穿孔。充分支持这一点。然而,这可能会变得有点混乱,尤其是如果你不真的知道如何格式化从用户那里收集到的文本信息,以便邮寄者能够正确地解释它。使用servlet中的smtpclient类可以使向电子邮件发送简单任务的过程。构建电子邮件是创建标
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[19934],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。