JavaWeb概述与Web发布



JavaWeb概述

Java Web开发是用Java技术来解决相关Web互联网领域的技术的总和,指的是利用JSP、Servlet、XML和JavaBean等等技术开发Web应用程序。

Web包括服务器端和客户端。开发Java Web应用程序不仅要用到开发静态网站的HTML、JavaScript、CSS等等技术,还要使用数据库,MVC框架等。

HTML(Hyper Text Mark-up Language,超文本标记语言)是一种万维网应用最为广泛的信息表示语言。使用HTML语言编写的文件称为HTML文件,扩展名为.html或者.htm。HTML语言包括一系列的元素和标签,可以将文本、表格、图片、声音以及动画等等组合在一起,进行各种资源的排列及显示。

XML(Extensible Markup Language,可扩展标记语言)是一种用来创建自定义标记的语言。开发者可以利用XML对数据进行描述、传输以及交换,可利用XML创建新的标记语言。它可以标记数据,定义数据类型,使数据更具有结构性。XML已被广泛应用于Java Web的配置中,例如Java Web项目的配置文件web.xml,Struts框架的配置文件struts.xml,Hibernate框架的配置文件hibernate.cfg.xml以及Spring框架的配置文件bean.xml以及applicationContext.xml等。但是,XML也存在一些缺点,例如,XML采用的是树状结构,插入和修改比较困难;当数据量较大时,存储效率较低。另外,XML的管理功能不够完善;各种XML标准间的通信也存在问题

JavaScript是目前网络上最流行的客户端脚本语言,它被设计用来为网页添加一些交互的行为。使用一对<script>标签将可以将JavaScript脚本添加到网页中,使网页变得更加生动活泼。

JavaScript语言和Java语言除了语法有些相似之外,并无其它关联,二者是两种完全不同的语言,区别如表所示:

CSS(Cascading Style Sheets,级联式菜单或层叠样式表)是一种用来表现HTML或XML等文件样式的技术。使用CSS可以实现页面的内容和样式的分离,HTML语言用来定义页面的内容,而CSS用来定义页面的样式或风格。CSS更高效,更灵活,维护简单方便,也更容易使整个网站的页面风格统一。

C/S是Client/Server的简写,即客户机/服务器架构。它是一种软件体系结构,可以充分利用Client和Server两端的硬件环境,将任务合理进行分配,降低整个系统的通讯开销,从而提高工作效率。

B/S是Browser/Server的简写,即浏览器/服务器架构,也是一种软件体系结构。用户界面可以完全通过浏览器实现,部分业务逻辑处理在浏览器端实现,但主要的业务逻辑处理仍然在服务器端实现。

动态网站指的是基于数据库架构的网站,一般由动态网页,后台处理程序以及数据库文件组成。

动态网页指的是利用动态网站技术设计制作的网页,例如“.jsp”文件。

常用的动态网页技术:

CGI的全称是Common Gateway Interface,即通用网关接口。CGI是用于Web服务器和外部应用之间信息交换的标准接口。CGI的组成一般是分成两个部分:一部是html页面,即客户端浏览器上显示的页面;另一部分是运行在服务器上的CGI程序。当多个CGI程序同时执行时,服务器要启动多个进程,导致负载过重,从页影响服务器的性能。

ASP的全称是Active Server Pages,它是微软开发的动态网页技术。在HTML中嵌入脚本语言,例如JavaScript和VBScript。其优点:简单易学,安装简单,只需要安装IIS组件。缺点:受制于系统缺陷和漏洞,编译效率低,无法跨平台,不支持集群和负载平衡。

Personal Home Page,是一种创建动态交互性站点的强有力的服务器端脚本语言。混合了C、Java、Perl语法,并加入自己的特性。免费,使用广泛。搭配Apache作为Web服务器一起使用,也支持ISAPI(Internet Server Application Programming Interface,Internet服务器应用程序接口),并且也可以运行于Windows的IIS平台。优点:语法简单,书写容易,跨平台,与数据库良好的交互能力;与Apache及其它平台以静态编译的方式结合起来,可以优化CPU和内存的使用;和数据库的接口也是静态连编,本地化调用,可以发挥数据库的最佳性能;安全性能良好。缺点:数据库接口不规范;安装和使用复杂;缺少企业级的支持。

