基于JEE的软件开发讲义.ppt
《基于JEE的软件开发讲义.ppt》由会员分享,可在线阅读,更多相关《基于JEE的软件开发讲义.ppt(59页珍藏版)》请在三一办公上搜索。
1、基于J2EE的软件开发讲义,四川华迪信息技术有限公司Version1.0,2023/11/12,Hwadee,2,Overview,课程介绍J2SE基础及开发简介J2EE基础相关IDE简介JDBC简介Web开发-基于Servlet、JSP和Bean的B/S架构的软件系统实现设计模式框架的应用,课程介绍,2023/11/12,Hwadee,4,关于本次课程,课程目标预备知识目标听众日程表词汇表,2023/11/12,Hwadee,5,课程目标,了解J2EE平台及其多层体系结构;明确Web层和业务层中servlet、JSP和bean的技术概念及JDBC数据库技术;掌握基于java的Web开发技术。
2、,2023/11/12,Hwadee,6,预备知识,了解J2SE知识了解Html、Xml及Javascript等Web知识了解设计模式,2023/11/12,Hwadee,7,目标听众,高等院校和软件学院计算机专业同学有一定经验的Java程序员,2023/11/12,Hwadee,8,日程表,共计:1.5 天详细安排,2023/11/12,Hwadee,9,词汇表,Java、J2SE、J2EEServlet、JSP、Bean、XML分布式计算、B/S架构、Web、框架、设计模式,J2SE基础及开发简介,J2EE基础,j2EE概述j2EE 的结构、术语和特性j2EE 的核心技术,2023/11/
3、12,Hwadee,12,j2EE概述,1999年 Sun Microsystems 公司最先推出j2EE中以“企业”作为目标 J2EE在J2SE平台之上增加大量企业级特性。而J2SE平台的重点则放在传统的桌面应用开发与部署上 a,定义“企业”b,企业应用开发的考验和困难,2023/11/12,Hwadee,13,j2EE概述,j2EE如何解决企业开发中的难点 a、简单而统一的基于组件的结构 b、内建的可伸缩性与安全性支持 c、提供稳定和可靠的基础 d、与企业信息系统和遗留系统的集成 e、Web服务的内建支持 f、独立于厂家和平台的可移植应用,2023/11/12,Hwadee,14,j2EE
4、的结构、术语和特性,j2EE的分布式多层应用模型,客户层,Web层,中间层,Web层,业务层,EIS层,遗留系统,EIS系统,数据库,2023/11/12,Hwadee,15,j2EE的结构、术语和特性,客户,组件,模块,容器和服务 a,客户 b,组件与模块 c,容器与服务平台角色j2EE 不同版本的演进,2023/11/12,Hwadee,16,j2EE 的核心技术,JDBC:Java DataBase Connectivity JNDI:JAVA NAMING AND DIRECTORY INTERFACE EJBS:ENTERPRISE JAVA BEANS RMI:REMOTE MET
5、HOD INVOCATION JSP:JAVASERVER PAGES JAVA SERVLETS XML:EXTENSIBLE MARKUP LANGUAGE JMS:JAVA MESSAGING SERVICE JAVA IDL:Interface Difinition Language JTS:JAVA TRANSACTION SERVICE JTA:JAVA TRANSACTION ARCHITECTURE JAVAMAIL JAF:JAVABEANS ACTIVATION FRAMEWORK,2023/11/12,Hwadee,17,j2EE 的核心技术,JNDI:JAVA NAMI
6、NG AND DIRECTORY INTERFACE JNDI API被用于执行命名和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统。命名服务为人类可读的名字与其对应的软件实体(如对象或组件)之间的关联提供灵活的机制。目录服务是命名服务的一个补充,它允许对象基于其属性来进行查找。前者允许对象按名称进行查找,后者允许对象基于其功能来进行查找。JNDI API由两部分组成:应用级接口和服务提供者接口(Service Provider Interface,SPI),前者用于应用组件访问命名服务和目录服务,后者用于将命名服务和目录服务提供者插入平台中。在JNDI中
7、,在目录结构中的每一个结点称为CONTEXT。每一个JNDI名字都是相对于CONTEXT的。这里没有绝对名字的概念存在。对一个应用来说,它可以通过使用INITIALCONTEXT 类来得到其第一个CONTEXT:CONTEXT CTX=NEW INITIALCONTEXT();,2023/11/12,Hwadee,18,j2EE 的核心技术,应用可以通过这个初始化的CONTEXT经有这个目录树来定位它所需要的资源或对象。例如,假设你在WEBLOGIC服务器中展开了一个EJB并将HOME接口绑定到名字MYAPP.MYEJB,那么该EJB的某个客户在取得一个初始化CONTEXT以后,可以通过以下语
8、句定位HOME接口:MYEJBHOME HOME=CTX.LOOKUP(MYAPP.MYEJB);在这个例子中,一旦你有了对被请求对象的参考,EJB的HOME接口就可以在它上面调用方法。以上关于JNDI的讨论只是冰山之一角而已。如果要更进一步地在CONTEXT中查找对象,JNDI也提供了一些方法来进行以下操作:将一个对象插入或绑定到CONTEXT。这在你展开一个EJB的时候是很有效的。从CONTEXT中移去对象。列出CONTEXT中的所有对象。创建或删除子一级的CONTEXT。,2023/11/12,Hwadee,19,j2EE 的核心技术,EJB:ENTERPRISE JAVA BEANS
9、J2EE技术之所以赢得广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。EJB规范定义了3种基本的BEAN类型:STATELESS SESSION BEANS:提供某种单一的服务,不维持任何状态,在服务器故障发生时无法继续存在,生命期相对较短。例如,一个STATELESS SESSION BEAN可能被用于执行温度转换计算。STATEFUL SESSION BEANS:提
10、供了与客户端的会话交互,可以存储状态从而代表一个客户。典型例子是购物车。STATEFUL SESSION BEAN在服务器故障时无法继续生存,生命期相对较短。每一个实例只用于一个单个的线程。ENTITY BEANS:提供了一致性数据的表示-通常存放在数据库中-在服务器故障发生后能继续存在。多用户情况下可以使用EJB来表示相同的数据。ENTITY EJB的一个典型例子是客户的帐号信息。,2023/11/12,Hwadee,20,j2EE 的核心技术,尽管有以上的区别,所有的EJB还是有许多的共同之处。它们都处理HOME INTERFACE。它定义了一个客户端是如何创建与消亡EJB的。可以在BEA
11、N中对定义了客户端方法的远程接口进行调用;BEAN类则执行了主要的商务逻辑。如果一个EJB已经被开发了或者从第三方进行了购买,它就必须在应用服务器中进行发布。例如,WEBLOGIC SERVER 5.1带有一个EJB EPLOYER TOOL来协助处理EJB的发布。当你使用EJB DEPLOYER TOOL的时候,你要定义客户端所用的JNDI名字来定位EJB。DEPLOYER TOOL将生成WRAPPER类来处理和容器的通信以及在一个JAR文件中把被请求的JAVA类绑定在一起。一旦EJB被发布,客户端就可以使用它的JNDI名字来定位EJB。首先,它必须得到一个到HOME接口的REFERENCE
12、。然后,客户端可以使用该接口,调用一个 CREATE()方法来得到服务器上运行的某个BEAN实例的句柄;最后,客户端可以使用该句柄在BEAN中调用方法。,2023/11/12,Hwadee,21,j2EE 的核心技术,RMI:REMOTE METHOD INVOCATION RMI协议是在远程对象上调用一些方法。它使用了连续序列方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更下层的协议。,2023/11/12,Hwadee,22,j2EE 的核心技术,JAVA IDL/CORBA IDL:Interface Difinition Language接口定义语言 CORBA(公共对象请
13、求代理机构)技术是一种异构型计算标准,他定义独立于平台和语言的分布式对象框架以及在该框架上运行的相关服务,与RMI编程规则兼容。IIOP:Internet Inter-ORB Protocol互联网互联对象请求代理协议?在JAVA IDL的支持下,通过使用RMI-IIOP,开发人员可以将JAVA和CORBA集成在一起。他们可以创建JAVA对象并使之可在CORBA ORB中展开,或者他们还可以创建JAVA类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它JAVA可以被用于将你的新的应用和LEGACY系统相集成。,2023/11/12,Hwadee,23,j2
14、EE 的核心技术,JAVA TRANSACTION ARCHITECTURE(JTA Java事务API)/JAVA TRANSACTION SERVICE(JTS Java事务服务)JTA定义了一种标准的API,应用系统由此可以存取各种事务监控。JTS是CORBA OTS(Object TRANSACTION SERVICE对象事务服务)事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持JAVA TRANSACTION API(JTA)规范,并且在较底层实现OMG OTS SPECIFICATION的JAVA映像。JTS事务管理器为应用服务器、资源管理器、独立的
15、应用以及通信资源管理器提供了事务服务。,2023/11/12,Hwadee,24,j2EE 的核心技术,AVAMAIL AND JAVABEANS ACTIVATION FRAMEWORK JAVAMAIL是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。JAVAMAIL利用JAVABEANS ACTIVATION FRAMEWORK(JAF)来处理MIME-编码的邮件附件。MIME的字节流可以被转换成JAVA对象,或者转换自JAVA对象。由此大多数应用都可以不需要直接使用JAF。,2023/11/12,Hwadee,25,j2EE 的
16、核心技术,JMS:JAVA MESSAGING SERVICE JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(PUBLISH/SUBSCRIBE)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与LEGACY BACKEND系统相集成。,2023/11/12,Hwadee,26,j2EE 的核心技术,XML:EXTENSIBLE MARKUP LANGUAGE XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XM
17、L的发展和JAVA是相互独立的,但是,它和AVA具有的相同目标正是平台独立性。通过将JAVA和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。目前正有许多不同的公司在为JAVA和XML的组合而努力。,相关IDE 简介,Eclipse与MyEclipse的结合早期主流的Java IDE-JBuilder基于Eclipse平台的JBuilder 2007,2023/11/12,Hwadee,28,早期主流的Java IDE-JBuilder,UML可视化展示程序代码 程序代码重构(Refatoring)功能 单元测试(Unit Test)功能 强大的程序调试器 高效率的Web Serv
18、ices 开发环境 支持团队开发机制 使用 Apache Struts,Servlets,JSP和XML快速建制和调 试Web应用程序,JDBC简介,JDBC定义的4种不同的驱动程序java.sql包中的接口和类编写访问数据库程序的步骤通过JDBC访问数据库的JSP案例数据源简介处理中文编码JAVA中通过JDBC访问MS SQLServer2000的常见问题,2023/11/12,Hwadee,30,JDBC简介,JDBC是Java DataBase Connectivity的缩写。java.sql包提供了JDBC API,程序员可以通过它编写访问数据库的程序。在java.sql包里定义了访问
19、数据库的接口和类。JDBC API并不能直接访问数据库,它依赖于数据库厂商提供的JDBC Driver(JDBC驱动程序)。java程序和JDBC驱动程序的关系图。JDBC API JDBC Driver API,Java 程序JDBC Driver ManagerJDBC DriverDBMS,数据库,2023/11/12,Hwadee,31,JDBC定义的4种不同的驱动程序,类型 1:JDBC-ODBC BRIDGE 在JDBC出现的初期,JDBC-ODBC桥显然是非常有实用意义的,通过JDBC-ODBC桥,开发人员可以使用JDBC来存取ODBC数据源。不足的是,他需要在客户端安装ODBC
20、驱动程序,换句话说,必须安装MICROSOFT WINDOWS的某个版本。使用这一类型你需要牺牲JDBC的平台独立性。另外,ODBC驱动程序还需要具有客户端的控制权限。类型 2:JDBC-NATIVE DRIVER BRIDGE JDBC本地驱动程序桥提供了一种JDBC接口,它建立在本地数据库驱动程序的顶层,而不需要使用ODBC。JDBC驱动程序将对数据库的API从标准的JDBC调用转换为本地调用。使用此类型需要牺牲JDBC的平台独立性,还要求在客户端安装一些本地代码。,2023/11/12,Hwadee,32,JDBC定义的4种不同的驱动程序,类型 3:JDBC-NETWORK BRIDGE
21、 JDBC网络桥驱动程序不再需要客户端数据库驱动程序。它使用网络上的中间服务器来存取数据库。这种应用使得以下技术的实现有了可能,这些技术包括负载均衡、连接缓冲池和数据缓存等。由于第3种类型往往只需要相对更少的下载时间,具有平台独立性,而且不需要在客户端安装并取得控制权,所以很适合于INTERNET上的应用。类型 4:PURE JAVA DRIVER 第4种类型通过使用一个纯JAVA数据库驱动程序来执行数据库的直接访问。此类型实际上在客户端实现了2层结构。要在N-层结构中应用,一个更好的做法是编写一个EJB,让它包含存取代码并提供一个对客户端具有数据库独立性的服务。,2023/11/12,Hwa
22、dee,33,java.sql包中的接口和类,Driver接口和DriverManager类ConnectionStatementPreparedStatement ResultSet,2023/11/12,Hwadee,34,JDBC简介,编写访问数据库程序的步骤通过JDBC访问数据库的JSP案例数据源简介处理中文编码,2023/11/12,Hwadee,35,JAVA中通过JDBC访问MS SQLServer2000的常见问题,代码:Connection conn=null;try);conn=DriverManager.getConnection(jdbc:microsoft:sqlse
23、rver:/127.0.0.1:1433;databasename=dbname,username,password)catch(Exception e)e.printStackTrace();,2023/11/12,Hwadee,36,JAVA中通过JDBC访问MS SQLServer2000的常见问题,No suitable driver或者找不到class 通常是找不到那3个jar文件 如果是JBuidler或者其它IDE工具,通过配置将3个jar加入工程即可。如果是命令行编译,加入classpath环境变量或者javac-classpath 3个jar 如果是WEB服务器,通常放在we
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JEE 软件 开发 讲义
链接地址:https://www.31ppt.com/p-6559737.html