Tomcat6

 

Tomcat 详解

一.下载

官方网站http://tomcat.apache.org 下载,分为解压版和安装版,功能上是一样.

  安装版会提示是否安装成windows service.,相对的解压版更自由。

   安装版的会自动在配置文件(5.0和5.5的是在conf文件夹下的tomcat-users.xml)里自动配置管理员用户,这个是用来进控制台用的,解压版的直接在配置文件里改就行了。

二.目录

图为Tomcat-Version6.0.29

tomcat根目录在即<CATALINA_HOME>

 

1.<CATALINA_HOME>/bin:

 存放各种平台下启动和关闭Tomcat的脚本文件。其中有个档是catalina.bat,打开这个windos配置文件,在非注释行加入JDK路径,例如 : SET JAVA_HOME=C:j2sdk1.4.2_06 保存后,就配置好tomcat环境了。 startup.bat是windows下启动tomcat的文件,shutdown.bat是关闭tomcat的文件。

 

2.<CATALINA_HOME>/lib:

存放Tomcat服务器和所有web应用都能访问的JAR。

 

3.<CATALINA_HOME>/webapps:

存放Tomcat的文档api和manager应用,使用来管理Tomcat-web服务用的,以及自己的 web应用的发布目录,把 java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问。在绝大多数资料上,都只提到了conf/server.xml以及context下面的 WEB-INF/web.xml,但有时,在server.xml上面没有配置的内容,tomcat也运行着,除了这两处配置外,还有一处重要的配置文件,在TOMCAT_HOME/conf/Catalina/下面(Catalina是server.xml里的engine的名称),也是一些关键的配置文件,每个主机(server.xml里的Host),在这里有一个目录,每个主机(Host)里的一个context在该主机目录下有一个对应的xml文件,比如,根目录对应ROOT.xml,其它名为test的context对应test.xml。TOMCAT_HOME/conf/Catalina/hostname/context1.xml 相当于在server.xml中的Catalina引擎下的hostname主机下配置context1WEB应用。在目录里配置,和在 server.xml里配置效果是一样的,Tomcat自带的admin,自动将所有context转到目录下配置,而不是集中在server.xml。

 

4.<CATALINA_HOME>/work :

       Tomcat把各种由jsp生成的servlet文件放在这个目录下。work这个文件夹下面的东西建议你去看看就可以明白了那是JSP文件编译成.java->.classes

 

5.<CATALINA_HOME>/temp :

      临时活页夹,Tomcat运行时候存放临时文件用的。

 

6.<CATALINA_HOME>/logs :

存放Tomcat的日志文件

 

7.<CATALINA_HOME>/conf :

 Tomcat的各种配置文件, tomcat启动的时候需要读取的配置文件:server.xml(tomcat主要配置文件)、web.xml和tomcatat-users.xml、catalina.policy(安全策略文件)等。修改了以后需要重启tomcat才能生效.最重要的是 server.xml;配置tomcat组件的XML文件server.XML其中包括

 

I.顶层类元素[Top Level Elements]: 位于整个配置文件的顶层, 包括<Server>和<Service>;

 

II.连接器类元素[Connectors ]: 客户和服务(容器类元素)间的通讯接口。接受客户请求,返回响应结果;<Connector>

 

II.容器类元素[Containers]: 处理客户请求并且生成响应结果,包含3个:<Engine> <Host> <Context>

 

IV.嵌套类元素[Nested Components]: 可以加入到容器中的元素,包括:<logger> <Valve><Realm>等

 

一个<Server>包含一个或多个<Service>,一个<Service>包含唯一一个<Engine>和一个或多个<Connector>,多个<Connector>共享一个<Engine>;一个<Engine>包含多个<Host>,每个<Host>定义一个虚拟主机,包含一个或多个web应用<Context>; <Context>元素是代表一个在虚拟主机上运行的Web应用。<Context>标签的描述

 

三.设置虚拟目录

①在<CATALINA_HOME>/conf/Catalina/localhost目录添加,启动项目名称.xml.

