一、基本概念
1、web在英语中即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
Internet上供外界访问的web资源分为:
(1)静态WEB资源(如html):值web页面中供人们浏览的数据始终是不变的;
(2)动态web资源:指web页面中供人们浏览的数据是由页面产生的,不同时间点访问web页面看到的内容各不相同;
静态web资源开发:html
常用动态web资源开发技术:JSP/Servlet、ASP、PHP等;
在Java中,动态web资源开发技术统称为JavaWeb;
2、web应用程序
web应用程序指供浏览器访问的程序,通常也称web应用,例如:a.html、b.html。。。多个web资源,这个web资源用于对外界提供服务,此时应把多个web资源放在一个目录中,以组成一个web应用(或web程序);
一个web应用有多个静态web资源和动态web资源组成,如:html、css、js文件、jsp文件、java程序、支持jar包、配置文件等;
web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射;
3、web发展史
web发展的两个阶段:静态和动态;
4、静态web
*html;*htm,这些网页的后缀,如果现在在一个服务器上直接读取这些内容,那么意味着是把这些网页内容通过网络服务器展现给用户;整个web操作过程如下:
在静态web程序中,客户端使用web浏览器(IE、FireFox等)经过网络network连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我们现在需要哪个页面,所有的请求交给web服务器,之后web服务器根据用户的需要,从文件系统(存放了所有页面的磁盘)取出内容;之后通过web服务器返回给客户端,客户端接收到内容后经过浏览器渲染分析,得到要现实的结果;
静态web中存在一下几个特点:
(1)web页面中的内容无法动态更新,所有的用户每时每刻看见的的内容和最终效果都是一样的;
为了让静态web显示更加好看,可以加入JavaScript以完成一些页面上的显示效果,但是这些特效都是在客户端上借助浏览器展现给用户的,所以在服务器上本身没有任何变化;
实现静态web客户端动态效果的手段:
a、JavaScript
b、VBScript
在实际开发中JavaScript使用的较多;
(2)静态web无法连接数据库,无法实现和用户的交互;
使用数据库保存数据是现在大多数系统的选择,因为数据库中可以方便的管理数据,增删改查操作可以使用标准的SQL语句完成;
5、动态web
所谓动态不是只页面会动,主要特性是:web页面的展示效果因时因人而变;而且动态具有交互性,web页面的内容可以动态更新,整个动态web操作的过程图如下:
动态web中依然使用客户端和服务器,客户端依然使用浏览器(IE、FireFox等),通过网络(network)连接到服务器上,使用HTTP协议发起请求(request),现在的所有请求都先经过web servlet plugin(服务器插件)来处理,此插件用于区分请求时动态资源还是静态资源。
如果web servlut plugin发现客户端请求是静态资源,则将请求直接转交给web服务器,之后web服务器从文件系统中去除内容,发送回客户端浏览器进行解析执行。
如过web servlet plugin发现客户端请求是动态资源,则先将请求转发给web container (web容器),在web container中连接数据库,从数据库中去除数据等一系列操作后,动态拼凑页面展示内容,拼奏页面展示内容后,把所有的展示内容交给web服务器,之后通过web服务器将内容发回给客户端浏览器进行解析执行;
6、动态web应用的实现手段
动态web现在的实现手段比较多,较为常见的有以下几种:
(1)Microsoft ASP 、ASP.NET
(2)PHP
(3)JAVA Servlet/JSP
6.1、Microsoft ASP、ASP.NET
微软公司动态web开发是比较早的而且最早在国内流行的是ASP。ASP就是在html语言中增加了VB脚本,但是标准的开发应用应该是使用ASP+COM,但是实际情况来看,在开发ASP的时候基本上都是在一个页面上写上成千上万的代码,页面代码记忆混乱;
ASP本身有开发平台的限制:Windows+IIS+SQL Server/Access,ASP只能运行在windows操作系统中,ASP现在基本已经淘汰,现在基本上都是使用ASP.NET进行开发,ASP.NET在性能上有了很大的改善,而且开发迅速,但依然受平台的限制,ASP.NET中主要是使用C#语言;
6.2、PHP
PHP发展速度很快,功能强大,跨平台,且代码简单;
6.3、Servlet/JSP
这是SUN公司主推的B/S架构的实现语言,是基于Java语言发展起来的,因为Java足够简单而且很干净;
Servlet/JSP技术的性能也非常高,不受平台限制,各个平台基本上都可以使用。而且在运行中是使用多线程的处理方式,所以性能很高。
SUN公司最早推出的WEB技术推出的是Servlet程序,Servlet程序本身使用的时候有一些问题,所有的程序是采用Java代码+HTML的方式编写的,即,要使用Java输出语句,一行一行输出所有HTML代码,之后,发展出了JSP(Java Servlet Page),JSP某些代码的编写效果与ASP非常相似。
二、WEB服务器
1、web服务器简介
a、web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。当web浏览器(客户端)连接到服务器上并请求文件时,服务器将处理该请求,并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看文件(即文件类型)。
b、服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应;