零点起飞学Java_Web开发之Java_Web开发概述

更新时间:2023-08-07 18:17:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

火龙果 整理 http://www.77cn.com.cn

第1章 Java Web开发概述

Java语言作为目前应用最为广泛的面向对象编程语言, 受到了越来越多程序开发者的欢迎。而基于Java语言 的Web技术开发也同样受到了极大地关注。目前很 多优秀的开源软件都支持Java Web开发,如Struts 2、 Spring、Hibernate等。本章对Java语言的特性、Java Web开发的技术进行概括性地讲解,使读者对Java Web开发有一个初步地了解。

火龙果 整理 http://www.77cn.com.cn

1.1 什么是Java语言

Java语言是Java Web开发的基础。Servlet和JSP技术 都是Java代码实现的;后台的JavaBean组件,以及 EJB组件都是用Java语言开发的。Java以其面向对象、 跨平台、支持多线程和分布式等特点在Web应用程 序开发、网络编程、手机游戏等各个方面都得到了 广泛的应用。掌握Java语言的特点,对于进行Java Web开发的初学者是非常重要的。本节对Java语言的 特点进行介绍。

火龙果 整理 http://www.77cn.com.cn

1.1.1 Java语言的发展

计算机编程语言不断发展,Java语言也经历了数次大 的变革与发展,走过了非常曲折的道路。Sun公司也 于2009年被Oracle公司收购。Java语言历年版本发展 历程大致如图所示。1996 第一个JDK诞生 1999 1995 Sun发布 Java诞生 J2SE、J2EE、J2ME 2004 Java SE 5.0发布 2009 Oracle收购Java 2012 Oracle发布Java 7

1994

2012

火龙果 整理 http://www.77cn.com.cn

1.1.2 Java语言的特点

Java语言是一种在各个行业领域都得到广泛应用的程 序设计语言。它的特点如表1.1所示。Java语言的特点 1.简单性:去掉了一些复杂和容易混淆的概念,比C++更为简单 2.面向对象:完全彻底支持面向对象,提高软件开发效率 3.健壮:Java提供了完整的异常处理机制,降低了程序出错的几率 4.跨平台:“编写一次,到处执行”。Java语言在不同平台上具有很好的移植性 5.分布式:Java基本能够与所有主流的分布式设计技术进行交互

6.高性能:采用“预编译”机制,提高了解释执行的能力7.安全性:没有指针类型、完善的异常处理机制等特性使其具有很好的安全性

火龙果 整理 http://www.77cn.com.cn

1.1.3 Java的应用领域

Java到目前已经演化出了Java SE、Java EE、Java ME 三个版本,分别面向不同领域的开发,其具体应用 领域如图所示。Java SE Java EE Java ME Java的标准版,Java其他领域版本的基础,主要应用于桌面 应用软件的开发 Java的企业版,适用于开发企业级应用程序 Java的微缩版,主要应用于小型数字设备上应用程序的开发

火龙果 整理 http://www.77cn.com.cn

1.2 Java Web开发必备知识

在讲具体的技术之前,先介绍Java Web开发的基本 概念、基本原理和基本组件。这样就可以使读者对 Java Web开发有一个基础性的认

识。

火龙果 整理 http://www.77cn.com.cn

1.2.1 什么是Web应用程序

Web应用程序是基于浏览器/服务器的应用程序。浏 览器用于显示数据,和用户产生交互,其作用就相 当于电脑的显示屏。服务器用于处理浏览器的请求, 并把结果数据组织成浏览器可以识别的格式返回。 所以,它的作用就相当于电脑的主机。显然,一个 很大的区别是,主机和显示屏是一对一的,而服务 器和浏览器却可以是一对多的。在广域网中,一个 服务器可以给数以百万计的浏览器提供服务。

火龙果 整理 http://www.77cn.com.cn

1.2.1 什么是Web应用程序 一般来说,Web应用程序有如下所示的特点。 使用HTTP协议通信:一台服务器给众多的浏览器提供服 务,关系很复杂,所以需要一个约定的规则去协调这种 关系。Web应用程序一般使用HTTP协议去实现服务器和 浏览器的通信。这样位于Internet上的用户就可以使用浏 览器去访问Web服务了。 服务器把数据组织成HTML格式:服务器接收到浏览器的 请求后,调用服务器端应用程序、数据库系统等处理请 求。然后把结果数据组织成HTML的形式,返回到客户端 去显示。 浏览器安装方便:现在的Windows系统附带有浏览器,并 且还有其他好多免费的浏览器软件,例如Firefox、 Netscape等。只要安装了浏览器就可以访问Web服务器, 这样很方便。

