J2EE基础知识点复习3.doc.pdf

上传人:tbuqq 文档编号:5616042 上传时间:2020-07-02 格式:PDF 页数:5 大小:432.87KB
返回 下载 相关 举报
J2EE基础知识点复习3.doc.pdf_第1页
第1页 / 共5页
J2EE基础知识点复习3.doc.pdf_第2页
第2页 / 共5页
J2EE基础知识点复习3.doc.pdf_第3页
第3页 / 共5页
J2EE基础知识点复习3.doc.pdf_第4页
第4页 / 共5页
J2EE基础知识点复习3.doc.pdf_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《J2EE基础知识点复习3.doc.pdf》由会员分享,可在线阅读,更多相关《J2EE基础知识点复习3.doc.pdf(5页珍藏版)》请在三一文库上搜索。

1、JDBC 1 ?两种建立数据库连接的方式? 1、DriverManager 机制(JDBC ): API: java.sql 核心API DriverManager机制的弊端: (1)是一个同步的类,一次只有一个线程可以运行 (2)与数据库相关的连接信息都包含在类中,如果用户更换另一台计算机作数据库服务器, 就需要重新修改URL变量、重新编译、部署; (3)用户的用户名、口令也包含在类中,丧失了安全性 2 DataSource 机制(JNDI): API: javax.sql 可扩展API 连接方式:连接池 2?事务:哪些种Java事务类型? 事物:保证一系列数据库操作能够准确的完成,除非事务

2、中的所有操作都成功,否则事务就不 会完成 事务的4 个特性(ACID): Atomicity (原子性)、Consistency (一致性)、Isolation (隔离性)、 Durability (持久性) Java事物类型: (1)JDBC 事务: (2)JIA (Java Transaction API)事务 (3)容器事务解释jdbc的数据源机制 1 DataSource 是JDBC Connection 对彖的一个工厂 2、允许使用已经在JNDI命名服务中注册的DataSource对象建立连接,市驱动程序供应商实现 3、连接池机制: (1)Application Server启动时,

3、创建通向数据库资源的连接池。连接池包含多个JDBC连 接。 (2)当应用程序需要访问数据库时, 从连接池中取得一个连接, 使用该连接与数据库通信; 一 旦工作完成,关闭数据库连接,释放回连接池中。 (3)连接池与连接到数据库对比: 连接到数据库:需要通信、内存、授权等來创建连接,代价昂贵;对于访问站点的每一个客户 机都建立了一个新的连接,费用太髙 连接池:重用连接,而非建立新连接;一组加载到内存中的数据库连接,以便重攵使用;允许 共亭数据库连接,不是为每个客户分别提供单独的连接;借助连接池,对连接数量进行必要的 定量限制,数据库才是最有效的。 了解jndi JNDI: Java命名和目录接口(

4、Java Naming and Directory Interface),为开发人员提供了查找和访问 各种命名和目录服务的通用、统一的方式。( 中央注册中心,储存了各种对象、用户和应用的变 量及其值,开发大型的分布式应用,使分布式的Java程序找到分布式的对象 ) 分布式应用程序: 通过RMI或CORBA向JNDI注册对象,其他任何客户机上的应用程序只需知道数据源对象在服 务器JNDI屮的逻辑名称,就可以通过RMI向服务器查询数据源,然后与数据库建立连接 3?什么是JDBC事务? ( 简单解释 ) 1、用Connection对彖控制; 2、提供了两种事务模式:自动提交和手动提交 3、使用JDB

5、C事务界定时,可以将多个SQL语句结合到一个事务中 4、缺点:事务的范围局限于一个数据库链接,一个JDBC事务不能跨越多个数据库 5、java.sql.Connection提供了以下控制事务的方法: public void setAutoCommit(boolean) public boolean getAutoCommit() public void commit) public void rollback!) 使用jdbc的最佳实践 1、尽可能使查询更灵活更准确:SQL语句 2、调整数据库的参数设置:适当的数据库缓冲策略等 3、把初始化代码放到init()方法中:只执行一次 4、使用批量更

6、新:一次连接完成所有动作 5、尽对能做现场更新:使用UPDATE而不使用INSERT,DELETE,REMOVE 6、使用适当的方法取得JDBC连接:DataSource 7、适当的释放JDBC资源:finally代码块屮释放connection资源 8、不要闲置JDBC连接:尽快释放 9、尽快的提交或回滚事务 10、 适当设置连接池的容量 11不要让事务涵盖用户的输入:事务耗费数据库和应用服务器的资源,应避免使用长时间的 事务 12、尽可能利用数据库的功能:数据库触发器等 4?什么是JTA? 1、JTA允许应用程序执行分布式事务处理一一在两个或者是多个网络计算机资源上访问并且更 新数据,这些

7、数据可以分步在多个数据库上 2、两阶段提交:事务管理器和资源管理器之间使用的协议是XA ( 资源和事务管理器之间的标准 化接口 ) 3、XA:资源和事务管理器Z间的标准化接口 XA链接参与了JTA事务,XA链接不支持JDBC的自动提交功能 4、开发人员声明事务的开始和提交 (1)建立事务 (2)启动事务 (3)定位数据源 (4)建立数据库连接 (5)执行与资源有关的操作 (6)关闭连接 (7)完成事务 MVC 1 . 基于MVC模式的JavaEE Web应用构架。 View 层: 呈现给用户的界面(JSP 或应用GUI)(HTML tags;JSP tags XML/XSL) Controll