JSP全称Java Server Pages,由Sun公司倡导,多家公司参与建立的动态网页技术标准。在网页中插入Java程序段和JSP标记,从而形成JSP文件。Java语言为后台语言。可以实现将网页逻辑与设计显示相分离。优点:次编写,处处运行。字节码文件可以在具有JVM(Java Virtual Machine,Java虚拟机)的任何平台上运行;系统的多平台支持;强大的可伸缩性;强大的开发工具的支持。缺点:产品的复杂性;需要内存开销来存储class,需要硬盘空间存储类文件以及class文件;JSP在运行时,先转译成Servlet,然后再编译成class文件。如果出现错误,浏览器中显示的错误是Servlet的错误信息,会给调试带来一定的困难。

常见的JavaWeb服务器有Tomcat、WebLogic、JBoss、WebSphere等。


HTTP协议

HTTP超文本传输协议,它是一个无状态协议,它基于客户机/服务器模型。客户机与服务器通信之前要先建立一个连接,并将一个请求消息通过连接发送到Web服务器,服务器对请求进行处理,并将处理结果返回给客户端。服务器在返回客户端请求后关闭了这个连接,在服务器端没有保留任何客户端的信息,所以HTTP是无状态协议。

HTTP向服务器提交请求有两种方式,一种是GET方法,另一种是POST方法。

GET方法:从指定的资源请求数据。

POST方法:向指定的资源提交要被处理的数据。

HTTP请求由3个部分构成,分别是:1、请求方法URI协议/版本;2、请求头;3、请求正文

下面是通过TCP/IP monitor 监听访问http://localhost:8088/learn-help的请求和响应信息:

两种方法的区别:



Web服务器Tomcat

一、Servlet容器介绍

Servlet是一种运行在支持Java语言的服务器上的组件,它与普通Java类的区别是它必须运行在服务器中。使用Servlet可以实现很多网络服务功能,为网络客户提供安全可靠的、易于移植的动态网页。由于Java语言的平台无关性,加之Servlet是运行在服务器端,所以对于网络用户,Servlet的运行是完全透明的。

Servlet容器的作用是处理客户端的请求,并将处理结果返回给客户端。在Servlet容器中,当客户请求到来时,Servlet容器获取请求,然后调用某个Servlet,并把Servlet的执行结果返回给客户。Tomcat就是这样的一个Servlet容器。

二、Tomcat简介

Tomcat服务器最主要的功能就是充当Java Web应用的容器。在sun的Java Servlet规范中,对Java Web的定义是:由一组Servlet、HTML页、类、以及其他可以被绑定的资源构成,它可以在各种供应商提供的实现Servlet规范的Web应用容器中运行。

一个Java Web应用在Tomcat中与一个Context元素对应,也就是说一个Context元素定义了一个Java Web应用,它们是一一对应的关系。在一个Java Web应用中可以包含以下内容:

Servlet、JSP页面、Java类、静态资源(HTML、图片等)、描述Web应用的描述文件。

在Tomat中有3个组件是可以处理客户请求并生成响应的,这3个组件分别是Engine、Host和Context组件。这3个组件分别代表了不同的服务范围,通过嵌套关系可以知道这3个组件的范围有如下的关系:Engine>Hos>Context。

Engine组件下可以包含多个Host组件,它为特定的Service组件处理所有客户请求。

一个Host组件代表一个虚拟主机,一个虚拟主机中可以包含多个Web应用Context组件。

Tomcat有3种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。Tomcat作为独立的Servlet容器时,它是内置在Web服务器中的一部分,是指使用基于Java的Web服务器的情形,独立的Servlet容器是Tomcat的默认模式。当需要和其他的Web服务器结合使用时,可以使用Tomcat的其他两种工作模式。

Tomcat是基于Java的一个Servlet容器,它的运算离不开JDK的支持,所以,安装Tomcat之前要首先安装JDK。

三、Tomcat的安装配置

下载地址

确认JDK是否已安装,若没安装,先安装。再安装Tomcat

四、测试Tomcat

五、在MyEclipse中启动自定义的Tomcat

在开发阶段我们一般不使用上面测试的方法在系统中直接启动Tomcat,而是把Tomcat集成到开发环境MyEclipse中来使用。

具体配置过程可通过视频学习:MyEclipse集成Tomcat视频


MyEclipse开发Web

学习视频:在MyEclipse中创建、发布、测试Web项目