Servlet 程序在服务器端运行,动态地生成Web 页面。Servlet 之间是可以相互交流的。......
2023-11-21
近年来,随着网络技术不断地发展,促进了很多应用系统的体系结构从C/S 结构向更加灵活的B/S 多级分布结构演变,使得软件系统的网络体系结构跨入一个新阶段。认识这些结构的特征,并根据实际情况进行系统的选型,对于成功开发一个基于网络的应用程序是非常重要的。
1.C/S 结构
C/S 结构,即Client/Server(客户机/服务器)结构。此结构把数据库内容放在远程服务器上,而在客户机上安装相应软件。C/S 软件一般采用两层结构,其分布结构如图1.2 所示。它由两部分构成:前端是客户机,客户机安装的软件结合了表示与业务逻辑,接受用户的请求,并向服务器端发送请求;后端是服务器端,一般包含服务器端软件和数据库,服务器端软件接收到客户端请求,并根据客户端请求访问数据库,在数据库返回结果之后将获取的数据响应到客户端,客户端将数据进行计算并将结果呈现给用户。另外,还要提供完善的安全保护及对数据的完整性处理等操作,并允许多个客户同时访问同一个数据库。在这种结构中,服务器的硬件必须具备足够的处理能力,才能满足各客户的要求。例如常用的腾讯QQ、迅雷以及网吧计费管理系统IKeeper 等软件都是属于C/S 结构的。
图1.2 C/S 结构
2.B/S 结构
B/S 结构,即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browser)运行软件。它是随着Internet 技术的兴起,对C/S 结构的一种变化和改进。主要利用了不断成熟的WWW 浏览器技术,结合多种Script 语言(如Javascript)和ActiveX 技术,是一种全新的软件系统构造技术,描述了B/S 结构,如图1.3 所示。
(www.chuimin.cn)
图1.3 B/S 结构
B/S 结构是基于HTTP 协议的,客户端浏览器发送HTTP 请求,通过Internet 访问Web服务器,Web 服务器根据客户端请求访问数据库,并将数据库返回的结果进行处理之后生成客户端响应,然后使用HTTP 协议,通过Internet 将响应内容返回给客户端浏览器,浏览器将解析响应内容并显示给客户。基于B/S 结构的应用多如牛毛,如频繁访问的百度、Google、网易、新浪、搜狐以及Web 版的迅雷等网站。
在B/S 体系结构系统中,数据请求、加工、结果返回以及动态网页生成,对数据库的访问和应用程序的执行等工作全部由Web 服务器完成。随着Windows 将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S 结构应用程序相对于传统的C/S 结构应用程序是一个非常大的进步。
3.B/S 与C/S 的区别
C/S 结构在技术上很成熟,它的主要特点是交互性强,具有安全的存取模式,网络通信量低,响应速度快,利于处理大量数据。但是该结构的程序是针对性开发,变更不够灵活,维护和管理的难度较大。通常只局限于小型局域网,不利于扩展。并且,由于该结构的每台客户机都需要安装相应的客户端程序,分布功能弱且兼容性差,不能实现快速部署安装和配置,因此缺少通用性,具有较大的局限性,对技术人员的专业水平要求较高。
B/S 结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难和不便。此外,实现复杂的应用构造有较大的困难。虽然可以用ActiveX、Java 等技术开发较为复杂的应用,但是相对于发展已非常成熟的C/S 的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术工具供使用。
从以上分析可以看出,B/S 结构和C/S 结构各有优势。目前国内外大部分软件要么已经是B/S 结构的,要么正在经历从C/S 到B/S 结构的转变。
有关Java Web应用开发的文章
Servlet 体系结构如图2.10 所示。图2.10Servlet 体系结构Servlet 其实就是实现了javax.servlet.Servlet 接口的类,一般通过继承GenericServlet、HttpServlet 等类来实现。javax.servlet 包主要提供了Web 容器能够使用的接口和Servlet 基本类,它不对应于HTTP 协议;javax.servlet.http 包主要包括与HTTP 协议有关的接口和Servlet 类。图2.11Servlet 的层次结构在图2.11 中,列出了javax.servlet 和javax.servlet.http 这两个包中主要的类和接口及其层次结构。这些类和接口可以简单地划分为以下几个类别:Servlet 基本类和接口Web 请求与响应类Servlet 异常类Servlet 其他类......
2023-11-21
统一资源定位符也被称为网页地址,是用于完整地描述Internet 上网页和其他资源的地址的一种标识方法。现在它已经被万维网联盟编制为Internet 标准RFC1738 了。例如:其中“http”指使用的协议,“mail.***.com”是服务器名,“80”是端口号,“/a/j/js3/main.jsp”是路径,“?sid=SDeQWJeebVpZIlKECzee”是询问。同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必写明,用户只要键入统一资源定位符的一部分(mail.***.com/a/j/js3/main.jsp?......
2023-11-21
有参数时可以使用
2023-11-21
通用资源标志符是互联网的一个协议要素,可以通过它来定位任何远程或本地的可用资源。URI 的通用格式为:其中协议指的是访问资源使用的协议名称,常见的有http、ftp、mailto、file 等。协议和主机名称或IP 地址间使用半角冒号(:)连接,包含资源路径的冒号后还有两个半角斜杠(//)。主机名称或IP 地址是用于在网络中查找服务器并用于和它建立连接来获取资源。因为在大部分情况下,服务器都会采用协议默认的端口号。......
2023-11-21
例4.1:JSP 版的“Hello World!”。这里建立的JSP 文件就直接存放在WebRoot 文件夹下。图4.2填写JSP 文件名称填写完成之后单击“Finish”关闭窗口,工具将根据填写的文件名及路径,使用模板建立JSP 文件hello.jsp。hello.jsp 文件内容默认为:接下来,就更改使用基本模板建立的JSP 文件hello.jsp,在hello.jsp 的
标签中输出“Hello World!”,代码如下:发布ch05 项目,并启动Eclipse Tomcat 服务器。图4.3JSP 版的“Hello World!”......2023-11-21
在介绍Servlet 层次结构时,列出了javax.servlet 和javax.servlet.http 这两个包包含开发Servlet 需要用到的主要API,并将其进行了分类。在这里将详细介绍这些Servlet 常用API。Servlet API 是一组基于处理客户端和服务器之间请求和响应的Java 语言标准API。例如,HttpServlet 是常用的抽象类,它的HTTP 处理方法是空的。Servlet 接口中的方法见表2.3。Servlet API 提供了Servlet 接口的直接实现,称为GenericServlet。Servlet 可以通过这些类理解客户的请求,将其处理后的内容通过HttpServletResponse 回复到Web 容器。表2.6ServletResponse 接口中常用......
2023-11-21
图7.1JSP Model 1 体系结构典型的交互过程是这样的,首先用户通过浏览器调用Web 应用程序中的JSP 页面,发送request 请求,JSP 页面接收到浏览器的请求后,通过调用JavaBean 对象的方法从数据库中读取数据,然后JSP 页面再把数据返回给浏览器,最终在浏览器中显示相应的信息。例7.1:JSP Model 1 示例。所以,Model 1 不能满足大型应用程序的需要。尽管Model 1 体系十分适合简单应用的需要,但却不能满足复杂的大型应用程序的实现。......
2023-11-21
相关推荐