Tomcat下有7个目录,分别是bin,conf,lib,logs,temp,webapps,work 目录

Tomcat根目录在tomcat中叫<CATALINA_HOME>

  1. 1.<CATALINA_HOME>/bin:
      存放各种平台下启动和关闭Tomcat的脚本文件。
  2. 2.<CATALINA_HOME>/lib:
      lib目录下的lib目录,存放Tomcat服务器和所有web应用都能访问的JAR
  3. 3.<CATALINA_HOME>/work:
      Tomcat把各种由jsp生成的servlet文件放在这个目录下。
  4. 4.<CATALINA_HOME>/temp:
      临时活页夹,Tomcat运行时候存放临时文件用的。
  5. 5.<CATALINA_HOME>/logs:
      存放Tomcat的日志文件。
  6. 6.<CATALINA_HOME>/conf:
      Tomcat的各种配置文件,最重要的是server.xml
    7.<CATALINA_HOME>/webapps:
      Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录。

1.端口修改

  在conf下的server.xml中修改<Connector port="8080" ......

2.登录控制台

  在admin和manager下的web.xml中会发现role-name 分别是admin和manager,因此需要在conf的tomcat-user.xml中配置这2个角色和用户。

3部署

  有4种方式分别如下,使用控制台部署、修改server.xml文件部署web应用、利用tomcat 自动部署(直接复制到webapp文件夹下,tomcat就会自动加载该web应用)、增加用户的部署文件(在Catalina/localhost下新 建自己的xml文件,里面加上<Context......></Context>).

4.tomcat数据源的配置

  数据库连接池的解决方案是:当应用程序启动时,系统主动的建立足够的数据连接,并将这些链接组成一个连接池。每次应用程序请求连接数据库连接时,无 须重新打开连接,而是从池中取出已有的链接使用,使用完后,不再关闭数据库连接,而是直接将连接归还给连接池。通过使用连接池将大大提高程序运行效率对于 共享资源的情况,有一个通用的设计模式:资源池(Resource Pool),用于解决资源频繁的请求,释放所造成的性能的下降。JDBC2.0规范引入了连接池技术。

  数据库连接池是Connection对象的工厂。

  数据库连接池的常用的参数如下:

  1. > 数据库的初始连接数 > 连接池的最大连接数 > 连接池的最小连接数 > 连接池每次增加的容量

  JDBC的数据库连接池使用javax.sql.DataSource来表示,DataSource只是一个接口,该接口通常由商用服务器(如WebLogic、WebSphere)等提供实现,也有一些开源组织提供实现(DBCP和C3P0等)

DBCP数据源

  1. 需要commons-dbcp.jar(连接池的实现依赖库)、commons-pool.jar(连接池的实现)、commons-collections.jar

DBCP是Apache下的开源连接池实现,如果需要使用该连接池,应在系统中增加两个jar文件

> commons-dpcp.jar :连接池的实现
> commons-pool.jar :连接池的实现依赖库
下载地址:登录 http://commons.apache.org/站点即可下载到commons-pool.zip和commons-dbcp.zip

Tomcat的连接池正事采用该连接池来实现的。数据库连接池既可以与应用服务器整合使用,也可以由应用程序独立使用。

下面为DBCP获得数据库连接的方式

  1. //创建数据源对象
  2.  
  3. BasicDataSource ds = new BasicDataSource();
  4.  
  5. //设置连接池所需的驱动
  6.  
  7. ds.setDriverClassName("com.mysql.jdbc.Driver");
  8.  
  9. //设置连接池数据库德url
  10.  
  11. ds.setUrl("jdbc:mysql://localhost:3306/testDB");
  12.  
  13. //用户名
  14.  
  15. ds.setUsername("root");
  16.  
  17. //密码
  18.  
  19. ds.setPassword("pass");
  20.  
  21. //初始连接数
  22.  
  23. ds.setInitialiSize(5);
  24.  
  25. //最多可以有多少个连接数
  26.  
  27. ds.setMaxActive(20);
  28.  
  29. //最少有多少个空闲的链接
  30.  
  31. ds.setMinIdle(2);
  32.  
  33. //通过数据源获取连接
  34.  
  35. Connection conn = ds.getConnection();

