Tomcat8使用数据源的三种方式

来源:互联网 发布:淘宝上怎么投诉店铺 编辑:程序博客网 时间:2024/06/15 00:08

Tomcat8使用数据源的方式一(Tomcat8端局部配置)


在Tomcat8的conf/Catalina/localhost目录中添加xml文件使用数据源

此种方式发布项目,是最佳选择。因为这样对tomcat8的入侵性最小,只需要新增一个xml配置文件,不需要修改Tomcat8

conf/server.xml、 conf/web.xml、conf/context.xml文件和项目的web.xml文件;即在以上文件中不需要包含有关数据源的任何信息。而且支持动态解析,修改完代码直接生效(修改配置除外)。

此种方式发布项目的步骤如下:

1.首先在eclipse中配置好tomcat的服务器。

2.如果采用Eclipse或MyEclipse开发,假设建立Dynamic Web Project项目的工程目录为 D:\javaProject\TestPro2

3.在tomcat8服务器的conf\Catalina\localhost目录下新建RenYi.xml文件(文件名可任意取),内容如下:

 <Context path="/RenYidocBase="D:\javaProject\TestPro2\WebContent" debug="0" privileged="true">

<Resource 

        name="jdbc/cgmDS" 

auth="Container"

        type="javax.sql.DataSource" 

        driverClassName="oracle.jdbc.driver.OracleDriver" 

        url="jdbc:oracle:thin:@localhost:1521:orcl"

        username="system" 

        password="linux" 

        maxIdle="2" 

       maxWait="5000" 

        maxActive="4"/>

 </Context>

 RenYi.xml文件中

path是指项目的发布路径,也就是访问路径,假如像上边那样填写,就要这样访问:          http://localhost:8080/RenYi/index.jsp

docBase是指工程项目的WebContent(Eclipse)WebRoot(MyEclipse)目录,这很好理解。你的项目最终发布,就是发布到这个目录。

上面的配置是将web应用放在tomcat服务器文件夹以外的任何位置,然后通过xml配置文件告诉tomcat如何部署这个web应用。

Tomcat8会首先到conf/Catalia/localhos目录中扫描所有的xml文件,在xml文件中通过docBase="D:\javaProject\TestPro2\WebContent"找到工程项目,并通过path="/RenYi"来指定发布(访问)路径

    注意:xml的文件名一定要和path=""中所指定的发布路径一致!在本例中xml文件名必须为:RenYi.xml

           而docBase所指向的目录名则不必和path所指向的目录名同名,docBase只要指向工程目录即可比如:

K:\testWeb\struts_hello\WebContent (针对Eclipse开发的struts_hello工程)

K:\testWeb\struts_hello\WebRoot (针对MyEclipse开发的struts_hello工程)

E:\myWebApps\TestCgm\WebContent (针对Eclipse开发的TestCgm工程)

E:\myWebApps\TestCgm\WebRoot  (针对MyEclipse开发的TestCgm工程)

    3.在eclipse中启动tomcat8,但不要在tomcat8服务器中部署(加载)该项目

这样的话,通过地址 http://localhost:8080/TestPro/index.jsp 就可访问到项目。 

  上边是比较常见的用法,但很多时候,我们希望把项目发布到tomcat根目录,这样就不用输入冗长的发布路径,直接输入域名http://localhost:8080就可以访问了。

  用这种方法把项目发布tomcat根目录,注意事项如下:

 

    1.为了保险起见,删掉tomcat服务器中的webapps目录下的ROOT文件夹。

    2.将xml文件名命名为ROOT(ROOT.xml)

    3.将xml中的path设成空(path="")。

  这样就可以将项目发布到tomcat根目录了,希望本文对大家有帮助。

Tomcat8使用数据源的方式二(工程项目端局部配置)

在WebRoot/META-INF目录中添加context.xml文件来使用数据源

此种方式在添加数据源时,步骤如下:

 1. 需要在工程项目WebRoot的META-INF目录中新建context.xml

context.xml的内容为:

<?xml version='1.0' encoding='utf-8'?> 

<Context> 

<Resource 

      name="jdbc/cgmDS2" 

      auth="Container"

      type="javax.sql.DataSource" 

      driverClassName="oracle.jdbc.driver.OracleDriver" 

      url="jdbc:oracle:thin:@localhost:1521:orcl"

      username="system" 

      password="linux" 

      maxIdle="2" 

      maxWait="5000" 

      maxActive="4"/> 

</Context>

WebRoot/META-INF/context.xml这个文件用来存放关于数据源的配置。在XML内容中,需要有Context标签,然后用Resource标签说明数据源的信息。Name属性指明数据源的JNDI名称是 java:comp/env/jdbc/cgmDS2 其中前缀 java:comp/env是Tomcat固定的,Tomcat提供的JNDI绑定都必须加该前缀。服务器会通过 java:comp/env/jdbc/cgmDS2来查找数据源。driverClassName指明所使用的数据库JDBC驱动。 Url指明Oracle服务器的url地址为 jdbc:oracle:thin:@localhost:1521:orcl其中orcl为Oracle数据库的SID

Tomcat8使用数据源的方式三(Tomcat端全局配置)

在Tomcat8的conf目录中配置context.xml文件使用数据源

在Tomcat8服务器的conf/context.xml文件的<Context>标签中添加<Resource>标签内容如下:

<Resource 

      name="jdbc/cgmDS3" 

      auth="Container"

      type="javax.sql.DataSource" 

      driverClassName="oracle.jdbc.driver.OracleDriver" 

      url="jdbc:oracle:thin:@localhost:1521:orcl"

      username="system" 

      password="linux" 

      maxIdle="2" 

      maxWait="5000" 

      maxActive="4"/> 

这种配置方法加入的数据源,在Tomcat8中所有的web应用中都可以使用。但这种方法如果使用不当会使所有的应用都受到影响,因此并不推荐这种方法

0 0