Java Web学习(1):Web应用程序与Web服务器

         一Web应用程序

        (1)什么是Web应用程序

        应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览

器端/服务器端应用程序,这类应用程序一般借助浏览器来运行。

        Web应用程序一般是B/S模式。Web应用程序首先是应用程序,和用标准的程序语言,如Java、PHP等编写出来

的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法

运行的。换句话说,它是典型的浏览器/服务器架构的产物。

        一个Web应用程序是由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界。

在实际应用中,Web应用程序是由多个Servlet、JSP页面、HTML文件以及图像文件等组成。所有这些组件相互协调

为用户提供一组完整的服务。

        Web应用程序是一种可以能通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程

序。用户只需要有浏览器即可,不需要再安装其他软件。

        Web应用程序,首先,web是互联网的总称。包括HTML,CSS,HTTP协议等。也就是说只要是基于网络技术

运行的网站或软件(实际上也是网站,比如在线的画图板)就叫Web应用程序。

        (2)我们生活中最常见的Web应用程序有哪些呢?

        电商网站:淘宝、天猫、当当等;

        门户站点:搜狐、新浪、腾讯等。

Java Web学习(1):Web应用程序与Web服务器_第1张图片

        二Web应用程序架构优点

        浏览器/服务器架构(Browser/Server,简称B/S)能够很好地应用在广域网上,成为越来越多的企业的选择。浏览器/

服务器架构相对于其他几种应用程序体系结构,有如下3方面的优点:

       1)这种架构采用Internet上标准的通信协议(通常是TCP/IP协议)作为客户机同服务器通信的协议。这样可以使位于

Internet任意位置的人都能够正常访问服务器。对于服务器来说,通过相应的Web服务和数据库服务可以对数据进行处

理。对外采用标准的通信协议,以便共享数据。

       2)在服务器上对数据进行处理,就处理的结果生成网页,以方便客户端直接下载。

       3)在客户机上对数据的处理被进一步简化,将浏览器作为客户端的应用程序,以实现对数据的显示。不再需要为

客户端单独编写和安装其他类型的应用程序。这样,在客户端只需要安装一套内置浏览器的操作系统,如Window 7或

Windows 8或直接安装一套浏览器,就可以实现服务器上数据的访问。而浏览器是计算机的标准设备。

       三为什么要学习Web应用程序

       (1)软件三大领域

        我们说Web应用程序开发,是目前软件开发领域的三大方向之一。

       软件开发三大领域包括:

       桌面应用程序:QQ,Office等(使用的是C/S架构);

       Web应用程序:京东,天猫等(使用的是B/S架构);

       嵌入式应用程序:IOS,Android等。

Java Web学习(1):Web应用程序与Web服务器_第2张图片

       (2)Web应用程序属于JavaEE方向

       JavaEE方向需求一直很大的,也是就业比较容易个稳定的,在一线城市有两年以上JavaEE开发经验的工程师起

薪就有10-15K。

       Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。

Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三

方框架等等。Java技术对Web领域的发展注入了强大的动力。

       四Web应用程序开发的相关知识

       (1)Web开发的相关知识

  Web,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。

  Internet上供外界访问的Web资源分为:

       静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。

       动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不同。

  静态web资源开发技术:HTML、CSS等。

  常用动态web资源开发技术:JSP/Servlet、ASP.NET、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

   *htm、*html,这些是网页的后缀,如果现在在一个服务器上直接读取这些内容,那么意味着是把这些网页的内

容通过网络服务器展现给用户。整个静态Web操作的过程图如下:

Java Web学习(1):Web应用程序与Web服务器_第3张图片

  在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议

发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后Web服务器根据

用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到

内容之后经过浏览器渲染解析,得到显示的效果。

  静态Web中存在以下几个缺点:

  1)Web页面中的内容无法动态更新,所有的用户每时每刻看见的内容和最终效果都是一样的。

  为了可以让静态的Web的显示更加好看,可以加入了JavaScript以完成一些页面上的显示特效,但是这些特效都

是在客户端上借助于浏览器展现给用户的,所以在服务器上本身并没有任何的变化。

  实现静态Web客户端动态效果的手段:JavaScript和VBScrip。在实际的开发中JavaScript使用得最多。

  2)静态Web无法连接数据库,无法实现和用户的交互。

  使用数据库保存数据是现在大多数系统的选择,因为数据库中可以方便地管理数据,增删改查操作可以使用标准

的SQL语句完成。

       (5)动态Web

  所谓的动态不是指页面会动,主要的特性的是:“Web的页面展示效果因时因人而变”,而且动态Web具有交互

