1. 在tomcat 5.5之前
---------------------------------------------------------------
Context体现在/conf/server.xml中的Host里的<Context>元素,它由Context接口定义。每个<Context元素代表了运行在虚拟主机上的单个Web应用
- <Context path="/kaka" docBase="kaka" debug="0" reloadbale="true">
1、path:即要建立的虚拟目录,,注意是/kaka,它指定访问Web应用的 上下文根,如http://localhost:8080/kaka/****
2、docBase:为应用程序的路径或WAR文件存放的路径 ,伦理电影|可以是绝对路径 ,也可是相对路径,相对路径是相对于<Host >
3、reloadable:如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改变,如果监视到有class文件被更新,服务器自动重新加载Web应用,这样我们可以在不重起tomcat的情况下改变应用程序
一个Host元素中嵌套任意多的Context元素。每个Context的路径必须是惟一的,由path属性定义。另外,你必须定义一个path=“”的context,这个Context称为该虚拟主机的缺省web应用,用来处理那些不能匹配任何Context的Context路径的请求。
2. 在tomcat 5.5之后
---------------------------------------------------------------
不推荐在server.xml中进行配置,而是在/conf/context.xml中进行独立的配置。因为 server.xml 是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载。而 context.xml 文件则不然, tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器 。
- <Context path="/kaka" docBase="kaka" debug="0" reloadbale="true" privileged="true">
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
- <WatchedResource>WEB-INF/kaka.xml</WatchedResource> 监控资源文件,如果web.xml || kaka.xml改变了,则自动重新加载改应用。
- <Resource name="jdbc/testSiteds" 表示指定的jndi名称
- auth="Container" 表示认证方式,一般为Container
- type="javax.sql.DataSource"
- maxActive="100" 连接池支持的最大连接数
- maxIdle="30" 连接池中最多可空闲maxIdle个连接
- maxWait="10000" 连接池中连接用完时,新的请求等待时间,毫秒
- username="root" 表示数据库用户名
- password="root" 表示数据库用户的密码
- driverClassName="com.mysql.jdbc.Driver" 表示JDBC DRIVER
- url="jdbc:mysql://localhost:3306/testSite" /> 表示数据库URL地址
- </Context>
3、context.xml的三个作用范围
---------------------------------------------------------------
1. tomcat server级别:
在/conf/context.xml里配置
2. Host级别:
在/conf/Catalina/${hostName}里添加context.xml,继而进行配置
3. web app 级别:
在/conf/Catalina/${hostName}里添加${webAppName}.xml,继而进行配置
4、tomcat中的server.xml元素详解
---------------------------------------------------------------