Web 了解和 Servlet 初次见面(中篇)

三、JavaWeb 简介

  随着 Java 语言的流行,Java 在网站和企业级应用的开发上应用得越来越普遍,Java Web开发已经成为 Java 企业级解决方案中不可或缺的重要组成部分。

  Java Web 是用 Java 技术来解决相关 web 互联网领域的技术总和。Web 包括:web 服务器和 web 客户端两部分。Java 在客户端的应用有 java applet,不过使用得很少,Java 在服务器端的应用非常的丰富,比如 Servlet,JSP 和第三方框架等等。Java 技术对 Web 领域的发展注入了强大的动力。Web 开发可以理解为做网站。

  随着网络技术的不断发展,单机的软件程序已经难以满足网络计算的需要。为此,各种各样的网络程序开发体系应运而生。其中,运用最多的网络应用程序开发体系结构可以分为两种,一种是基于浏览器/服务器的 B/S 结构,另一种是基于客户端/服务器的 C/S 结构。

3.1 C/S 体系结构

  C/S 是 Client/Server 的缩写,即客户端/服务器结构。在这种结构中,服务器通常采用高性能的 PC 机或工作站,并采用大型数据库系统(如 Oracle 或 SQL Server),客户端则需要安装专用的客户端软件。这种结构可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器,从而降低了系统的通信开销。在 2000 年以前,C/S 结构占据网络程序开发领域的主流。

Web 了解和 Servlet 初次见面(中篇)_第1张图片

3.2 B/S 体系结构

  B/S 是 Browser/Server 的缩写,即浏览器/服务器结构。在这种结构中,客户端不需要开发任何用户界面,而统一采用如 IE、Firefox、Chrome 等浏览器,通过 Web 浏览器向 Web 服务器发送请求,由 Web 服务器进行处理,并将处理结果逐级传回客户端。这种结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,从而节约了开发成本,是一种全新的软件体系结构。这种体系结构已经成为当今应用软件的首选体系结构。

Web 了解和 Servlet 初次见面(中篇)_第2张图片

四、Web 应用程序

4.1 Web 应用程序的工作原理

  Web 应用程序大体上可以分为两种,即静态网站和动态网站。早期的 Web 应用主要是静态页面的浏览,即静态网站。这些网站使用 HTML 语言来编写,放在 Web 服务器上,用户使用浏览器通过 HTTP 协议请求服务器上的 Web 页面,服务器上的 Web 服务器将接收到的用户请求处理后,再发送给客户端浏览器,显示给用户。

Web 了解和 Servlet 初次见面(中篇)_第3张图片

  随着网络的发展,很多线下业务开始向网上发展,基于 Internet 的 Web 应用也变得越来越复杂,用户所访问的资源已不能只是局限于服务器上保存的静态网页,更多的内容需要根据用户的请求动态生成页面信息,即动态网站。这些网站通常使用 HTML 语言和动态脚本语言(如 JSP、ASP 或者是 PHP 等)编写,并将编写后的程序部署 Web 服务器上,由 Web 服务器对动态脚本代码进行处理,并转化为浏览器可以解析的 HTML 代码,返回给客户端浏览器,显示给用户。