性,Web的页面的内容可以动态更新。整个动态Web操作的过程图如下:

Java Web学习(1):Web应用程序与Web服务器_第4张图片

  动态Web中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到

服务器上,使用HTTP协议发起请求(Request),现在的所有请求都先经过一个Web Server Plugin(服务器插件)来

处理,此插件用于区分是请求的是静态资源(*.htm或者是*.htm)还是动态资源。

  如果Web Server Plugin发现客户端请求的是静态资源(*.htm或者是*.htm),则将请求直接转交给Web服务器,之

后Web服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行。

  如果Wev Server Plugin发现客户端请求的是动态资源(*.jsp、*.asp/*.aspx、*.php),则先将请求转交给Web 

Container(Web容器),在Web Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内

容,拼凑页面的展示内容后,把所有的展示内容交给Web服务器,之后通过Web服务器将内容发送回客户端浏览器进

行解析执行。

       (6)动态Web应用的实现手段

  动态Web现在的实现手段非常多,较为常见的有以下几种:

       Microsoft ASP、ASP.NET

       PHP

       JAVA Servlet/JSP

       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#语言。

       2)PHP

  PHP开发速度很快,功能强大,跨平台(平台指的就是运行的操作系统),而且代码也简单。

       3)Servlet/JSP

  这是SUN公司(SUN现在已经被Oracle公司收购)主推的B/S架构的实现语言,是基于Java语言发展起来的,因为

Java语言足够简单,而且很干净。

  Servlet/JSP技术的性能也是非常高的,不受平台的限制,各个平台基本上都可以使用。而且在运行中是使用多线

程的处理方式,所以性能非常高。

  SUN公司最早推出的Web技术推出的是Servlet程序,Servlet程序本身使用的时候有一些问题,所有的程序是采用

Java代码+HTML的方式编写的,即,要使用JAVA输出语句,一行一行地输出所有的HTML代码,之后,SUN公司受

到了ASP的启发,发展出了JSP(Java Server Page),JSP某些代码的编写效果与ASP是非常相似的。这样可以很方便

地使一些ASP程序员转向JSP的学习,加大市场的竞争力度。

       常见动态网站开发技术对比:

       JSP:Java平台,安全性高,适合开发大型的,企业级的Web应用程序。基于Java架构的分布式的框架hadoop。

适合做电子银行,网上证券交易所,三大运营商的网上营业厅,12306等。

       ASP.NET:.NET平台,简单易学,但是安全性以及跨平台性差。

       PHP:简单,高效,成本低开发周期短,特别适合中小型企业的Web应用程序开发。开发黄金组合LAMP:

Linux+Apache+MySQL+PHP。

       五Web服务器

        (1)WEB服务器简介

  1)Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。当Web

浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏

览器如何查看该文件(即文件类型)。

Java Web学习(1):Web应用程序与Web服务器_第5张图片

  2)服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。

Java Web学习(1):Web应用程序与Web服务器_第6张图片

       (2)常见的Web服务器介绍

  1)WebLogic

  WebLogic是美国bea公司出品的一个application server。BEA WebLogic是用于开发、集成、部署和管理大型分

布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和JavaEE标准的安全性引入大型网络

应用的开发、集成、部署和管理之中。是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应

新的开发要求,启动界面如图:

Java Web学习(1):Web应用程序与Web服务器_第7张图片

  2)WebSphere

  WebSphere Application Server 是一种功能完善、开放的Web应用程序服务器,是IBM公司电子商务计划的核心

部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。这一整套产品进行了

扩展,以适应 Web应用程序服务器的需要,范围从简单到高级直到企业级。启动界面如图:

Java Web学习(1):Web应用程序与Web服务器_第8张图片

  3)Tomcat

  Tomcat是一个实现了JavaEE标准的最小的WEB服务器,是Apache软件基金会的Jakarta项目中的一个核心项

目,由Apache、Sun和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且开源免费,因而

深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。学习Java Web开发

般都使用Tomcat服务器,该服务器支持全部JSP以及Servlet规范,启动界面如图:

Java Web学习(1):Web应用程序与Web服务器_第9张图片

   4)IIS

   Microsoft的Web服务器产品为Internet Information Services(IIS),IIS 是允许在公共Intranet或Internet上发布

信息的Web服务器。ⅡS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在ⅡS的平 台上。IIS提供了

一个图形界面的管理工具,称为Internet信息服务管理器,可用于监视配置和控制Internet服务。

   IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏

览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的

事。它提供ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连

接器,可以实现对数据库的查询和更新。

  Java Web学习(1):Web应用程序与Web服务器_第10张图片


你可能感兴趣的:(JavaWeb,Java,Web学习之路)