火龙果 整理 http://www.77cn.com.cn

1.2.2 Web服务器的种类 在B/S架构的Web开发模式中,客户端就是简单的浏览器程序,可以通过 HTTP协议访问服务器端的应用,在服务器端,与通信相关的处理都是由 服务器软件负责,这些服务器软件都是有第三方的软件厂商提供,开发人 员只需要把功能代码部署在Web服务器中,客户端就可以通过浏览器访问 到这些功能代码,从而实现向客户提供的服务,下面简单介绍B/S结构中 常用的服务器。 IIS是微软提供的一种Web服务器,提供对ASP语言的良好支持,通过插件 的安装,也可以提供对PHP语言的支持。 Apache服务器是由Apache基金组织提供的一种Web服务器,其特长是处理 静态页面,对于静态页面的处理效率非常高。 Tomcat也是Apache基金组织提供的一种Web服务器,提供对JSP和Servlet的 支持,通过插件的安装,同样可以提供对PHP语言的支持,但是Tomcat只 是一个轻量级的Java Web容器,像EJB这样的服务在Tomcat中是不能运行 的。 JBoss是一个开源的重量级的Java Web服务器,在JBoss中,提供对J2EE各 种规范的良好支持,而且JBoss通过了Sun公司的J2EE认证,是Sun公司认 可的J2EE容器。 另外J2EE的服务器还有BEA的Weblogic和IBM的WebSphere等,这些产品 的性能都是非常优秀的,可以提供对J2EE的良好支持。

用户可以根据自己 的需要选择合适的服务器产品。

火龙果 整理 http://www.77cn.com.cn

1.2.3 Java Web开发中的组件构成

Java Web开发的核心组件是JSP(Java Server Pages) 和Servlet。此外开发一个完整的Java Web应用程序还 涉及到其他的组件:JavaBean、EJB、XML、Web服 务器和应用服务器。下面分别进行介绍。

火龙果 整理 http://www.77cn.com.cn

1.Servlet组件 Servlet运行于Web容器中,如Tomcat容器。它可以被Web 容器动态加载,接收浏览器请求,调用其他组件处理请 求,然后把处理结果返回。其工作原理如图所示。请求 ServletRequest对象

Web用户响应

Servlet容器ServletResponse对象

Servlet

当浏览器访问某个Servlet时,Web容器将会创建一个 ServletRequest对象和ServletResponse对象,并且把用户的 请求信息封装在ServletRequest对象中。然后把这两个对 象作为参数传输给Servlet特定的方法中。在该方法中处理 请求,把处理结果封装在ServletResponse对象中,返回给 Web容器。最后Web容器把结果返回到浏览器去解析、显 示。

火龙果 整理 http://www.77cn.com.cn

2.JSP组件 JSP是一种动态网页技术。从文件内容上讲,把传统的 HTML页面中加入Java脚本,以及以下JSP标签就构成了 JSP文件。当浏览器请求某个JSP页面时,Tomcat容器会 把JSP页面翻译为Java文件。然后将它编译为class文件, 接着执行它,把生成的HTML页面返回到客户端显示。其 原理如图1-4所示。Tomcat容器 请求JSP文件

浏览器响应

生成的Servlet源代码

编译后生成的class文件

可以看出,JSP从本质上说就是一个Servlet,只不过是创 建方式不同而已。

火龙果 整理 http://www.77cn.com.cn

3.JavaBean组件

JavaBean组件是一种符合特定规范的Java对象。在 JavaBean中定义了一系列属性,并且每个属性提供 了访问(getter)和设置(setter)这些属性的方法。 这样就可以使用该组件存储一些中间数据,例如 ServletRequest中的请求信息、从数据库中查询出来 的信息等。

火龙果 整理 http://www.77cn.com.cn

4.EJB组件

