Tomcat部署

时间:2023-02-22 19:55:58
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();

关于开发过程中数据分层概念:

常用的开发模式分为三层

第一层:表现层 作用:为用户提供交互,业务逻辑处理,收集数据等

等二层:业务层 作用:为表现提供数据的请求结果,事务管理

第三层:数据层 作用:为业务数据提供结果,一般比较私密,直接访问数据库数据

事务管理:一般为用户数据操作提供安全性,如果用户操作不当,导致数据异常,可以利用事务进行处理解决