使用分层实现业务处理
1.什么是JNDI
1.Java Naming and Directory Interface,Java命名和目录接口
2.通过名称将资源与服务进行关联
2.优点和作用
1.在应用与Java对象或资源之间建立松耦合的逻辑关联,简化应用对于资源的配置及维护工作
2.可以在更大范围、不同应用之间共享资源
3.JNDI如何实现在Tomcat中发布一条信息供所有的Web应用程序使用
1.发布信息:先修改Tomcat\conf\context.xml文件
<Context>
<Environment name="tjndi" value="hello JNDI" type="java.lang.String" /> ※:JNDI的查找 name="tjndi"
</Context>
2.获取资源:使用lookup()进行查找
//javax.naming.Context提供了查找JNDI的接口
Context ctx = new InitialContext(); ※:初始化Context对象
//java:comp/env/为前缀
//调用lookup()方法
String testjndi = (String) ctx.lookup("java:comp/env/tjndi");
4.为什么使用连接池
1.传统数据库连接方式的不足
需要经常与数据库建立连接,在访问结束后必须关闭连接释放资源
当并发访问数量较大时,执行速度受到极大的影响
系统的安全性和稳定性较差
5.生活中的连接池
热线电话----多名接线员可以处理多个来电
6.DataSource与连接池
javax.sql.DataSource接口的实现类
负责管理和数据库的连接
以连接池的形式对数据库连接进行管理
7.获取DataSource实例
Tomcat支持将DataSource实现发布为JNDI资源
Web应用通过JNDI获得DataSource引用、
8.使用连接池实现数据库连接
1.配置context.xml文件
<Context>
<Resource name="jdbc/news" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="用户名" password="密码" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/数据库名称? useUnicode=true&characterEncoding=utf-8" />
</Context>
2.配置web.xml文件
<resource-ref>
<res-ref-name>jdbc/news</res-ref-name> 指定JNDI的名字,与<Resource>元素中的name一致
<res-type>javax.sql.DataSource</res-type> 指定引用资源的类名,与 <Resource>元素中的type一致
<res-auth>Container</res-auth> 指定管理所引用资源的Manager与<Resource>元素中的auth一致
</resource-ref>
3.添加数据库驱动文件
4.进行代码编写,查找并获取数据源
<%
hahaha h = new hahaha();
String a = h.textcon1();
out.print(a);
%>
9.三层架构
主要分为表示层、业务逻辑层、数据访问层
表示层:与用户交互 收集数据 展示结果
业务逻辑层:根据业务需要控制执行过程,进行事务管理
数据访问层:提供与业务无关的数据访问操作
10.层与层之间的关系
11.分层开发的优势
1.职责清晰
2.无损替换
3.复用代码
4.降低了依赖程度