Tomcat部署资源:
1.在Tomcat目录文件下的conf/context.xml文件夹中添加
<Environment name="tjndi" value="hello this is news project" type="java.lang.String"/>
2.通过Java脚本进行获取资源
1)创建上下文对象
Context cty=new InitialContext();
2)获取JNDI的信息
String str=(String)cty.lookup("java:com/env/tjndi");
为什么需要链接池?
原因:在我们原来使用java访问数据库时,会造成频繁对数据库开启和关闭,导致已下几点不足:
1.安全性能差,执行访问效率较低
2.需要频繁的进行开启链接,关闭连接,消耗资源
3.当多个并发操作访问同时,数据库功能性较低
连接池的作用:
相当于把建立成功的链接保存在web容器中,不会频繁进行开启和关闭,并且可以进行配置多个连接资源
DataSource类:
作用:为sql语句执行提供链接服务,负责管理数据库连接的信息,以连接的形式进行管理
如何从连接池中进行配置,如何获取到配置的DataSource呢?
使用JNDI配置数据库连接池信息:
1.在Tomcat文件下的conf下的context.xml文件夹配置DataSource参数
<Resource name="jdbc/test" 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/user? useUnicode=true&
characterEncoding=utf-8" />
name jndi名称
auth 驱动管理员信息
type 配置的类型 DataSource数据库连接对象信息
maxActive 设置最大活动数量(同时访问量)
maxIdle 设置最大空闲数据量
maxWait 设置最大等待数量
driverClassName 连接数据驱动名称
2.在项目中web.xml配置文件下引入
<!--配置jndi数据源信息-->
<resource-ref>
<res-ref-name>jdbc/test</res-ref-name>
<!--jndi类型-->
<res-type>javax.sql.DataSource</res-type>
<!--jndi管理者-->
<res-auth>Container</res-auth>
</resource-ref>
3.导入数据库连接驱动jar包。直接放到web-info下面的文件夹,没有需要手动创建
4.提供代码获取数据库连接信息
Context context=new InitialContext();
//从jndi中获取了DataSource
DataSource dataSource=(DataSource)
context.lookup("java:comp/env/jdbc/test");
从jndi中获取资源参数获取信息
conn= dataSource.getConnection();
关于开发过程中数据分层概念:
常用的开发模式分为三层
第一层:表现层 作用:为用户提供交互,业务逻辑处理,收集数据等
等二层:业务层 作用:为表现提供数据的请求结果,事务管理
第三层:数据层 作用:为业务数据提供结果,一般比较私密,直接访问数据库数据
事务管理:一般为用户数据操作提供安全性,如果用户操作不当,导致数据异常,可以利用事务进行处理解决