天天看点

使用JSP/Servlet技术开发新闻发布系统、第五章

使用分层实现业务处理

一:JNDI

1、JNDI的全称是Java命名与目录接口(Java Naming and Directory Interface),是一个有关应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。

是一种将对象和名字绑定的技术

使用JSP/Servlet技术开发新闻发布系统、第五章

2、context.xml文件代码

<Context>
	<Environment name = " " valeue = " " type="java.lang.String"/>
</Context>
           

元素用于配置命名的值,所配置的值作为环境条目资源,对整个Web应用可见。

  • name:环境条目的名称,相对于java:comp/env的名称。
  • type:环境条目的Java类名的全称。
  • value:通过JNDI context请求时,返回给应用的参数值,该值必须转换成type属性定义的Java类型。

二:数据连接池

1、什么是连接池

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不再是重新建立一个;释放那些空闲时间超过最大空闲时间的数据库连接,以避免由于没有释放数据库连接而引起的数据库连接泄露。

使用JSP/Servlet技术开发新闻发布系统、第五章

2、数据源与连接池

使用JSP/Servlet技术开发新闻发布系统、第五章

3、数据源与JNDI资源

使用JSP/Servlet技术开发新闻发布系统、第五章

获取名称为jdbc/news的数据源

//初始化上下文
Context ctx = new InotoalContext();
//获取与逻辑名相关联的数据源对象
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc.news");
//通过DataSource的getConnection()方法获取数据库连接对象
Connection conn = ds.getConnection();
           

4、数据源的配置

①context.xml文件的配置

使用JSP/Servlet技术开发新闻发布系统、第五章

②web.xml文件的配置

<web-app>
	<resource-ref>
		<description>news DataSource</description>
		<res-ref-name>jabc/news</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>
</web-app>
           
使用JSP/Servlet技术开发新闻发布系统、第五章

三:软件设计分层模式

1、三层架构

表示层、业务逻辑层、数据访问层

使用JSP/Servlet技术开发新闻发布系统、第五章

2、层与层之间的关系

使用JSP/Servlet技术开发新闻发布系统、第五章

3、分层原则

使用JSP/Servlet技术开发新闻发布系统、第五章
使用JSP/Servlet技术开发新闻发布系统、第五章

4、三层架构的关系

使用JSP/Servlet技术开发新闻发布系统、第五章

5、两层开发的弊端

使用JSP/Servlet技术开发新闻发布系统、第五章

6、小结

使用JSP/Servlet技术开发新闻发布系统、第五章