第二讲 Web应用概述
主要内容:
n
什么是Web
应用;
n Web
应用是如何运行的;
n Web
应用关注的内容;
n
流行的Web
应用开发技术;
n Web
应用的常用功能;
什么是Web应用
我们通过浏览器可以访问新浪网、中华网、淘宝网、网易、搜狐网、微软的网站、Sun
公司的网站等等,这些就是Web
应用。对于Web
应用,我们需要使用浏览器,通过网络,访问在远程的服务器运行的程序。Web
应用指的就是这些网站中的程序。
一个网站由大量的页面组成,每个页面通常是由一个文件组成,也可能由多个文件组成。组成一个网站的大量文件相互之间通过特定的方式进行连接,并且存在一个系统来管理这些文件。管理这些文件的系统通常称为应用服务器,它的主要作用就是管理这些文件。
Web应用是如何运行的
多数读者都上过网,应该对上网的过程比较熟悉,上网的一般过程如下:
u
打开浏览器。
u
输入某个网址。
u
经过一段时间的等待。
u
浏览器显示要访问的信息。
然后可以在网页继续进行其他操作,可能的操作如下:
u
在网页上点击超级链接访问我们希望访问的内容,等待浏览器中内容的再次更新。
u
在网页上输入一些信息,然后点击按钮,等待浏览器中内容的再次更新。
不管是在地址栏输入地址,还是点击超级链接或者点击按钮,都需要等待浏览器中内容的更新。等待浏览器内容更新的过程,实际上是浏览器访问Web
应用的过程。这个过程如下:
u
浏览器根据我们输入的地址找到相应的服务器,不同的网站对应不同的服务器。这个服务器可以接收浏览器发送的请求,通常称为Web
服务器。
u Web
服务器把这个请求交给相应的文件管理器,这个文件管理器也是一个服务器,通常称为应用服务器。
u
应用服务器接收到请求之后,查找相应的文件,加载并执行这个文件。执行的结果通常是HTML
文档。
u
应用服务器执行完相应的文件之后,把执行的结果返回给Web
服务器,Web
服务器再把这个结果返回给浏览器。
u
浏览器解析HTML
文档,然后把解析后的网页显示给用户。
Web应用关注的内容
从上面对Web
应用的运行过程的分析可以看出,Web
应用涉及如下几个方面。
文件
文件是网站中最主要的部分,各个不同的网站之间的差别主要是因为它们是由不同的文件组成,而不同的文件可以完成不同的功能。这些文件主要是由网站的创建人员编写的。本书的大部分内容就是介绍如何编写这些文件。
对于这些文件的访问,可以有很多种方式。可以在地址栏中输入地址进行访问,可以通过点击超链接进行访问,可以通过点击按钮进行访问。通过输入地址进行访问的方式没有其他两种方式方便,通常仅仅是在第一次访问这个网站的第一个页面时候使用。如果不需要提交信息,通常使用超链接的方式,如果要提交信息,使用按钮的形式。
程序的运行支持:应用服务器、浏览器、Web服务器。
编写好的文件并不能独立运行,而是需要在应用服务器中运行,必须有应用服务器的支持,应用服务器负责查找、加载、执行文件。要访问这些文件,需要通过浏览器访问,所以要访问Web
应用必须有浏览器。浏览器与应用服务器之间的交互是通过Web
服务器完成的,Web
服务器可以接收浏览器发送的请求,能够把请求转发给应用服务器,能够把应用服务器执行的结果发送给浏览器。通常情况下,应用服务器和Web
服务器是集成在一起的。要开发和运行Web
应用,我们需要搭建这些环境。
用户
Web
应用的用户就是访问网站的人。访问网站的人可能是各种各样的人,他们在访问Web
应用的时候是不需要培训的,所在开发Web
应用的时候应该时刻想着这个问题,不能认为用户什么都可以做,会按照我们的想法做。我们应该多为用户着想,多从用户的角度思考,编写的程序应该尽量方便用户的操作,尽量降低用户在操作过程中出现错误的概率。
部署人员
编写好的应用要部署到应用服务器上才能运行,有时候是由编写人员来完成这个部署过程,有时候需要专门的人员来完成。部署人员应该对服务器非常熟悉。
学习本课程的目标就是能够编写一个完整的网站所涉及的所有文件,并能够把这些文件部署到服务器上,之后能够通过客户端对其进行访问。在实际应用中,网站位于单独的服务器上,客户通过不同的客户端对网站进行访问。在学习的过程中,我们的电脑既作为服务器也作为客户端。
流行的Web应用开发技术
你上网的时候,在地址栏中经常会看到文件的名字,后面有后缀名,通常根据后缀名可以知道网站采用什么技术完成的。
当你浏览Sun
公司网站的时候,经常看到地址栏中的文件名的后缀是.jsp
。例如http://java.sun.com/javase/index.jsp
,这个地址是Java
标准版网页的首页,说明使用的是JSP
技术。
优快云
是一个大型的程序员交流的网站,经常会看到网页的后缀名是.aspx
。例如csdn
的blog
,您在查看文章的时候会发现后缀名是.aspx
,说明使用的是ASP.NET
技术。
sohu
新闻网页的首页地址是http://news.sohu.com
,你在浏览里面的网页的时候会发现多数网页的后缀名是.php
,说明该网站采用的技术是PHP
。有可能你在浏览网页的时候会发现网页的后缀名也有.jsp
,说明sohu
网站的某些模块是采用JSP
技术。同样优快云
学生大本营也采用了PHP
技术。
当然有时候并不能从网页的后缀名看出网站所使用的技术,例如大家非常熟悉的sina
网,你在访问网站的过程中很少能够看到文件的后缀名。
上面给出了3
个采用不同技术实现的网站的例子,他们分别采用的是JSP
、ASP.NET
和PHP
技术。实际上这3
种技术也是目前流行的Web
应用开发技术。
JSP
是Sun
公司的标准,有多个公司参与和支持,包括IBM
、Oracle
、BEA
等公司,还有一些社团,包括著名的Apache
组织。JSP
主要采用Java
技术完成。
ASP.NET
是微软公司的技术,以前使用ASP
较多。
PHP
不属于某个公司,是开放源代码的,也是一种非常流行的Web
应用开发技术。
Web应用的常用功能
只有了解了一个网站最常用的功能,才知道我们需要解决哪些问题。下面对一个Web
应用所涉及的功能进行描述。
信息展示
信息展示是网站必不可少的功能,不管您上过什么样的网站,多数时候都是在浏览上面的信息,这也是多数网站最主要的功能。对于普通的用户,使用Web
应用的主要目的也是查看信息。可以认为展示信息是Web
应用的输出功能。对于静态网站(信息基本上不发生变化)来说,展示信息几乎就是网站的全部功能。
信息查询
在网站信息量非常大的时候,通过浏览信息来获取想要的信息将非常困难。网站必须提供功能强大的查询来方便用户的操作。查询的方式可以有很多。可以根据关键字查询,例如根据用户名、根据产品编号等。可以根据日期查询或者日期范围查询,例如在某个时间之前,或者在某个时间区间。可以组合查询,根据多个条件查询。可以进行模糊查询,只要包含所提供的信息就可以查询到。
信息输入
大部分动态网站的信息是动态变化的,信息需要不断更新,需要向系统添加信息。例如,一个新闻网站,每天都要添加新闻。
信息的添加可以采用多种方式:
n
用户选择,例如性别等信息。
n
用户输入,例如姓名、生日等。
n
用户上传,例如文本文件、图片文件和声音文件等。
信息更新
信息更新包括信息的修改和删除,多数网站在运行的过程中,都需要对信息进行更新。修改功能需要把原来的信息用新的信息替换。删除功能用于删除不再需要的信息。
信息处理
网站必须对用户的各种要求进行处理。用户需要查询信息,网站就需要根据用户的要求查询,如果用户需要计算某个信息,网站就需要完成计算过程。
具体信息处理的过程和内容是由网站的功能决定的。例如,银行的交易系统,需要进行的各种处理主要是跟银行各种业务相关的处理。再例如,飞机票预订系统主要完成与飞机票预订相关的处理。
信息存储
各种网站都涉及大量的信息,这些大量的信息必须进行存储,通常使用数据库存储,在很特殊的情况下可能会使用文件。从本质上来说没有太大的区别。
在Web
应用中信息存储是必不可少的部分,并且目前多数网站的主要功能基本上是围绕所存储的信息。在未来的发展趋势中,在Web
应用中信息将更加重要。
下一次:
第三讲 Java Web应用概述