使用分层实现业务处理
JNDI简介:
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API,是SUN公司提供的一种标准的Java命名系统接口,命名服务将名称和对象联系起来,使得我们可以用名称访问对象。
JNDI使用步骤:
(1) 配置资源
(2) 通过Context的lookup()方法查找资源
数据库连接池:
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;
数据源与连接池:
数据源是在JDBC2.0中引入的概念,在JDBC扩展包中定义了javax.sql.DataSource接口,它有一组特性用于确定和描述它表示的现实存在的数据源,配置好的数据库连接池也是以DataSource的形式存在。
注: 数据库使用完毕后,需要将其关闭,释放资源。而在连接池中,使用数据源获得数据库链接对象,在调用close()方法时不会真正关闭链接,而仅仅是实现了断开应用程序与连接池之间的联系,即将连接的使用权归还给连接池。
数据源的配置:
Context.xml文件的配置:
<Resource name="jdbc/news" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" username="root"
password="root" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/news?
useUnicode=true&characterEncoding=utf-8" />
使用JNDI获得数据源对象步骤:
(1) 配置context.xml文件
(2) 配置web.xml文件
(3) 添加数据包括驱动
(4) 编写代码,使用lookup()方法获得数据源对象
三层架构:
表示层:在web应用中,一般以JSP文件、html文件为主
业务逻辑层:经常放在service包或biz包下
数据库访问层:通常放在dao包下
三层关系:
各层之间互相依赖。表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。
分层原则:
1. 上一层依赖下一层、依赖关系不跨层
2. 下一层不能调用上一层
3. 下一层不依赖上一层
4. 在上一层中不能出现下一层概念
三层优势:
职责划分清晰
无损替换
复用代码
降低了系统内部的依赖程度
松耦和、重用性高、生命周期成本低、可维护高