Tomcat:定义JNDI资源,访问数据库

Tomcat 中JDBC资源是利用JNDI来设计的,要在Tomcat中配置JDBC资源,学会如何配置JNDI资源就可以了。下面就以JDBC资源来说明如何使用Tomcat的资源服务。

1、定义JNDI资源

可以定义成全局资源,也可以定义为针对某个Web Context的资源。

方案1:在Context中定义JNDI资源:

定义资源,要使用<Resource>,下面定义一个JDBC资源:

<Context>
<Resource auth=”Container”
name=”jdbc/mysql_jdbcTest”
type=”javax.sql.DataSource”
driverClassName=”com.mysql.jdbc.Driver”
username=”cloudlink”
password=”cloudlink”
maxIdle=”2”
maxWait=”5000”
url=”jdbc:mysql:192.168.2.92:3306/jdbcTest?useEncoding=UTF-8”
maxActive=”4”
/>
</Context>

方案2:

定义全局的JNDI资源,在tomcat/conf/server.xml的<GlobalNamingResource>中定义。

下面是一个全局资源的定义,将其放在<GlobalNamingResource>中。

<GlobalNamingResource>
<Resource auth=”Container”
name=”jdbc_test_1”
type=”javax.sql.DataSource”
driverClassName=”com.mysql.jdbc.Driver”
username=”cloudlink”
password=”cloudlink”
maxIdle=”2”
maxWait=”5000”
url=”jdbc:mysql:192.168.2.92:3306/jdbcTest?useEncoding=UTF-8”
maxActive=”4”
/>
</GlobalNamingResource>

然后在<Context>链接全局资源:

<Context>
     <ResourceLink global=”jdbc_test_1” name=”jdbc/mysql_jdbcTest” type=”javax.sql.DataSource” />
</Context>

如此就将一个全局资源链接到一个Context上了。

2、在Web应用中定义JNDI资源的引用

在web.xml中声明要引用哪些JNDI资源。

<resource-ref>
    <res-ref-name>jdbc/mysql_jdbcTest</res-ref-name>
    <res-type>javax.sql.DataSource</res-ref-name>
    <res-auth>Container</res-ref-name>
</resource-ref>

在web应用中定义了jndi资源的引用后,web应用中就可以根据这个引用找到相应的资源。

3、Web应用中使用JNDI资源

public void get(HttpServletRequest request, HttpServletResponse response) throws Exception{
    Context context=new InitialContext();
    Context envContext=(Context)context.lookup(“java:/com/env”);
    DataSource ds=(DataSource)envContext.lookup(“jdbc/mysql_jdbcTest”);
    Connection conn=ds.getConnection();
    Statement stmt=conn.createStatement();
    String sql=”select userid, username, age from User”;
    ResultSet rs=stmt.executeQuery(sql);
    PrintWriter out= response.getWriter();
    While(rs.next()){
        out.println(rs.getString(1)+”\t”+rs.getString(2)+”\t”+rs.getInt(3)+”<br>”);
    }
    rs.close();
   stmt.close();
   conn.close();
   out.flush();
   out.close();
}

4、创建相应的数据库、表

插入数据:

insert into User (userid, username, age) values(‘hello1’,’name1’,20);

5、启动Tomcat,进行测试。

在启动Tomcat前,需要在Tomcat/lib下添加MySql的JDBC驱动。

时间: 2024-11-03 03:47:11

Tomcat:定义JNDI资源,访问数据库的相关文章

Tomcat配置JNDI数据源

本文将介绍Tomcat配置JNDI数据源的方法,主要分为配置局部数据源(仅供单个应用使用)和全局数据源(所有用该Tomcat的应用都可以使用) 一.思考 从我们学习Web开发以来,我们都是通过程序代码来实现数据库的访问的.从一开始直接将数据库配置信息写在代码中,到后来将配置信息抽取出来写在了Properties文件中,我们访问数据库的代码更加精简. 而通过JNDI方式访问数据库则更为直接,JNDI连接数据库的方式直接将数据库信息放在Tomcat中,而项目代码里直接通过JNDI技术就可以得到数据源

