理HTTP请求
Servlet能够处理HTTP请求,并且能够传递HTTP响应到客户端。
> 用于处理HTML表单
通过HTTP产生提交数据,然后Servlet可以处理这些数据。
> 允许人们之间的合作
一个Servlet能并发处理多个请求,可以使用同步请求支持系统。
> 转送请求
Servlet可以转送请求给其他的服务器和Servlet。这就允许在镜像同样内容的几个服务器之间平衡负载。按照任务类型或组织范围,可以允许被用来在几个服务器中划分逻辑上的服务区。
> 允许定以激活代理
Servlet编写者们可以定义彼此之间共同工作的激活代理,每个代理者是一个Servlet,而且代理者能够在他们之间传送数据。
2.2.4 Servlet 的生命周期
Servlet的生命周期始于将它装入Web服务器的内存时,并在终止或重新装入Servlet时结束。
1. 初始化
> 在下列时刻装入Servlet:
> 如果已经配置自动装入选项,则在启动服务器是自动装入
> 在服务器启动后,客户机首次向Servlet发出请求时
> 重新装入Servlet时
装入Servlet后,服务器创建一个Servlet实例并且调用它的init()方法。在初始化阶段,Servlet初始化参数被传递给Servlet配置对象。
2. 请求处理
对于到达服务器的客户机请求,服务器创建特定于请求的一个"请求"对象和一个"响应"对象。服务器调用Servlet的service()方法,该方法用于传递"请求"和"响应"对象。Service()方法从"请求"对象或的请求信息,同时处理该请求,并用"响应"对象的方法将响应传回给客户机。Service()方法也可以调用其他方法来处理请求,例如doGet()、doPost()或其他的方法。
3. 终止
当服务器不再需要Servlet,或重新装入Servlet的新实例时,服务器会调用它的destroy()方法,来终止当前Servlet实例的运行。
2.3 JDBC技术
2.3.1 JDBC概述
JDBC是Java数据库连接(Java Data Base Connectivity)的简称,是一种可用于执行SQL语句的Java API(Application Programming Interface应用程序设计接口)。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
Java具有健壮、安全、易用等特性,而且支持自动网上下载,本质上是一种很好的数据库应用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。
JDBC API 为Java 程序提供了一个统一无缝地操作各种数据库的接口,程序员编程时,可以不关心他所要操作的数据库是哪个厂家的产品,从而提高了软件的通用性。JDBC 现在可以连接的数据库包括:Xbase、Oracle、Sybase、Access 以及 Paradox等。JDBC 在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。
JDBC扩展了Java语言的功能。使用JDBC,向各种关系型数据库发送SQL语句成为一件很容易的事。将Java和JDBC结合起来,将会使程序经过一次编译即可在其他的任何平台上运行。通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现"WriteOnce,RunEverywhere!"
2.3.2 JDBC两层模型和三层模型
JDBC支持两层模型,也支持三层模型访问数据库。
两层模型中,一个java Applet或者一个Java应用直接同数据库连接。这就需要能直接被访问的数据库进行连接的JDBC驱动器。用户的SQL语句被传送给数据库,而这些语句执行的结果将被传回给用户。数据库可以在同一机器上,也可以另一机器上通过网络进行连接。这被称为"Client/Server"结构,用户的计算机作为Client,运行数据库的计算机作为Server。这个网络可是intranet,比如连接全体雇员的企业内部网,当然也可以是internet。
在三层模型中,命令将被发送到服务的"中间层",而"中间层"将SQL语句发送到数据库。数据库处理SQL语句并将结果返回"中间层",然后"中间层"将它们 返回用户。MIS管理员将发现三层模型很有吸引力,因为"中间层"可以进行对访问的控制并协同数据库的更新,另一个优势就是如果有一个"中间层"用户就可以使用一个易用的高层的API,这个API可以由"中间层"进行转换,转换成底层的调用。而且,在许多情况下,三层模型可以提供更好的性能。
到目前为止,"中间层"通常还是用C或C++实现,以保证其高性能。但随着优化编译器的引入,将java的字节码转换成高效的机器码,用java来实现"中间层"将越来越实际。而JDBC是允许从一个java"中间层"访问数据库的关键。
2.3.3 使用JDBC的优缺点
1.JDBC的优点
> JDBC API与ODBC十分相似,有利于用户理解
> JDBC 使得编程人员从复杂的驱动器调用命令和函数中解脱出来。可以致力于应用程序中的关键地方。
> JDBC 支持不同的关系型数据库,使得程序的可移植性大大加强。
> 用户可以使用JDBC-ODBC桥驱动器将JDBC函数转换为ODBC。
> JDBC API是面向对象的,可以让用户把它的常用方法封装为一个类,以备后用。
2. JDBC的缺点
> 使用JDBC,访问数据记录的速度会受到一定程度的影响。
JDBC 结构中包含了不同厂家的产品,这就给更改数据源带来很大的麻烦。
2.4 JSP开发方式
JSP技术规范种给出了两种使用JSP开发Web应用的方式,这两种方式可以归纳为模型一和模型二,这两种模型的主要差别在于它们处理业务的流程不同。
模型一,如下图所示,称之为JSP+JavaBeans模型。在这一模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过JavaBean来处理,JSP实现页面的表现。
从上图可以看出,模型一也实现了页面表现和业务逻辑相分离。然而使用这种方式就要在JSP页面使用大量的Java代码,当需要处理的业务逻辑很复杂时,这种情况会变得非常糟糕。大量嵌入式代码使整个页面程序变得异常复杂。对于前端界面设计的网页开发人员来说,这简直是一场噩梦。所以,模型一不能满足大型应用的需要,但是对于小型应用,因为该模型简单,不用涉及诸多要素,从而可以很好地满足小型应用的需要,所以在简单应用中,可以考虑模型一。
模型二,如下图所示,称之为JSP+Servlet+JavaBeans模型。这一模型结合了JSP和Servlet技术,充分利用了JSP和Servlet两种技术原有的优势。这个模型使用JSP技术来表现页面,使用Servlet技术完成大量的事务处理,使用图3:
Bean来存储数据。Servlet用来处理请求的事务,充当一个控制者的角色,并负责向客户发送请求。它创建JSP需要的Bean和对象,然后根据用户请求的行为,决定将哪个JSP页面发送给客户。
从开发的观点看,模型二具有更清晰的页面表现,清楚的开发角色的划分,可以充分利用开发团队中的网页设计人员和Java开发人员。这些优势在大型项目中表现得尤为突出,网页设计人员可以充分发挥自己的美术和设计才能来充分表现页面,程序编写人员可以充分发挥自己的业务逻辑处理思维,实现项目中的业务处理。
另外,从设计结构来看,这种模型充分体现了模型视图控制器(MVC)的设计架构。事实上,现存的很多开发框架都是基于这种模型的,充分实现了MVC ,例如Apache Struts框架和JavaServer Faces框架。
3 需求分析
3.1 需求分析概述
需求分析是软件定义时期的最后一个
上一篇:
Java_Web应用开发--在线模拟考试系统--论文
下一篇:
注重内涵建设实现社区卫生服务可持续发展——上海市杨浦区殷行社区卫生服务中心介绍