Java Web开发简介

Java Web开发简介_第1张图片
 
学习目标:
    - 了解Web的发展过程。
    - 理解Web开发的主要技术及作用范围。
    - 掌握企业开发的整体架构。
 
Web发展历程
在早期,人们为了方便开展科学研究,设计出了Internet用于连接美国的少数几个顶尖研究机构,之后随着进一步的发展,人们开始应用HTTP协议(Hypertext Transfer Protocol,超文本传输协议)进行超文本(hypertext)和超媒体(hypermedia)数据的传输,从而将一个个的网页展示在每个用户的浏览器上。今天的Web已经从最早的静态Web发展到了动态Web阶段,随之而来的像网上银行、网络购物等站点的兴起,更是将Web带进了人们的生活和工作中。
最早的Web是以静态Web出现,用户在浏览器中输入网址将请求通过HTTP协议传送到Web服务器上,服务器会根据用户的请求找到相应的网页文件(例如:后缀是htm或html),接着再通过HTTP协议回到客户端浏览器上进行显示。
但是这种Web返回的只是电子文本的形式,在服务器生成之后,内容永远是固定的。在最初阶段,一些科学家可以通过这些静态Web的方式进行论文研究,而且当时的很多企业也并没有发现这种机遇,而最初可以实现静态Web的主要手段也就是利用HTML来完成的(超文本标记语言)。
随后,一些对于Web就有更高的要求了,希望可以得到一些更加绚丽的效果,而此时SUN公司推出的Applet正好满足了这种需求。
SUN公司在1995年推出了Applet程序,而Applet(应用小程序,简称小程序)允许开发人员编写可以嵌入在Web页面上的小应用程序,只要用户使用了支持Java的浏览器就可以直接运行此程序,整体流程依然依靠HTTP协议的请求和回应方式完成,此时的Web处理流程。
看图说明:
Java Web开发简介_第2张图片
 
Applet程序虽然带来了很多好处,但是Applet程序本身也存在着一些限制。例如,不允许进行文件读写,也无法进行数据库的操作,而且Applet属于胖客户端程序,下载速度也是非常缓慢的。
Applet技术本身只能运行在客户端,所以此时虽然带来了动态的效果,但是服务端依然没有做太大的改变,还是采用了静态的请求及回应机制,客户端需要哪些资源,服务端就返回那些资源。当然,除Applet技术外,像JavaScript语言也可以实现客户端动态效果,但不管如何实现,这种客户端完成的动态效果在代码的开发上依然是很复杂的。
这种在客户端实现动态效果的改变似乎成为了一件很麻烦的事情,那么人们只能在服务器端做出改变,而这种改变真正造就了动态Web的发展。
说一下JSP Web(一门动态语言,是我正在学的语言)的原理:如果此时的请求是动态请求,则会将所有请求交给Web容器进行处理,在Web容器中将会采用拼凑代码的形式(主要是拼凑HTML)动态地生成数据并通过Web服务发回给客户端浏览器。
动态Web的最在特点就是具备交互性,所谓交互性就是服务器会自动根据用户请求的不同而显示不同的结果。他类似于使用搜索引擎那样,只要输入关键字,服务器端就会根据这些指定的关键安,返回检索结果。
 
动态Web的开发属于B/S结构。
在网络开发中有两种开发模式,即C/S模式和B/S模式。
C/S模式(Client/Server 模式):即客户/服务器模式。在这种模式,每个客户端都需要安装工具软件,管理和维护时客户端和服务器都同时需要更改,对开发而言比较麻烦。例如:日常生活中使用的QQ或MSN等,都属于C/S模式。
B/S模式(Browser/Server 模式):即浏览器/服务器模式。相当于在C/S模式中,以浏览器作为客户端的情况。在服务器端安装软件,客户端通过浏览器访问服务器,从而实现信息、资源的交互和共享,只需要管理和维护服务器端即可。例如,网上购物或论坛都属于B/S模式。
 
 
Java EE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文以交易价格达74亿美元现金收购Sun微系统公司)推出的企业级 应用程序版本。这个版本以前称为 J2EE。能够为我们帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供Web 服务、 组件模型、管理和通信 API,可以用来实现企业级的面向服务 体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序
Java,是由Sun Microsystems公司于1995年5月推出的Java 程序设计语言Java平台的总称。用Java实现的HotJava 浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的 浏览器现在均支持Java applet。
 
Java EE 主要技术:
JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用 Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库 应用程序,同时,JDBC也是个商标名。
EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。
Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java 虚拟机调用。这样,远程方法调用可以发生在对等的两端,也可以发生在 客户端和服务器之间,只要双方的 应用程序都是用Java写的。
JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无缝的连接。这个接口屏蔽了企业网络所使用的各种命名和 目录服务
JMAPI(Java Management API)为 异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。
JMS(Java Message Service)提供企业消息服务,如可靠的 消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。
JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理 应用程序、事务处理管理及监控。
JMF(Java Media Framework API), 她可以帮助开发者把音频、视频和其他一些基于时间的媒体放到Java 应用程序或applet小程序中去,为 多媒体开发者提供了捕捉、回放、编解码等工具,是一个弹性的、跨平台的多媒体解决方案。
Annotation(Java Annotation),在已经发布的JDK1.5(tiger)中增加新的特色叫 Annotation。Annotation提供一种机制,将程序的元素如:类,方法,属性,参数,本地 变量,包和元数据联系起来。这样 编译器可以将元数据存储在Class文件中。这样 虚拟机和其它对象可以根据这些元数据来决定如何使用这些程序元素或改变它们的行为。
在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件 体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的 开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java 服务端组件 体系结构,这个模型支持多层的 分布式对象应用。除了JavaBeans,典型的组件 体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。
javaFX Sun刚刚发布了JavaFX技术的正式版,它使您能利用 JavaFX  编程语言开发富互联网 应用程序(RIA)。JavaFX Script编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, staticallytyped(声明性的、静态类型) 脚本语言。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFXScript是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序变为可能。
JMX(Java Management Extensions,即Java管理扩展)是一个为 应用程序、设备、系统等植入。
管理功能的框架。JMX可以跨越一系列异构 操作系统平台、 系统体系结构网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
JPA (Java Persistence API), JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体 对象持久化到数据库中。
 
JavaBean
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的 构造器 。JavaBean 通过提供符合一致性 设计模式 的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性。
 
MVC设计模式
在整个Java EE中最核心的设计模式就是MVC(Mode-View-Controller)设计模式,且被广泛应用。在标准的MVC设计模式中,用户一旦发出请求之后会将所有请求交给交给控制层处理,然后由控制层调用模型层中的模型组件,并通过这些组件进行持久层的访问,再将所有结果都保存在JavaBean(Java类)中,最终由JSP和JavaBean一起完成页面的显示。但是此种设计模式,在不同的开发架构中也会存在一些区别,因为在开发中如果没有特殊的需求不一定会使用EJB技术。
 
本章摘要:
Web运行环境经历了静态Web和动态Web两个时期,静态Web与动态Web最本质的区别就在于资源(数据库)的访问上。
动态Web的常见实现手段有CGI、ASP、PHP、JS等等。
Java EE架构主要由组件、容器、服务组成,在整个Java EE中MVC是其核心设计思路。
Struts开发主要是为了解决Web层的开发问题,可以节约设计的成本。

你可能感兴趣的:(java,Web)