JavaEE第一章JavaEE概述

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

耗费系统资源
每个客户端程序都直连到DB服务器,为每个客户端建立连接耗费服务器资源——耗费资源 ——不适合过多的用户
安全性低:
客户端同DB服务器直连——非法用户容易通过客户端入侵,
返回
2)B/S三层结构
浏览器
浏览器
客户层 (表示逻辑) 部署容易——瘦客户端

应用服务器
应用服务层 (业务逻辑)
•持久性,对应 数据库中的表
企业信息层
案例2:用户登录系统的架构图P327
表示层 控制逻辑层 数据表示层 企业信息资 源层
Login.jsp ProcessServlet reg.jsp 消息 Topic
会话Bean (UserBeanFacade)
notFindUser.jsp
实体Bean (UserBean)
返回
1.1.2企业级应用程序体系结构
1)C/S两层结构 2)B/S三层结构 3)多层结构
1)C/S两层结构
客户端应用程序
客户端应用程序
数据库服务器
客户端应用程序 客户层 (人机交互/应用逻辑/数据访问)
服务层 (数据服务)
部署困难——胖客户端
客户端软件 不是基于web的,只能适用在LAN 胖客户端:应用逻辑集中在客户端, 安装耗时:需要每台客户端都安装客户端专用的应用程序 扩展更新困难:每次业务规则变化,都需要不断更新或重新安装客户端代码,重新部署客户端

