Tomcat配置和数据源配置

Tomcat 的配置

1. 图形化控制台的相关配置

当启动tomcat之后,进入tomcat默认主页,在偏右上角的地方有三个按钮
,当我们点击进入的时候要求我们输入帐号密码。相关配置文件在 
webapps/manager/WEB-INF路径下。使用无格式编辑器打开该路径下的web.xml,在该文件的末尾部分可以看到如下配置片段

  <!-- Define a Security Constraint on this Application -->
  <!-- NOTE:  None of these roles are present in the default users file -->
  <security-constraint>
    <web-resource-collection>
    <!-- 访问/html/* 资源需要manager-gui角色 -->
      <web-resource-name>HTML Manager interface (for humans)</web-resource-name>
      <url-pattern>/html/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-gui</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
    <!-- 访问 /text/* 资源需要manager-script角色 -->
      <web-resource-name>Text Manager interface (for scripts)</web-resource-name>
      <url-pattern>/text/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-script</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
    <!-- 访问 /jmxproxy/* 资源需要 manager-jmx 角色 -->
      <web-resource-name>JMX Proxy interface</web-resource-name>
      <url-pattern>/jmxproxy/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-jmx</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
    <!-- 访问 /status/* 资源可以使用一下任意一个角色 -->
      <web-resource-name>Status interface</web-resource-name>
      <url-pattern>/status/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-gui</role-name>
       <role-name>manager-script</role-name>
       <role-name>manager-jmx</role-name>
       <role-name>manager-status</role-name>
    </auth-constraint>
  </security-constraint>

  <!-- Define the Login Configuration for this Application -->
  <login-config>
  <!-- BASIC 表明使用弹出窗口方式登录 -->
    <auth-method>BASIC</auth-method>
    <realm-name>Tomcat Manager Application</realm-name>
  </login-config>

tomcat 默认采用文件安全域,也就是以文件存放用户名和密码,tomcat的用户由conf路径下的 tomcat-users.xml文件控制,打开该文件,发现除了注释差不多就只剩下一对<tomcat-users>标签了,对于普通开发者来说,也就是只访问/status/*这些资源,配置一个manager-gui角色就可以了

<tomcat-users>
    <role rolename="manager-gui"/>
    <user username="username" password="password" roles="manager-gui"/>
</tomcat-users>

这样就增加了一个角色为manager-gui、用户名为username、密码为password的用户,重启tomcat之后就可以点击按钮登录了。

2. 配置Tomcat的数据源

从Tomcat5.5 开始就内置了DBCP的数据源实现,它提供了两种配置数据源的方式: 
1 全局数据源——可以让所有的Web应用都访问 
2 局部数据源——只能在单个web应用中访问 
不管配置哪种数据源,都需要提供特定数据库的JDBC驱动,将其复制到Tomcat的lib路径下,然后在conf/Catalina/localhosr文件夹下新建任意名字的xml文件—-该文件就是部署Web应用的配置文件,例如,在该文件夹下增加一个 test.xml文件,内容如下:

<Context docBase="/home/huangyuan/javaweb/testTomcat" debug="0" privileged="true"></Context>

上面的配置文件中指定了Web应用的绝对路径(这也是部署web应用的一种方式),重启Tomcat之后,Tomcat会把/home/huangyuan/javaweb/testTomcat文件夹部署成web应用,该应用的URL地址为 
http://<server_address>:<port>/test 
配置数据源时只需要在其中加入Resource子元素,其内容如下:


<Context docBase="/home/huangyuan/javaweb/testTomcat" debug="0" privileged="true">
<!--
driverClassName --指定数据源在容器中的JNDI名
url             --指定数据库服务的URL
username        --指定连接数据库的用户名
password        --指定连接数据库的密码
maxActive       --指定数据源最大活动连接数
maxIdle         --指定数据池中最大空闲连接数
maxWait         --指定数据池中最大等待获取连接的客户端

-->
<Resource name="jdbc/dstest" auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javaee"
username="root"
password="xxx"
maxActive="5"
maxIdle="2"
maxWait="1000"
</Context>

下面是测试访问数据源的jsp文件部分内容:

Context ctx = new InitialContext();
/*
通过JNDI查找数据源,该JNDI为  java:comp/env/jdbc/dstest,分成两个部分
java:comp/env 是Tomcat固定的,Tomcat提供的JNDI绑定都必须加该前缀
jdbc/dstest 是定义数据源时用的数据名
*/
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/dstest");
Connection conn = ds.getConection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from test");
while(rs.next())
{
out.println(re.getString(1))
}