Enterprise Java Bean(EJB)组件是服务器端的Java 组件。该组件基于标准分布式对象技术、CORBA和 RMI等技术,用于实现企业级应用的业务逻辑。EJB 组件和JavaBean的区别是:JavaBean组件可以和JSP 和Servlet运行于同一个主机,即Web服务器中;而 EJB组件必须运行于EJB服务器中(也称为应用程序 服务器)。

火龙果 整理 http://www.77cn.com.cn

5.XML语言

XML(Extensible Markup Language)是一种用来创 建自定义标记的标记语言。该语言在Web应用的配 置中得到了广泛的应用。许多配置文件,例如 web.xml、struts.xml都是采用这种语句进行配置的。

火龙果 整理 http://www.77cn.com.cn

6.Web应用程序

Web服务器用来处

理HTTP请求,并返回HTTP数据。 它主要用来和浏览器交互,给用户提供服务。应用 程序服务器可以被Web服务器去调用,进行业务逻 辑的处理工作。例如EJB服务器,它返回的数据被 Web服务器组织为HTML格式,然后返回到浏览器去 解析。

火龙果 整理 http://www.77cn.com.cn

1.3 Web应用程序开发

由于技术的进步和网络环境的进化,Web应用程序 开发的技术也在不断的进步,在Web应用程序开发 的过程中,存在着不少争议,当然,这些争议都是 开发人员对各种技术的看法不同造成的,在接下来 的内容中,简单介绍这方面的内容,使读者对技术 进化过程中的一些问题有所了解。

火龙果 整理 http://www.77cn.com.cn

1.3.1 C/S与B/S开发模式 由于硬件成本的降低,再加上应用系统复杂程度的提高,Web应用 程序的开发逐渐转向到C/S架构,所谓的C/S架构就是客户端/服务 器端的架构形式,在这种架构方式中,多个客户端围绕这一个或 者多个服务器,这些客户端是安装在客户机上,负责用户端业务 逻辑的处理,在服务器端仅仅对重要的过程和数据库进行处理和 存储,每个服务器端都分担这服务器的压力,这些客户端可以根 据不同的用户的需求进行定制。C/S这种架构方式的出现大大提高 了Web应用程序的效率,给软件开发带来革命性的飞跃。 但是,随着时间的推移,C/S架构的弊端开始慢慢显现,在C/S架 构中,系统部署的时候需要在每个用户的机器上安装客户端,这 样的处理方式带来很大的工作量,而且在C/S架构中,软件的升级 也是很麻烦的一件事情,哪怕是再小的一点改动,都得把所有的 客户端全部修改更新,这些致命的弱点决定了C/S结构的命运。在 C/S架构模式流行一段时间以后,逐渐被另一种Web应用系统的架 构方式所代替。这种新的Web软件架构的模式就是B/S。

火龙果 整理 http://www.77cn.com.cn

1.3.1 C/S与B/S开发模式 B/S架构就是浏览器/服务器的架构形式,在这种架构方式中,采 取了基于浏览器的策略,简化了客户端的开发工作,在B/S架构的 客户机中,不用安装客户端软件,只要有通用的浏览器工具,就 可以访问服务器端提供的服务。在各种操作系统中,都提供了浏 览器中工具,这些浏览器工具都是遵循这相同的协议规范,所以 B/S的结构的客户端在各种系统环境中都已经实现。而且,在浏览 器访问服务器的过程中,使用的HTTP协议,所以这种方式非常容 易就可以穿过防火墙的限制。 使用B/S架构,不仅开发减轻了开发的任务,而且软件的部署和升 级维护也变得非常简单,只需要把开发的Web应用程序部署在Web 服务器中即可,而客户端根部不需要做任何改动,这

是在C/S架构 中无法实现的。 在C/S和B/S两种架构之间,并没有严格的界限,两种架构之间没 有好坏之分,使用这两种架构都可以实现系统的功能。开发人员 可以根据实际的需要进行选择,例如需要丰富的用户体验,那就 选择C/S架构,例如在目前的网络游戏中,基本都是选择C/S架构; 如果更偏重的是功能服务方面的实现,就需要选择B/S架构,这也 正是目前绝大部分管理应用系统采用的软件架构方法。

本文来源:https://www.bwwdw.com/article/a0zj.html

Top