内容如下:

   <Context docBase="E:\Workspaces\info\src\main\webapp---项目所在的位置" path="/" reloadable="false" crossContext="false" >

 

  <Resource

     name="jdbc/publicdb"

     auth="Container"

     type="javax.sql.DataSource"

     driverClassName="oracle.jdbc.driver.OracleDriver"

     url="jdbc:oracle:thin:@192.168.119.158:1521:infodb"

     username="sinobnet"

     password="dj3e8d139D"

     maxActive="100"

     maxIdle="30"

     maxWait="5000"

     factory="org.apache.commons.dbcp.BasicDataSourceFactory" />   

 

 </Context>

 

 

②修改 Tomcat安装目录//conf//server.xml ,在下列行前

</Host>

</Engine>

添加下列行:

<Context path="/my" docBase="c://myjsp//test" debug="0" reloadable="true">

</Context>

表示增加虚拟目录 my,对应物理目录位置c://myjsp//test,若存在c://myjsp//test//hello.jsp,则下列地址可访问:

htpp://localhost:8080/my/hello.jsp

修改server.xml后,需要重新启动tomcat.

四.部署应用---基于OS—windows

   将项目的war包放到<CATALINA_HOME>/webapps下,启动/bin/startup.bat 即可

   以下是项目部署demo----SSH

1.       web.xml

<context-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>

            /WEB-INF/applicationContext.xml

        </param-value>

</context-param>

2.  applicationContext.xml  

 <bean id="newDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">

  <property name="jndiName" value="java:comp/env/jdbc/appdb" />

 </bean>

 <bean id="sessionFactory"

  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

  <property name="dataSource">

   <ref bean="newDataSource" />

  </property>

  <property name="hibernateProperties">

   <props>

    <prop key="hibernate.dialect">

     org.hibernate.dialect.Oracle9Dialect

                </prop>

    <prop key="hibernate.show_sql">false</prop>

   </props>

  </property>

3.  <CATALINA_HOME>/conf/ context.xml

<Resource name="jdbc/appdb" type="javax.sql.DataSource" username="admin" password="123456" driverClassName="oracle.jdbc.driver.OracleDriver" maxIdle="5" maxWait="5000" url="jdbc:oracle:thin:@……db" maxActive="20" />

 

四.修改的文件

端口号:conf/server.xml 的<Connector port="80"

 

conf/web.xml 的<welcome-file-list>

        <welcome-file>index.html</welcome-file> 加载的默认首页

五.Server5.5基本配置信息简介  

   port    指定一个端口,这个端口负责监听关闭tomcat的请求    

   shutdown    指定向端口发送的命令字符串    

   service:    

   name    指定service的名字    

   Connector    (表示客户端和service之间的连接):    

   port    指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求    

   minProcessors    服务器启动时创建的处理请求的线程数    

   maxProcessors    最大可以创建的处理请求的线程数    

   enableLookups    如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址    

   redirectPort    指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号    

   acceptCount    指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理    

   connectionTimeout    指定超时的时间数(以毫秒为单位)    

   Engine    (表示指定service中的请求处理机,接收和处理来自Connector的请求):    

   defaultHost    指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的    

   Context    (表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见servlet规范):    

   docBase    应用程序的路径或者是WAR文件存放的路径    

   path    表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****    

   reloadable    这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib    和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序    

   host    (表示一个虚拟主机):    

   name    指定主机名    

   appBase    应用程序基本目录,即存放应用程序的目录    

   unpackWARs    如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序    

   Logger    (表示日志,调试和错误信息):    

   className    指定logger使用的类名,此类必须实现org.apache.catalina.Logger    接口    

   prefix    指定log文件的前缀    

   suffix    指定log文件的后缀    

   timestamp    如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-04.txt    

   Realm    (表示存放用户名,密码及role的数据库):    

   className    指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口    

   Valve    (功能与Logger差不多,其prefix和suffix属性解释和Logger    中的一样):    

   className    指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息    

   directory    指定log文件存放的位置    

   pattern    有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多    

   

   注意:    

   默认的server.xml中,Realm元素只设置了一个className属性,但此文件中也包含几个通过JDBC连接到数据库进行验证的示例(被注释掉了),通过Realm元素我们可以实现容器安全管理(Container    Managed    Security)。    

   

   还有一些元素,如Parameter,loader,你可以通过tomcat的文档获取这些元素的信息。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值