测试上述代码需要本机安装MySQL,并且在有一个包含test表的、名字为test的数据库。若配置全局数据源,则需要修改Tomcat的server.xml文件

原文地址:https://www.cnblogs.com/beili110/p/8434175.html

时间: 2024-08-28 03:07:18

Tomcat配置和数据源配置的相关文章

Tomcat 发布项目 conf/Catalina/localhost 配置 及数据源配置

本文介绍通过在tomcat的conf/Catalina/localhost目录下添加配置文件,来发布项目.因为这样对 tomcat 的入侵性最小,只需要新增一个配置文件,不需要修改原有配置:而且支持动态解析,修改完代码直接生效(修改配置除外). 在tomcat服务器的conf\Catalina\localhost目录下创建一个xml文件,内容如下: 或者案例: get.xml: <Context path="/" docBase="/part2/upload/"

Tomcat (7.0)数据源配置

在Tomcat这个Java Web容器下通过配置DataSource(数据源)对象可以解决上面所述的问题.JDBC中的javx.sql.DataSource接口负责建立于数据库的连接,程序中直接从数据源中获取数据库连接.DataSource对象由Servlet容器Tomcat进行管理,其实获取数据库连接是从连接池中选取空闲连接.它基于Java中的JNDI(Java 命名与目录接口)来实现. 一.所有项目共用一个连接池 1.配置数据源context.xml: 在tomcat 的conf 目录下有c

yaml配置和ini配置的数据源配置和数据获取

1.前言 关于yaml和ini的相关理论暂不做记录,不影响代码编写,百度即可. 2.关于配置文件的选择 yaml 和 ini 都使用过, 但是yaml更符合人类使用,已要弃用ini,后期各项目均采用yaml进行管理. 3.关于yaml的全流程介绍 因为钟爱使用yaml,特意先描述yaml. 3.1 先创建yaml文件,并书写相关配置数据. ??? ?? ? 3.2 导入yaml库,使用库内的load方法,返回一个dict.并用csv库的reader方法得到一个对象.并使用for循环遍历取出csv

SpringBoot配置 druid 数据源配置 慢SQL记录

spring: datasource: url: jdbc:mysql://127.0.0.12:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull username: root password: root druid: initialSize: 5 application: name: message-center secur

Spring MVC 使用tomcat中配置的数据源

Spring MVC 使用tomcat中配置的数据源 配置tomcat数据源 打开tomcat目录下的conf目录,编辑sever.xml目录.在<GlobalNamingResources>标签中添加数据源配置: <Resource name="jdbc/dbsourse" scope="Shareable" type="javax.sql.DataSource" factory="org.apache.tomcat

Tomcat配置多数据源出现Unable to create initial connections

迁自恶心人的网易博客 2017-06-27完整标题:Tomcat配置多个JNDI数据源(Postgresql)出现Unable to create initial connections of pool 版本说明 tomcat7Postgresql9.1 问题描述 在conf/context.xml中配置了两个数据源指向如下: <Resource name="jdbc/web" auth="Container" type="javax.sql.Dat

sping boot 配置多数据源

spring boot 本身自带对数据源的支持. 但在项目开发过程中,存在这种情况需要用到多数据源,用spring boot 自带的数据源就不是那么方便了.这里有个实例实现spring boot 完成多数据源的配置. 项目的目录结构是这样的. 下面看看数据源配置 // 主数据源配置 package com.tansun.beanconfig.datasourse; import java.util.Properties; import javax.sql.DataSource; import o

Springboot多数据源配置

目前,业界流行的数据操作框架是 Mybatis,那 Druid 是什么呢? Druid 是 Java 的数据库连接池组件.Druid 能够提供强大的监控和扩展功能.比如可以监控 SQL ,在监控业务可以查询慢查询 SQL 列表等.Druid 核心主要包括三部分: 1. DruidDriver 代理 Driver,能够提供基于 Filter-Chain 模式的插件体系. 2. DruidDataSource 高效可管理的数据库连接池 3. SQLParser 当业务数据量达到了一定程度,DBA 需

SpringBoot2 配置多数据源,整合MybatisPlus增强插件

本文源码:GitHub·点这里 || GitEE·点这里 一.项目案例简介 1.多数据简介 实际的项目中,经常会用到不同的数据库以满足项目的实际需求.随着业务的并发量的不断增加,一个项目使用多个数据库:主从复制.读写分离.分布式数据库等方式,越来越常见. 2.MybatisPlus简介 MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发.提高效率而生. 插件特点 无代码侵入:只做增强不做改变,引入它不会对现有工程产生影响.