当访问数据库结束后,程序还可以像以前一样关闭数据库连接,但并不是把物理数据库关闭只是 把数据连接释放,归还给连接池,让其他客户可以使用该链接

  1. //关闭数据库德连接
  2.  
  3. conn.close();

C3P0数据源

  效果比上面的要好,Hibernate就推荐使用它,而且它还可以自动的清理不再使用的Connection 和Statement、ResultSet

  如要使用该连接池,要在系统中增加如下jar文件

  1. > c3p0-0.9.1.2.jar

  C3P0连接池的实现 下载地址:登录http://sourceforge.net/projects/c3p0/站点下载最新版本,下载后得到一个 c3p0-0.9.1.2.bin.zip文件(版本号可能有区别)。

  1. //创建连接池实例
  2.  
  3. ComboPooledDataSource ds = new ComboPooledDataSource();
  4.  
  5. //设置连接池连接数据库所需的驱动
  6.  
  7. ds.setDriverClass("com.mysql.jdbc.Driver");
  8.  
  9. //设置连接数据库的所需驱动
  10.  
  11. ds.setJdbcUrl("jdbc:mysql://localhost:3006/javaee");
  12.  
  13. //设置连接数据的用户名 ds.setUser("root");
  14.  
  15. //密码 ds.setPassword("123456");
  16.  
  17. //最大连接数 ds.setMaxPoolSize(40);
  18.  
  19. //最下连接数 ds.setMinPoolSize(2);
  20.  
  21. //初始连接数 ds.setInitialPoolSize(10);
  22.  
  23. //设置连接池的缓存Statement的最大数
  24.  
  25. ds.setMaxStatements(180);
  26.  
  27. //获得连接
  28.  
  29. Connection conn = ds.getConnection();

在tomcat中的配置Resource

  1. <Context path="/dbpool" docBase="dbpool" debug="5" reloadable="true" crossContext="true">
      <Resource driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:bea:sqlserver://localhost:1433;DatabaseName=A6_YLGL" username="sa" password="111111" name="jdbc/a6" type="javax.sql.DataSource" auth="Container" maxActive="20" maxIdle="10" maxWait="5000"/>
    </Context>
  1. path: 自己应用的路径(一般为相对路径),在webapps目录下;
  2.  
  3. docBase: 应用的名称和上面相同;
  4.  
  5. driverClassName: 应用所要的驱动名;
  6.  
  7. url: 连接数据库的地址;
  8.  
  9. username: 登陆数据库要使用的用户名;
  10.  
  11. password: 登陆数据库要用的密码;
  12.  
  13. name: 引用上下文(context)的JNDI名,自己随便设;
  14.  
  15. type: 引用资源的类型;
  16.  
  17. maxActive: 每次连接数据库的最大数;
  18.  
  19. maxIdle: 每次连接数据库的等待数;
  20.  
  21. maxWait: 每次阻塞的最大延迟时间(毫秒);

  其中可以在web.xml加入如下代码段引用上面的资源

  1. <resource-ref>
  2. <description>DBConnection</description>
  3. <res-ref-name>jdbc/a6</res-ref-name>
  4. <res-type>javax.sql.DataSource</res-type>
  5. <res-auth>Container</res-auth>
  6. </resource-ref>

注意:

  1. <resource-ref>--资源引用,一般声明管理资源,如数据库驱动程序、JavaMail Session、自定义类工厂等。
    <resource-env-ref>--资源环境引用

在代码中使用数据源

  1. Connection conn=null;
    Context initCtx=new InitialContext();
    Context ctx=(Context)initCtx.lookup("java:comp/env");
    javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("jdbc/a6");
    conn=ds.getConnection();