8、er层:接受用户动作,并对应用数据进行适当的处理(Servlet ) Model层:封装应用数据(关系数据库或EJB),处理商业逻辑(Bean/JavaBeans) 2?常用的MVC框架。使用框架的优点。 Structs Webwork Spring、MVC 等 优点:一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以 被扩展以进行内部的定制化;并且有强大的用户社区来支持它。框架通常能很好的解决一个问 题。 *3?基于JavaEE做应用时,有哪些常用的设计模式? 1、MVC模式; 2、Front Controller模式:对所有请求进行统一处理; 3、session

9、facade 模式; 4、Data Access Object 模式 消息服务JMS (Java Message Service) 什么是jms 1、一个使用可靠的、异步的、松耦合的联通方式允许应用创建,发送,接收和读取信息的 API。 2、JMS定义了一个通用的接口和相关语义集合,它可以允许使用Java语言编写的程序与其他 可以发送消息的实现进行通信 两种消息域 1、点对点(PTP): JMS把每一个消息传递给一个消息消费者(Message Consumer) 点对点消息处理方式: (1)按照发送的顺序把消息写入并保存到队列中; (2)消息消费者处理队列屮的消息。 2、发布/ 订阅(pub/

10、sub ):把消息发送给一个主题(Topic ),每个主题有多个订阅者,由JMS 把 消息的副本传递给主题的每个订阅者 发布/ 订阅消息处理: *补充:消息消费的方式:同步、异步 i?使用消息的应用场景 智能的交换机,用于路由分布式应用中的应用程序组件和进程中的消息 异步传递消息,大量数据插入数据库时需要一个安全的缓存,应付大量访问的交易系统协同多 系统之间的处理效率 2?两种消息应用:队列、主题,使用场景是什么? 1、队列(点对点的消息处理机制) 场景:web前端发送包含订货信息的消息,仓库管理系统接收这个消息,并且对订货进行适当 的处理,即时有多个仓库管理系统,也不会同时处理同一个订单,顾

11、客的订货信息应当持久保 存。 2、主题(发布 / 订阅消息处理机制) 当客户购买过几次之后,一个消息就会发送给一个“常客”主题 站点为这些常客发送一个“特惠待遇”的消息 3.对于消息的消费者来说:同步、异步,应用场景是什么? 1、对于同步消费者来说:如杲消息没有到达,那么消息消费者将一直等待,不能做其他的事情 应用场景:通过JMS facade更新数据库(来自网络,不知对错,一般情况下都是使用异步处理 的) 2、对于异步消费者来说:客户机在消息到达之前,可以做其他的事情 应用场景:大量访问的交易系统等中间件 中间件(不细节考虑,只要知道有哪几类) 1.远程过程调用(RPC) 2.远程数据访问

12、3.分布式事务处理 4.消息队列 FIGURE 45-4 Publish/Subscribe Messaging Publishes Subscribes 一 -Delivers Client 2 Client 1 Msg ? Subscribes Delivers Client 3 2?名词解释:RMK JNDI RMI: Remote Method Invocation 是用于分布式编程的,基于java的模型,使用RMI, java代码可以调用远程对象中的方法 JNDI: Java Naming and Directory Interface 为不同的目录提供一个共同的接口,JNDI在J2

13、EE应用程序中的主要角色就是提供间接层, 这样 组件就可以发现所需要的资源,而不用了解这些间接性 JPA 1. 对象关系映射的概念。(ORM, Object-Relation Mapping) 1、 是一种为了解决面向对象与关系数据库存在的互不匹配的现彖的技术 2、ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到 关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 3、 关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务 实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。 实体类的设计规范,类似

14、java bean 一个实体类必须被javax.persistence.Entity标注 2、 实体类还需要有一个public或者protected无参构造函数 3、 实体类不能被声明为final,不能有被声明为final的可持久化实例变量或方法 4、 如杲一个实体类被作为detached object通过一个会话bean事务接口按值传递,那么这个类 必须实现序列化接口 5、 实体类可能会继承实体类和非实体类,非实体类可以继承实体类 可持久化的实例变量必须被声明为private protected,并只能被实体类中的方法直接访问, 客户端必须通过accessor或者business metho

15、d进行访问 被打包为持久性单元,内容,目录结构 ? 话MyJPA I t JPA Content 厶出 edu.nju.onlinestoclcdao .T) UserDao.java UserDaoBeanJava 厶岀 edu.nju.onlinestock.model ?) User.java 厶:H edu.nju.onlinestoclctest (J) EJBFactory.java UserDaoTest.java 厶 & META-INF g) MANIFEST.MF & persistence.xml BA JRE System Library jre6 直 JBoss 6.0 Runtime JBoss 6.0 Runtime t 禺 JUnit 4 直 EAR Libraries G build

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1