Tomcat配置集锦

修改apache-tomcat-6.0.20//conf//tomcat-users.xml文件  

1..新增Tomcat的管理员用户名和密码  

 修改第18行的<tomcat-users>标签的内容,修改后的内容如下所示

  <tomcat-users>  

    <role rolename="admin"/>  

    <role rolename="manager"/>  

    <user username="jadyer" password="22" roles="admin,manager"/>  

  </tomcat-users>  

[xhtml] view plaincopy
 
 

修改apache-tomcat-6.0.20//conf//web.xml文件    

1..当我们未设置JavaWeb项目的欢迎文件或者欢迎文件不存在时,在访问Web应用后以列表的形式显示可用页面  

   将第99行的listings参数的值,由默认的false修改为true即可  

   修改后的内容,如下所示  

   <servlet>  

     <servlet-name>default</servlet-name>  

     <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>  

     <init-param>  

     <param-name>debug</param-name>  

     <param-value>0</param-value>  

     </init-param>  

     <init-param>  

     <param-name>listings</param-name>  

     <param-value>TRUE</param-value>   

     </init-param>  

     <load-on-startup>1</load-on-startup>  

   </servlet>  

[xhtml] view plaincopy
 
 

修改apache-tomcat-6.0.20//conf//server.xml文件  

1..将67行<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />  

   修改为<Connector port="8088" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="88" URIEncoding="UTF-8"/>  

   port---------指定Tomcat默认使用的端口号  

   maxThreads---指定Tomcat最多同时处理的连接数  

   URIEncoding--解决使用HTTP Get方法传递中文参数时出现的乱码问题  

2..将项目映射到tomcat6//conf//server.xml中  

   在142行即<Host>标签里面新增<Context path="/test" docBase="F:/Workspace/test/WebRoot" reloadable="true"/>  

   然后在浏览器中直接访问http://127.0.0.1:8088/test即可  

   但此时test//WebRoot//WEB-INF//lib中需存在相应的JAR包  

   否则可能会报告错误,因为这里是映射的路径  

[xhtml] view plaincopy
 
 

修改apache-tomcat-6.0.20//conf//context.xml文件  

1..将19行<Context>修改为<Context reloadable="true">  

   目的是,当JavaWeb应用中的文件或者web.xml文件修改后,Tomcat服务器会自动重新加载当前的JavaWeb应用,避免重新启动Tomcat  

   这个修改会对Tomcat的运行性能有影响  

   如果把Tomcat作为产品阶段所使用的服务器,最好将其修改成<Context reloadable="false">    

2..配置Tomcat内置的连接池  

   大多数的Java Web服务器都内置了连接池,通过简单的配置就可以直接使用,而且性能更优秀、更可靠  

   Tomcat服务器中使用默认的连接池技术是DBCP,具体的配置是通过修改apache-tomcat-6.0.20//conf//context.xml文件来实现的  

   我们只需要在context.xml的第34行新增以下内容  

  <Resource name="jdbc/oracleds"  

  auth="Container"  

  type="javax.sql.DataSource"  

  maxActive="100"  

  maxIdle="30"  

  maxWait="10000"  

  driverClassName="oracle.jdbc.OracleDriver"  

  username="scott"  

  password="oracle"  

  url="jdbc:oracle:thin:@127.0.0.1:1521:jadyer" />  

  <Resource name="jdbc/mysqlds"   

     auth="Container"   

   type="javax.sql.DataSource"  

     maxActive="100"   

     maxIdle="30"   

     maxWait="10000"  

     driverClassName="com.mysql.jdbc.Driver"  

     username="root"   

     password="root"  

     url="jdbc:mysql://127.0.0.1:3306/jadyer?characterEncoding=UTF-8"/>  

     <Resource name="jdbc/sqlserver2000ds"  

     auth="Container"  

     type="javax.sql.DataSource"  

     maxAtcive="100"  

   maxIdle="30"  

     maxWait="10000"  

     driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"  

     username="sa"  

     password="sa"  

   url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jadyer"/>  

     name-------------数据源对象的名字  

     auth-------------验证方式  

     type-------------资源的类型  

     initialSize------连接池的初始连接数。即Tomcat服务器启动后最初建立的连接数  

     maxActive--------连接池同一时间可分配的最大连接数。如果参数值是非正数,表示不作限制  

     maxIdle----------连接池中可以保留的最大空闲连接数。大于此数量的空闲连接会被释放。负数表示不作限制  

     minIdle----------连接池中可以保留的最小空闲连接数。如果小于此数量,更多的空闲连接会被创建。“0”表示不创建  

     maxWait----------连接池中连接的最大超时时间。单位为毫秒  

     driverClassName--数据库驱动的类   

     username---------建立连接池连接的数据库的用户名  

     password---------建立连接池连接的数据库的密码  

     url--------------创建数据库连接所需要的URL的参数值  

   ·修改完context.xml之后,还需把Oracle和MySQL的驱动类库复制到apache-tomcat-6.0.20//lib中  

   ·同时为了简化通过连接池获取数据库连接的过程,JDBC2.0规范中引进了JDBC数据源(Data Source)的概念  

   ·javax.sql.DataSource对象是java.sql.Connection对象的工厂,也可以认为是数据库连接池的管理员  

   ·我们的程序要通过Tomcat服务器获得数据库的连接,先要获取DataSource对象,然后通过DataSource对象获取连接池的连接  

   ·接下来我们在程序中就可以通过类似下面的代码,来通过数据源对象获得连接池中的数据库连接对象  

   ·Context context = new InitialContext();  

   ·DataSource ds = (DataSource)context.lookup("java:/comp/env/jdbc/oracleds");  

   ·Connection conn = ds.getConnection();  

   ·javax.naming.Context是JNDI的上下文对象,作用上有些像我们所说的当前目录  

   ·调用context对象的lookup()方法,就可以根据指定的JDNI的名字获得一个数据源对象  

   · 其中"java:/comp/env/"是必须有的内容,而"jdbc/oracleds"是我们在context.xml文件所设置的参数name的值  

   ·然后通过DataSource对象ds的getConnection()方法就可以获得数据库的连接对象conn  

   ·这种方式获取的Connection对象在使用完后,必须在程序中显式调用该对象的close()方法,释放资源   

   · 即将当前的Connection对象再返回到连接池中,而并不是真正的关闭其相应的到数据库的连接  

posted @ 2015-09-08 10:04  往事.随风  阅读(151)  评论(0编辑  收藏  举报