Tomcat 使用说明的更多相关文章

  1. tomcat使用说明

    tomcat使用说明   1.tomcat的目录结构及说明: 2.发布WEB应用 1).将应用目录达成war包.(将html.jsp.images.WEB-INF目录和当前目录下的所有后缀名为jsp. ...

  2. 完全自主创建Wrapper Tomcat容器

    Wrapper Tomcat 使用说明1. Wrapper Tomcat 简介1) Wrapper Tomcat 是使用Apache Tomcat 整合 Java Service Wrapper 的一 ...

  3. Linux中使用Crontab定时监测维护Tomcat应用程序的方法

    Linux中使用Crontab定时监测维护Tomcat应用程序的方法 功能需求: 定时监测发布的某项应用程序是否可用,如果不可用,立即执行处理措施,实现自动化运维工作. 监测的应用接口: 新闻接口.天 ...

  4. tomcat server.xml中文版

    原文:http://www.blogjava.net/baoyaer/articles/107278.html Tomcat Server的结构图 该文件描述了如何启动Tomcat Server &l ...

  5. Tomcat 学习心得

    Tomcat Server的结构图 Tomcat服务器的启动是基于一个server.xml文件的,Tomcat启动的时候首先会启动一个Server,Server里面就会启动Service,Servic ...

  6. IDEA工具使用说明

    IDEA使用说明 1.安装 2.开始界面 1)create New Project (新建项目) 2)Import Project  (导入项目) 3)Open (打开已有的项目) 4)Check o ...

  7. tomcat中server.xml配置详解

    Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Server>     <Listener />     <GlobaNami ...

  8. 在Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程

    之前在Mac上通过安装mamp来搭建PHP环境服务器,但是对于java来说,目前还是没有找到类似mamp这样强大的软件来构建及管理java环境服务器,所以目前也是通过命令行来进行tomcat服务器的安 ...

  9. 【转】Tomcat中server.xml配置图

    http://www.cnblogs.com/ywl925/archive/2013/02/28/2936926.html Tomcat Server的结构图 该文件描述了如何启动Tomcat Ser ...

随机推荐

  1. UVALive 6092 Catching Shade in Flatland --枚举+几何计算

    题意:x=[-200,200],y=[-200,200]的平面,一天中太阳从不同角度射到长椅(原点(0,0))上,有一些树(用圆表示),问哪个时刻(分钟为单位)太阳光线与这些圆所交的弦长总和最长.太阳 ...

  2. 链表面试题Java实现【重要】

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. java 12-1 StringBuffer类

    线程安全(多线程讲解) 安全 -- 同步 -- 数据是安全的--效率低一些 不安全 -- 不同步 -- 数据不安全--效率高一些 安全和效率问题是永远困扰我们的问题. 安全:医院的网站,银行网站 效率 ...

  4. 使用 ssh 连接github的方法说明(gitub的官方说法)

    https://help.github.com/articles/generating-an-ssh-key/

  5. C++容器的复制

    C++容器的复制不同于Java Java是引用复制,复制的仅仅是对象的引用, 在需要复制容器内对象的副本集合的情况,需要使用Clone方法,而且要注意clone方法的浅拷贝 深拷贝 C++的容器复制 ...

  6. EasyUI中页面必须刷新才显示tree组件最新数据的BUG解决方案

    在URL地址后面加个时间戳,这样就避免从浏览器缓存里读取数据了 $("#devtree").tree({ url: '/Deviceinfo/ModelsTree.aspx?cmd ...

  7. 限制站点目录防止跨站的三种方案(使用open_basedir)

    nginx结合php的时候,可以使用open_basedir限制站点目录防止跨站具体实现方法有以下三种:注意:以下三种设置方法均需要PHP版本为5.3或者以上. 方法1)在Nginx配置文件中加入fa ...

  8. Xcode7创建的项目添加启动图有问题?

    在Xcode7下创建的项目,由于某个原因,Xcode7添加启动图有点不一样.Xcode7与Xcode6不一样的地方在于:Xcode6的LaunchScreen.xib改成了LaunchScreen.s ...

  9. python socket发送魔法包网络唤醒开机.py

    python socket发送魔法包网络唤醒开机.py 现在的电脑应该都普遍支持有线网络的WOL了,支持无线网络唤醒的电脑,可能比较少. """ python socke ...

  10. linux添加时间提示符

    给PS1添加\t [root@lanny ~]# echo $PS1 [\u@\h \W]\$ [root@lanny ~]# export PS1="[\u@\h \W\t]\$" ...