现有系统之间的集成
可移植性、易维护
返回
安全性小例子:我们是否可Baidu Nhomakorabea偷窥别人的邮件?
打开某个邮件
将该页网址copy下来 http://cg1a118.mail.163.com/js3/main.jsp?sid=iCOQncrOggxflC qsyDOObTaVUDinTCCQ 再打开一个IE浏览器,贴上该网址
Web包容器,是Web应用程序的基本运 行环境和框架。 ——由web服务器实现
组件和容器之间的交互——部署描述文件
Web 服务器
部署描述文件 Web.xml Servlet
EJB容器
部署描述文件 ejb-jar.xml EJB
•参见P28页 第一个servet的web.xml我们编写 •First.java ——这是一个servlet类,其实就是一个java类(P24) •那么在IE中如何访问它呢? •就是通过部署在web服务器上的web.xml来知道的。 •输入:http://localhost:8080/SimpleServlet/First
--Vitruvius(古罗马建筑师),约公元前 25 年
开发良好的企业应用程序的第一步 就是寻找优秀的
2010世博中国国家馆展馆建筑外观以“东 方之冠,鼎盛中华,天下粮仓,富庶百姓” 的构思主题
系统构架师
1.2.1 JavaEE的多层体系结构
浏览器
Html Applet
Web 服务器
EJB 容器 会话 Bean 消息 Bean 实体 Bean
数据库服务器
数据层 (数据服务)
客户层的功能大大削弱,原来由客户端实现的应用逻辑和数据访问等功能都迁移到服务器上实现了—— 瘦客户——应用逻辑集中在服务器端 很多应用只需安装浏览器即可,基于web的
快速响应
通过中间件服务器的负载均衡和缓存数据能力,提高对客户端的响应速度
易于扩展
每次业务规则变化,只需在应用服务器重新部署新服务器端组件,无需更新或重新安装每个客户端
web.xml:在web应用加载的自动加载
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <servlet> <servlet-name>First</servlet-name> <servlet-class>com.servlet.First</servlet-class> </servlet> <servlet-mapping> <servlet-name>First</servlet-name> <url-pattern>/First</url-pattern> </servlet-mapping> <session-config> <session-timeout> 30 </session-timeout> </session-config> </web-app> http://localhost:8080/SimpleServlet/First
Applet
Servlet
客户端/服务器 服务器端应用 端表示层
服务器端 商业逻辑
企业信息 系统
客户
服务器
案例1:简单的网上书店的架构图
网上商店实现了商品浏览,用户可以进行订单查询,生 成订单以及删除订单等操作。
客户层
表示层
•列出图书目录 •查询 •增删所购图书 •订单录入页面
业务逻辑层
数据层
1.2.3 支持JavaEE的厂商
JavaEE规范被众多中间件厂商所实现,不同厂家有不同的实现,但都遵 循同一JavaEE规范,可以互相部署——开放性。
支持JavaEE的厂商和应用服务器
Sun 公司: Sun One 服务器 Netbeans自带的GlassfishV2 服务器内置Applicaition Server BEA的weblogic IBM的WebSpere JBoss
MySQL数据库
regsuces.jsp
消息驱动 EJB(SendPassword)
向注册邮箱发邮件调JavaMail
邮件服务器
index.jsp
Web应用服务器
1.登录,检查用户的合法性实现安全登录 2.新用户的注册 3.用户密码遗忘后通过注册邮箱来重新获取
1.2.2 JavaEE是企业分布式应用的的开发标准
安全性高:
中间的应用层,隔离了客户端程序对数据服务器的直接访问,保护了数据安全
返回
3)多层结构
中间服务器又按应用逻辑划分成若干子层
浏览器
客户层
Web 表示层
业务逻辑层
应用服务器
….
数据库服务器
数据层 (数据服务)
目录
1.2 JavaEE的体系结构
软件开发体系结构
“理想的建筑师应该既是 文学家又是数字家,他还 应通晓历史,热衷于哲学 研究,精通音乐,懂得医 药知识,具有法学造诣, 深谙天文学及天文计算。”
高速反应性
社会需求的瞬息万变企业不断变更业务规则以适应 企业程序必须具备能力来及时适应需求的改变
安全性
系统安全可靠——正常运行 合法用户经过合法途径使用(是否未经登录?是否直接录入网址?是否有权限?谁在运行?)
事务性
两个或多个网络的计算机资源上访问并更新数据的时候不会错,一个程序要么进行一系列数据库操作成功完成, 要么一点也不做,避免写到一半的时候出错——如银行转账
数据库服务器
JSP
Servlet
邮件服务器
客户端应用程序
客户层 表示层 (web层) 业务逻辑层
企业信息系统层 ——数据层
客户
应用服务器
数据库服务器
典型的JavaEE包括4层:
客户层
• 浏览器(html、或者applet) • 桌面应用程序
表示层(web层)
• Servlet(Server+Applet) • JSP(Java Server Page)
企业应用的特点(分布式、面向web、开发的、集成的、 可移植、易于扩展和维护,企业计算具有一致性、事务 性、安全性等)决定了企业应用的体系结构
——JavaEE集上述特性为一身!!
目录
分布式
1.1.1企业应用程序的特点
企业应用日常的运行环境 局域网——组织内部 Internet——连接分布在世界各地的部门或者用户——面向web
java EE 5,以前J2EE版本还是称为J2EE。
返回
问题2:Java EE究竟是什么?
Java EE是一个标准中间件体系结构 JavaEE 不是编程语言!! Java EE是企业分布式应用开发标准
返回
问题3:为什么需要 JavaEE?
1.1.1企业应用程序的特点 1.1.2企业级应用程序体系结构
可扩展性
潜在用户数量的不断膨胀应用性能要扩展 企业的信息资源不断增长系统功能的扩展 系统的结构能否很容易在保留原有功能的基础上很容易扩展?开放性?插件?
集成化
旧系统的集成支持——不是白手起家
目前很多企业的信息存放在老的或者过时的应用系统或者其它数据库中(或不一定是java的或数据库的)——遗产系统 最大限度的利用以往信息 或者历史信息仍具有保留价值——如电厂运行资料,成绩库、大型超市的客户信息库、医学院校的教学视频、CT CR的影像库等 新老系统的集成、运行平台不同
开发环境
NetBeans(内置应用服务器GlassFishV2)+MySQL Eclipse+MyEclipse+Tomcat+MySQL Web应用,不包括j2EE Eclipse+MyEclipse+Jboss+MySQL ——支持EJB
目录
1.3 JavaEE的组件和容器
组件:JavaEE基本的软件单元——面包 容器:分布式组件的运行环境 ——烤箱
程序员根据特定应用需求编写组件,专注于业务逻辑 而不必困扰在复杂的企业应用环境——这些由容器实现了
面包师:面包是什么配比,馅,形状的,放到什么器皿里面、多高温度,多久、 不用管烤箱的安全防护机制、容量,电、温度的转换、定时器的控制 都是烤箱的事,而烤箱的控制是厂家实现的
容器为组件提供必需的底层基础功能——服务
Java EE是一个标准中间件体系结构 JavaEE 不是编程语言!!
Java EE是企业分布式应用开发标准 它规范了:
分布式组件(JSP、Servlet 、EJB)应该实现哪 些接口、提供哪些方法? 容器应该提供的服务
• 容器:分布式组件的运行环境
– 如Jsp运行在web容器中 – EJB组件运行在EJB容器中 – 容器实现的服务:JDBC,JNDI,JMS消息服务等(详见后)
第一章 JavaEE概述
目录
1.1 Java EE 产生的背景
1.1.1企业应用程序的特点 1.1.2企业级应用程序体系结构 1)C/S三层结构 2)B/S三层结构 3)多层结构
1.2 JavaEE的体系结构
1.2.1 JavaEE的多层体系结构 1.2.2 JavaEE是企业分布式应用的的开发标准 1.2.3 支持JavaEE的厂商
• javaEE的容器由厂商实现,javaEE服务器中均包含Web容器和 EJB容器的实现 • 如JDNI服务、JDBC、JMS、持久化、事务支持、并发、安全 性、资源和生命周期管理…
例:Web应用程序和Web包容器
Web应用程序,对应一个目录(或者 网站),包括html、servlet、applet、 jsp、图片等。
业务逻辑层
• EJB(Enterprise Bean)
企业信息系统层
• • • • Database ERP 大型机事务处理 其它遗留信息系统
J2EE的N层体系结构(略)
表示
客户应用容器
应用
Web container
服务
EJB 容器

持续化
DB
浏览器 Html
Web 服务器 JSP
Simple Bean Entity Bean Session Bean
1.3 JavaEE的组件和容器
1.3.1 J2EE核心技术——之组件技术 1.3.2 容器及类型 1.3.3 J2EE核心技术之——服务
1.4 JavaEE应用打包与部署
1.5 JavaEE 体系结构的优点 小结
1.1 Java EE 产生的背景
从java语言的发展来看
问题1
问题2
Java EE究竟是什么?
问题3
为什么需要 J2EE?
问题1:从java语言的发展来看
95.5 Sun公司推出Java技术。10多年来,已发展成为全球第一大软 件开发平台——Java是长时间以来最卓越的程序语言。Bill Gates 99年,Java从一种语言发展成为一种开发平台 ,出现Sun ONE体 系结构,以Java语言为核心,包括以下三个版本和 J2SE J2ME J2EE 与同类Microsoft公司的.Net相比, Sun ONE 更接近或更能满足互 联网在智能化Web服务方面的开放性、分布性和平台无关性 J2EE(Java 2 Platform ,Enterprise Edition—Java2平台企业 版),是使用Java进行企业级应用系统开发的一套扩展标准,必须 基于J2SE。 2005年8月, Java升级到1.5版,SUN的伙伴们将J2EE 1.5改名为
相关文档
最新文档