[外链图片转存失败(img-JiiFiKGK-1562810407880)(https://raw.githubusercontent.com/Cushier/picture/master/20190307170131.png)]

  就好比,静态网站类似于 10 年前的手机,这种手机只能使用出厂时设置的功能和铃声,用户自己并不能对其铃声进行添加和删除等;而动态网站则类似于现在研制的手机,用户在使用这些手机时,不再是只能使用手机中默认的铃声,而是可以根据自己的喜好任意设置。

4.2 Web 应用技术

  在开发 Web 应用程序时,通常需要应用客户端和服务器端两方面的技术。其中,客户端应用的技术主要用于展现信息内容,而服务器端应用的技术,则主要用于进行业务逻辑的处理和与数据库的交互等。

1)客户端应用的技术

  在进行 Web 应用开发时,离不开客户端技术的支持。目前,比较常用的客户端技术包括 HTML 语言、CSS、Flash 和客户端脚本技术。

  ✓ HTML HTML 语言是客户端技术的基础,主要用于显示网页信息,由浏览器解释执行,它不需要编译。

  ✓ CSS CSS 就是一种叫做样式表的技术,也有人称之为层叠样式表。在制作网页时才有用 CSS 样式,可以有效地对页面的布局、字体、颜色、背景和其他效果实现更加精确的控制。

  ✓ Flash Flash 是一种交互式矢量动画制作技术,它可以包含动画、音频、视频以及应用程序, 而且 Flash 文件比较小,非常适合在 Web 上应用。

  ✓ 客户端脚本技术 客户端脚本技术是指嵌入到 Web 页面中的程序代码,这些程序代码是一种解释性的语言,浏览器可以对客户端脚本进行解释。通过脚本语言可以实现以编程的方式对页面元素进行控制,从而增加页面的灵活性。常用的客户端脚本语言有 JavaScript 和 VBScript。目前,应用最广泛的客户端脚本语言是 JavaScript 脚本,它是 Ajax 的重要组成部分。

2)服务器端应用的技术

  在开发动态网站时,离不开服务器端技术,比较传统和经典的 Web 服务器端技术主要有:CGI、ASP、SERVLET/JSP、PHP 等。

  ✓ CGI(公用网关接口) CGI 可以说是最早的 WEB 服务器端技术,它是个 HTTP 过滤程序,其大致的原理是:CGI 是在 WEB 服务器上运行的一个程序,该程序定义了 WEB 客户请求与应答的一种方法。客户向服务器的请求(主要是 HTML 表单)只要属于 CGI 定义范围,就启动 CGI 程序,其任务是把客户的请求从网管的环境变量中取出并加以转换,提交给服务器上的 CGI 应用程序,这些程序可以用 C/C++/PERL 等语言编写,这些程序具备访问服务器资源(比如数据库)的能力,这些程序的运行结果,通过 CGI 转换成 HTML 格式,发送到客户端。CGI 程序很容易实现对服务器资源的访问,但是向客户端输出则比较麻烦,程序员不能使用“所见即所得”的网页制作工具,只能一行行手写 HTML 代码,向客户端输出,不适合生成复杂页面,这项技术现在使用的人不多。但是,CGI 的基本原理却被后续的服务器端网页技术沿用。

  ✓ ASP ASP 是微软研发的技术,出现于 1997 年前后。它解决了 CGI 的输出麻烦。ASP 允许 HTML 和服务器端脚本混合编程。可以在 HTML 中插入括起来的代码段,这些代码可以用 JavaScript\VBScript 等脚本语言编写,但他们是在服务器上执行的。ASP 编程是非常方便的,你可以先用“所见即所得”的网页制作工具把页面效果做出来,然后再在其中插入服务器端脚本输出服务器端的计算结果。它的缺点是:HTML 和脚本混合编程,使程序的可读性很差,不利于维护大型 WEB 项目,脚本程序的调试也是个问题。2003 年前后退出的 ASP.NET 基本解决了上述问题。ASP 还内置了几个对象,这些对象不需要实例化即可使用,实现网页的状态维护、HTTP 模拟等功能,这些对象后来大都出现于 JSP 中。

  ✓ PHP PHP 语法类似于 C,另外混合了 Perl、C++和 Java 的一些特性。它是一种开源的 Web 服务器脚本语言,于 ASP 一样可以在页面中加入脚本代码来生成动态内容。对于一些复杂的操作可以封装到函数或类中。在 PHP 中提供了许多已经定义好的函数,例如提供的标准的数据库接口,数据库连接方面,扩展性强。PHP 可以被多个平台支持但被广泛应用于 UNIX/Linux 平台。由于 PHP 本身的代码对外开放,并且经过许多软件工程师的检测,因此到目前为止该技术具有公认的安全性能。

  ✓ JSP Java Server Page 简称 JSP。JSP 是以 Java 为基础开发的,所以它沿用 Java 强大的 API 功能。JSP 页面中的 HTML 代码用来显示静态内容部分,嵌入到页面中的 Java 代码与 JSP 标记用来生成动态的内容。JSP 允许程序员编写自己的标签库来完成应用程序的特定要求。JSP 可以被预编译,提高了程序的运行速度。另外,JSP 开发的应用程序经过一次编译后,便可随时随地运行。所以在绝大部分系统平台中,代码无需做修改即可在支持 JSP 的任何服务器中运行。

  ✓ Servlet Servlet 是 Java 早期的 Web 服务器端技术,用 Java 语言编写。无论是从原理和编程方式 上,几乎就是 CGI 的翻版,具有 CGI 的缺点和优点,与 CGI 主要不同的是,Servlet 对每个请求都是单独启动一个线程,而不是进程。

如需更多资料和学习视频加QQ 码歌Claire:377851038

你可能感兴趣的:(web,web,servlet,0基础)