一、基本概念1.1、WEB开发的相关知识
网络,在英文中被称为web,这一术语指的是网页,它被用来指代主机上可供外部访问的资源。这些可供外部访问的网络资源主要包括:
静态网络资源,例如HTML页面,指的是用户浏览时内容始终保持不变的网页数据。而动态网络资源则是指那些由程序生成,用户在不同时间访问同一网页时,所看到的内容会有所不同的网页数据。
静态网页资源制作技术为Html,而常用的动态网页资源制作技术包括JSP、ASP、PHP等多种类型,在Java编程语言中,这些动态网页资源制作技术被统称为Web组件开发技术。
1.2、WEB应用程序
网络应用程序是供用户通过浏览器进行访问的应用软件,人们通常也会将其简称为web应用。存在诸如a.html、b.html等众多网页资源,这些资源共同对外提供信息服务。在这种情况下,应当将这些网页资源集中存放于同一目录之下,以此构建一个完整的web应用或web应用程序。该web应用由众多静态和动态资源构成,例如:html、css、js文件,Jsp文件、java程序、所需的jar包以及配置文件等。一旦Web应用完成开发,若要使其对外界开放,就必须将应用存放的目录委托给Web服务器进行管理,这一操作被称为虚拟目录的配置映射。
1.3、WEB发展史
WEB发展的两个阶段:静态、动态
1.4、静态WEB
.htm、.html,这类标识代表网页文件的格式,若在服务器上直接对这些文件进行读取,即表示将通过网络服务器向用户展示这些网页内容。静态WEB操作的流程图展示如下:
在静态网页程序中,用户通过WEB浏览器(如IE等)借助网络渠道与服务器建立连接,随后利用HTTP协议向服务器发送一个请求,明确告知服务器所需访问的页面信息。所有这些请求都会被WEB服务器接收并处理,随后服务器会根据用户的需求,从存储所有静态页面的文件系统中提取相应内容。随后,这些信息由WEB服务器发送至客户端,客户端在接收到相关内容后,通过浏览器的渲染和解析,最终呈现出相应的视觉效果。
静态WEB中存在以下几个缺点:
网页上的信息无法实现实时变化,每位用户在任意时刻所看到的内容以及最终的呈现效果均保持一致。
为了提升静态网页的视觉效果,我们加入了多种页面显示特效,但这些效果仅通过客户端的浏览器呈现给用户,服务器端实际上并未发生任何改变。
实现静态WEB客户端动态效果的手段:
在实际的开发中使用得最多。
2、静态WEB无法连接数据库,无法实现和用户的交互。
大多数系统倾向于采用数据库来存储信息,这主要是因为数据库能够简化数据的管理流程,而且增删改查等基本操作都能通过通用的SQL指令轻松实现。
1.5、动态WEB
所谓的动态并非指页面本身发生移动,其核心特性在于:“网页的呈现效果会随时间与用户的不同而有所变化”,此外,动态网页还具备交互功能,网页内容能够实现实时更新。具体到动态网页的操作流程,可参考以下示意图:
在动态网页技术中,程序依旧采用客户端与服务器端架构,客户端依旧依赖浏览器如IE等,通过互联网连接至服务器,并利用HTTP协议发送请求。目前,所有请求在发送前都必须先经过一个网络服务器插件(一种服务器端软件)的处理,该插件的主要功能是辨别请求内容是静态资源(如*.htm或*.html文件)还是动态资源。
一旦WEB检测到客户端请求的是静态资源,如HTML文件(以*.htm结尾),它便会将此请求直接传递给WEB服务器。随后,WEB服务器会从文件系统中提取相应的内容,并将其发送回客户端的浏览器,以便进行解析和执行。
一旦WEB检测到客户端请求的是动态资源,如jsp、asp、aspx或php文件,它便会将请求传递给WEB容器处理。随后,WEB容器会连接数据库,执行一系列数据提取操作,并将提取的数据动态地组合成页面展示内容。组合完成后,所有内容会被发送至WEB服务器。最终,WEB服务器将这些内容发送回客户端浏览器,由浏览器进行解析和执行。
1.6、动态WEB应用的实现手段
动态WEB现在的实现手段非常多,较为常见的有以下几种:
1、 ASP、ASP.NET
微软在动态WEB开发领域起步较早,其中ASP( )在国内尤为盛行。ASP实质上是将VB脚本嵌入HTML语言中,然而,理想的开发模式应是采用ASP+COM组合。然而,实际操作中,开发ASP时往往在一个页面中堆积了成百上千行代码,导致页面代码极度杂乱。
ASP自身存在开发环境的局限:它依赖于IIS和SQL等组件,只能在特定的操作系统上运行。如今,ASP已被淘汰,取而代之的是ASP.NET。ASP.NET在性能上有了显著提升,并且开发效率更高,尽管它仍受到平台限制。在ASP.NET中,主要采用C#语言进行开发。
2.PHP
PHP编程效率高,功能全面,适用于多种操作系统,且其代码结构清晰易读。
3./JSP
SUN公司曾大力推广的B/S架构所采用的编程语言,源自JAVA语言,该语言因其简洁性和纯净性而备受青睐。
JSP技术的性能卓越,不受平台限制,几乎所有平台都能兼容。此外,它在运行过程中采用多线程处理机制,因此展现出极高的性能。
SUN公司最初推出的WEB技术涉及的是程序,该程序在使用过程中存在一些问题;这些程序均以JAVA代码与HTML相结合的方式进行编写,也就是说,必须通过JAVA的输出语句逐行生成全部的HTML代码;随后,SUN公司受到ASP的启发,进而研发出了JSP(Java Page)技术;值得注意的是,JSP中某些代码的编写方式与ASP极为相似。这种做法能极大地便利ASP程序员转向JSP技术的学习,从而有效增强市场的竞争强度。
二、WEB服务器2.1、WEB服务器简介
Web服务器是一种程序,它存在于互联网上的特定类型计算机中,其主要功能是向请求文档的浏览器提供所需内容。当Web浏览器(即客户端)与服务器建立连接并发送文件请求时,服务器会处理这一请求,并将文件传输回浏览器。同时,服务器还会提供相关信息,告知浏览器如何正确查看该文件,即文件的类型。
服务器作为一种被动程序,它仅在接收到运行于其他计算机上的浏览器所发送的请求之后,才会做出响应。
2.2、常见的Web服务器介绍 1、
BEA公司生产的这款产品,是一款专门用于开发、集成、部署以及管理大规模分布式Web应用、网络应用和数据库应用的Java应用服务器。它将Java的动态特性以及Java标准的安全机制融入到大型网络应用的开发、集成、部署和管理过程之中。它是目前使用最为普遍的Web服务器,遵循J2EE标准,并持续优化,以适应不断变化的开发需求;其启动界面展示如下。
2、
这是一款功能全面且开放性的网络应用服务器,作为IBM公司电子商务战略的关键环节,它依托Java技术构建,专门用于创建、实施以及维护Web应用。该系列产品经过拓展,以满足不同层次的网络应用服务器需求,覆盖了从基础到高级直至企业级的应用。启动画面如图所示。
3、
它是一款符合JAVA EE标准的微型WEB服务器,是软件基金会项目中的关键组成部分,由Sun公司以及其他多家企业和个人共同参与开发。凭借其先进的技术、稳定的性能,以及开源且免费的特性,这款服务器深受Java爱好者的青睐,并获得了众多软件开发商的认可,现已成为较为流行的Web应用服务器之一。进行软件开发时,通常会选择服务器作为工具,这种服务器能够兼容所有JSP规范,并且启动时的界面展示如下:
4、IIS
该Web服务器产品被称为IIS,它是一种允许在公共或私人领域发布信息的网络服务器。IIS是目前最受欢迎的Web服务器产品之一,众多知名网站均基于其平台构建。IIS配备了一个名为信息服务管理器的图形界面管理工具,该工具能够对服务进行监控、配置与控制。
IIS是一款集成了多种网络服务的组件,涵盖了Web服务器、FTP服务器、NNTP服务器以及SMTP服务器等功能。这些服务分别支持网页浏览、文件传输、新闻资讯的发布以及电子邮件的发送。借助IIS,无论是在互联网还是局域网中,发布信息都变得异常便捷。它为Web服务器的功能拓展提供了API编程接口;此外,它还配备了数据库连接器,能够执行对数据库的查询与更新操作。
学习网页开发技术,首先必须搭建一台网络服务器,接着在服务器上创建必要的网页资源,以便用户能够通过浏览器进行访问。
三、构建应用开发平台——服务器3.1、疑问:为何在学习网络编程的过程中,我们首先需要安装一个网络服务器?
在本地机器上随意搭建一个网页,用户是无法对其进行浏览的;然而,一旦服务器被激活,并将该网页置于服务器之中,用户便能够成功访问。这揭示了哪些问题呢?首先,无论何种网页资源,若要被远端计算机所访问,都必须配备相应的网络通信软件;其次,当用户发起访问时,该网络通信软件会读取网页资源的相关数据,并将这些数据传输给访问者。WEB服务器是一种程序,其主要功能是实现网络通信的基础。借助这些服务器,We应用的开发人员只需专注于编写Web资源,无需担忧资源传递至客户端的过程,这显著降低了开发者的工作负担。
3.2、下载和安装服务器
官方站点:
下载安装程序包:
点击【】跳转到如下图所示的下载页面
tar.gz格式的文件是适用于操作系统的安装包,而exe文件则是系统中的安装程序,zip文件则是系统中的压缩文件。
下载完成后,得到的是一个压缩包
,将压缩包解压就可以完成服务器的安装
解压该压缩文件后,便会呈现出与图中相似的文件夹结构,从而标志着服务器安装工作的圆满完成。
3.3、启动和测试服务器
启动服务器
双击 bin 目录下的 .bat 文件启动服务器
测试服务器
打开浏览器,输入:8080/,能显示如下界面代表安装成功。
3.4、启动常见问题
导致服务器无法正常启动的原因一般来说就是如下的两个:
1、环境变量设置问题
若想通过双击bin目录中的.bat文件来启动服务器,必须先在中配置相应的环境变量。这是因为服务器启动过程中会依赖这一环境变量,若未设置该变量,服务器将无法成功启动。
在中配置变量
在win7系统中执行以下操作步骤:首先,点击计算机图标,然后选择右键菜单中的“属性”选项;接着,在弹出的窗口中找到并点击“高级系统设置”;进入高级设置后,继续点击“环境变量”,具体操作路径如上图所示。
在系统变量界面下,点击“新建”按钮,将弹出一个创建新系统变量的对话框。在此对话框中,首先需要输入变量名,该名称应直接体现其含义,即JDK的安装路径。接下来,在变量值栏中填写JDK的安装路径,例如本例中设置的变量值为"D:\ (x86)\Java\jdk1.7.0"。完成变量值的设置后,点击“确定”按钮,环境变量的配置即告完成。如上图所示,系统变量列表中新增了一个相应的变量。
通常情况下,进行Java开发学习的第一步是设置Path环境变量,而一个较为理想的配置方法是:首先设置好环境变量,接着在Path变量中通过使用"%%"符号来引用已设置变量的值。
因此,这类环境变量在多数情况下业已设定,若不幸遗忘其配置,不妨依照之前所述方法进行设置。
2、端口占用问题
服务器在启动时默认采用8080端口,若此端口已被其他应用程序占用,服务器将无法顺利启动,此时会出现“服务器启动界面显示异常错误信息,随后系统会自动终止运行”的情况,具体如以下图示:
因为这个窗口的开启与关闭过程极为迅速,所以我们几乎无法借此窗口捕捉到启动阶段的错误异常信息;因此,我们通常只能依赖服务器所记录的日志(log)来了解其运行状况。
在服务器的根目录下有一个logs文件夹,
logs文件夹中保存的日志资料,若您打开此文件夹,便能发现其中的log文件。在这些文件中,存在一种特定格式的log文件,其命名方式为".yyyy-MM-dd.log",如".2014-05-17.log",此类文件专门记录了服务器在2014年5月17日这一天的运行状况。