零点起飞学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架构,这也 正是目前绝大部分管理应用系统采用的软件架构方法。
正在阅读:
零点起飞学Java_Web开发之Java_Web开发概述08-07
基于变式题组的高考有效复习策略07-07
网页设计制作报告08-20
第二章 电离平衡答案08-30
某企业在制定广告策略时05-12
(目录)2017-2022年中国锂电池正极材料行业发展预测及投资咨询07-11
三年级研究性学习方案03-23
第一期 GPEM简介06-22
2019生物三模试题03-07
江苏省正地厅级干部简历04-24
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 开发
- Java
- 零点
- 起飞
- 概述
- Web
- 时间管理幸福学
- 电液伺服万能试验机
- 2011年6月大学英语六级真题与答案详解完整版
- 晶向对SnO2:F透明导电玻璃特性的影响
- 2012扩大国家计划免疫查漏补种活动工作总结
- 电阻焊焊接原理简介
- 工厂制造业人力资源部年度工作总结
- _机器视觉检测系统_在卷盘烫印设备上的应用
- 建筑电气强条汇总
- 爱学习爱劳动爱祖国”活动总结
- 售后服务操作手册
- 小学数学教学随笔范文
- 赤壁赋复习教案
- 行政管理学期末考试及答案
- 高级社会体育指导员公共理论考核试题3
- 华师大版数学七年级下册7.2《二元一次方程组的解法》同步测试B
- 中考英语考纲基础知识练习(句子的种类)
- 工厂电气专业考核细则
- 机电类特种设备安装改造维修
- 会议型酒店迎战细分市场——中国会议酒店(中心)管理者年会实录