定义通用访问数据库类

最近在公司看封装的代码,访问数据库很方便,我们只需定义Model,便可访问数据库,当然了都是封装的dll,因此自己也试着写了一个,现在做个记录. 下面是特性标签的定义,主要用于获取本地属性定义和数据库定义以及数据库字段定义: public class DataMappingAttribute : Attribute { private string localName, dbName; private string type; public DataMappingAttribute(string

定义数据模型&访问数据库

定义数据模型 一.Django定义数据模型在App中的models.py文件,数据库的表名称以类的形式来定义: [[email protected] web]# cd /opt/python/django/web/blog/ [[email protected] blog]# vim models.py from django.db import models # Create your models here. class Host(models.Model):     hostname = 

SpringBoot 常用配置 静态资源访问配置/内置tomcat虚拟文件映射路径

Springboot 再模板引擎中引入Js等文件,出现服务器拒绝访问的错误,需要配置过滤器 静态资源访问配置 @Configuration @EnableWebMvc public class StaticResourceConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHand

使用docker部署nginx+tomcat架构(2):访问mysql数据库

上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进入正题. 首先拉取mysql镜像: docker pull mysql:5.7 创建本地mysql目录: mkdir -p ~/mysql/data ~/mysql/conf ~/mysql/logschmod -R 777 ~/mysql/logs 在mysql/conf目录下创建配置文件my.c

Tomcat静态资源访问404问题

Tomcat静态资源访问404问题     前言 该问题并不是eclipse或者是tomcat的问题,究其原因是自己资源路径写的有问题   分析 我的开发工具是eclipse,而不管是什么工具,项目都会有一个根路径 如图(右击项目->Properties->Deployment assembly) 注意source一栏就是根路径 如下 /src /target/m2e-wtp/web-resources /WebContent 那么根路径有什么用呢 例如,一般会把前端的资源放在项目中的WebC

Tomcat 定制JNDI URL Resource

有个项目生产环境是Webshpere,WAS提供了基于URL的JNDI Resource, 而我们的自动化集成测试阶段使用的tomcat容器不支持这种类型的Resource,所以需要自己定制.定制很简单,先按tomcat定制resource的方式建一个jar可以读取url,加入到tomcat的classpath,然后就可以通过配置来使用基于URL的JNDI资源了.这里给出一个通过jndi访问文件夹路径的例子. 建立jar,通过建立一个jar maven项目,然后在里面定义一个com.demo.U

帆软报表FineReport中数据连接之Tomcat配置JNDI连接

1. 问题描述 在帆软报表FineReport中,通过JNDI方式定义数据连接,首先在Tomcat服务器配置好JNDI,然后在设计器中直接调用JNDI的名字,即可成功使用JNDI连接,连接步骤如下: 2. 实现步骤 · 使用版本及环境 下面以Windows XP系统,tomcat 5.5,jdk 1.6,连接SQLserver2000数据库进行JNDI连接说明,其他版本数据库步骤基本相同. 2.1 拷贝驱动 将连接数据库的JDBC驱动拷贝到Tomcat安装目录下的%Tomcat_HOME%\co

连接访问数据库的技术方法

几种数据库连接方式优缺点比较 访问接口 易用性 运行能力 可扩展性 技术层次 突出特点 ODBC 差 较高 差 底层 可进行底层控制 MFC ODBC 好 一般 高层 同用标准,应用广泛 MFC DAO 好 较高 一般 高层 访问JET性能最好 OLE DB 很难 高 好 底层 可访问非关系型数据库 ADO 最好 高 好 高层 可访问非关系型数据库,有多种编程接口 ODBC 是一种底层的访问技术,因此,ODBC API 可以是客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术无法完成的