方法一:
找到%tomcat%\conf\server.xml,在</Host>之前加入:
<Context path="/richfaces" reloadable="true" docBase="d:\javastudio\oob"/>
方法二:
%TOMCAT_HOME%\conf\catalina\localhost增加相应的文件(文件名*.xml)
richfaces.xml代码
<Context reloadable="true" docBase="d:\javastudio\oob"/>
注意:文件名中的richfaces就表示虚拟目录的名称,所以
不可随意命名。
附:Context的实现支持如下属性
- backgroundProcessorDelay:这个值代表在context及其子容器(包括所有的wrappers)上调用backgroundProcess方法的延时,以秒为单位。如果延时值非负,子容器不会被调用,也就是说子容器使用自己的处理线程。如果该值为正,会创建一个新的线程。在等待指定的时间以后,该线程在主机及其 子容器上调用backgroundProcess方法。context利用后台处理session过期,监测类的变化用于重新载入。如果没有指定,该属性的缺省值是-1,说明context依赖其所属的Host的后台处理。
- className:实现的Java类名。该类必须实现org.apache.catalina.Context接口。如果没有指定,使用标准实现(在下面定义)。
- cookies:如果想利用cookies来传递session identifier(需要客户端支持cookies),设为ture。否则为false,这种情况下只能依靠URL Rewriting传递session identifier。
- crossContext:如果想在应用内调用ServletContext.getContext()来返回在该虚拟主机上运行的其他web application的request dispatcher,设为true。在安全性很重要的环境中,设为false,使得getContext()总是返回null。缺省值为false。
- docBase:该web应用的文档基准目录(Document Base,也称为Context Root),或者是WAR文件的路径。可以使用绝对路径,也可以使用相对于context所属的Host的appBase路径。
- override:如果想利用该Context元素中的设置覆盖DefaultContext中相应的设置,设为true。缺省情况下使用DefaultContext中的设置。
- privileged:设为true,允许context使用container servlets,比如manager servlet。
- path:web应用的context路径。catalina将每个URL的起始和context path进行比较,选择合适的web应用处理该请求。特定Host下的context path必须是惟一的。如果context path为空字符串(""),这个context是所属Host的缺省web应用,用来处理不能匹配任何context path的请求。
- reloadable:如果希望Catalina监视/WEB-INF/classes/和/WEB-INF/lib下面的类是否发生变化,在发生变化的时候自动重载web application,设为true。这个特征在开发阶段很有用,但也大大增加了服务器的开销。因此,在发布以后,不推荐使用。但是,你可以使用Manager应用在必要的时候触发应用的重载。
- wrapperClass:org.apache.catalina.Wrapper实现类的名称,用于该Context管理的servlets。如果没有指定,使用标准的缺省值。
当url中未明确指定文件名时,是否列出相关目录下所有文件的开关设置:
打开 %tomcat%\conf\web.xml 文件,找到:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
把false改成true即可。
注意:Tomcat6数据源的配置,不能用ResourceParams标签来配置,必须这样
<Resource name="jdbc/sys_ds"
auth="Container"
type="javax.sql.DataSource"
maxActive="10"
maxIdle="1"
maxWait="100"
username="sys_user"
password="sys_user"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@195.2.199.100:1521:orcl"
/>
否则会报“Cannot create JDBC driver of class '' for connect URL 'null' ”的异常!
<resource-ref>
<description>Oracle Datasource example<description>
<res-ref-name>jdbc/sys_ds<res-ref-name>
<res-type>javax.sql.DataSource<res-type>
<res-auth>Container<res-auth>
<resource-ref>
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/sys_ds");
Connection conn = ds.getConnection();
通过ServletContextListener启用线程
public class DataTransferListener implements ServletContextListener {
private String getContextValue(ServletContextEvent event , String name){
return event.getServletContext().getInitParameter(name);
}
public void contextInitialized(ServletContextEvent event) {
TransferProperty.dbUrl = this.getContextValue(event, "dbUrl");
TransferProperty.dbUserName = this.getContextValue(event, "dbUserName");
TransferProperty.dbPwd = this.getContextValue(event, "dbPwd");
DataTransferHandler dataTransferHandler = new DataTransferHandler();
dataTransferHandler.start();
monitorDataTransferHandler(dataTransferHandler);
}
public void contextDestroyed(ServletContextEvent event) {
}
private void monitorDataTransferHandler(final DataTransferHandler dataTransferHandler){
new Timer(true).schedule(new TimerTask(){
public void run() {
try{
long nowTime = System.currentTimeMillis();
if(nowTime - dataTransferHandler.getLastStartTaskTime() > 30*1000){
dataTransferHandler.interrupt();
}
}catch(Exception e){
e.printStackTrace();
}
}
}, 1*60*1000, 1*60*1000);
}
}
<context-param>
<param-name>dbUrl</param-name>
<param-value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</param-value>
</context-param>
<context-param>
<param-name>dbUserName</param-name>
<param-value>appuser</param-value>
</context-param>
<context-param>
<param-name>dbPwd</param-name>
<param-value>appuser</param-value>
</context-param>
<listener>
<listener-class>
net.logcd.app.transfer.DataTransferListener
</listener-class>
</listener>
分享到:
相关推荐
本文将深入解析如何在Tomcat下配置虚拟目录,这一操作对于部署多个独立的Web应用程序至关重要。 ### 一、理解虚拟目录在Tomcat中的作用 虚拟目录在Tomcat中的主要作用是允许管理员在单一的服务器上部署多个不同的...
### Tomcat虚拟目录配置详解 #### 一、Tomcat虚拟目录概述 在Web开发中,为了更好地管理和组织项目,我们常常需要对Web服务器进行虚拟目录的配置。虚拟目录(Virtual Directory)是一种在Web服务器中映射物理目录...
创建虚拟目录时,同样需要`<Context>`标签,但`path`属性不再是空字符串,而是虚拟路径,如`<Context path="/cms" docBase="E:/tomcatApp/JeasyCMS" reloadable="true"></Context>`。 4. **配置生效**: 当删除`...
当我们谈论“Tomcat配置虚拟目录,外加域名解析”,这涉及到两个关键概念:一是如何在Tomcat服务器上设置虚拟主机(virtual hosts),使得一个Tomcat实例可以服务于多个不同的域名或网站;二是如何进行DNS域名解析,...
2. **配置虚拟主机**:在`conf/server.xml`文件中,通过定义`<Host>`元素来创建虚拟主机。每个`<Host>`元素代表一个虚拟主机,包含其相关的配置属性,如名称(name)、文档根目录(appBase)等。 3. **域名绑定**:...
首先,在 Tomcat 文件夹的 conf\catalina\localhost 目录下(对于 Tomcat6 版本及其以上,需要自己创建 catalina 和 localhost 这两个文件夹),增加一个名为 project.xml 的文件(该文件名的 project 要和下面的...
然后,打开Tomcat安装目录下的`conf\server.xml`文件,找到`<Host>`标签,在其内部添加一个新的`<Context>`元素,用以指定虚拟目录的映射关系。 **示例代码:** ```xml <!-- 其他已有的 Context 元素 --> ```...
因此,首先需要找到Tomcat安装目录下的`conf/Catalina/localhost`文件夹,并在这个文件夹下新建一个名为`backstage.xml`的文件。 **注意:** 这里并不需要修改`D:\Java\apache-tomcat-9\conf`下的`web.xml`文件。 ...
除了直接修改`server.xml`外,Tomcat6.0还提供了另一种更为灵活的虚拟目录配置方式,即在`conf/catalina/localhost`目录下创建XML文件来定义`<Context>`。这种方法避免了直接修改主配置文件,使得虚拟目录的配置更加...
在Tomcat中,虚拟目录的配置允许我们将不同的应用或者站点绑定到特定的URL路径,而无需将它们都放在webapps目录下。 具体配置步骤如下: 1. 创建物理路径:在D盘新建一个名为“site”的文件夹,这个文件夹将作为...
#### 创建虚拟目录配置文件 按照题目中的描述,要在不直接修改`server.xml`的情况下设置虚拟目录,可以通过在Tomcat安装目录下的`conf/Catalina/localhost`文件夹内创建一个新的XML文件(例如命名为`szdj_file.xml`...
嵌入式Tomcat虚拟目录服务器应用程序源代码是一个用于创建和管理虚拟目录的高效解决方案,它无需用户手动安装完整的Apache Tomcat服务器。这个程序的核心在于它能够集成到Java虚拟机(JVM)中,使得开发者或者系统...
总结起来,配置Tomcat中的用户和虚拟目录涉及修改`server.xml`以创建虚拟目录,以及`tomcat-users.xml`以设置用户、角色和权限。这使得我们可以根据需求定制Tomcat服务器,实现多应用部署和安全的用户访问控制。理解...
5. **使用Tomcat Manager**:Tomcat Manager是一个Web应用,可以用来管理服务器上的虚拟目录,包括创建、删除和更新。 6. **安全性**:配置虚拟目录时,需要注意权限问题,确保只有授权的用户和应用可以访问特定的...
5.创建虚拟目录:虚拟目录允许我们将Web应用放置在webapps目录外的任何位置。在文档中,提到创建虚拟目录需包含WEB-INF文件夹和web.xml文件。WEB-INF文件夹中存放的是Web应用的安全性文件和配置文件,web.xml文件是...
- 通过`CATALINA_BASE/conf/Catalina/localhost`目录下的XML文件创建:在这个目录下,创建一个以虚拟目录名命名的XML文件,内容与上述`<Context>`标签相同。例如,创建`myapp.xml`,内容如下: ```xml ``` 3...
- **步骤1:创建虚拟目录配置文件** 另一种常见的配置方式是直接在`conf/Catalina/localhost`目录下创建一个XML文件(文件名即为虚拟目录名),例如`myApp.xml`。这种方法的好处是不需要重启Tomcat服务器即可生效...
安装完这两项基础软件之后,下一步是解压缩Tomcat,并将其移动到一个指定的目录,以便开始进行配置。安装过程中需要注意,要确保系统中Java环境变量配置正确,这样才能确保Tomcat能够正常运行。 接着,需要对Tomcat...
标题中的“Tomcat配置虚拟目录数据源”是指在Apache Tomcat服务器中设置多个虚拟目录以及配置这些目录对应的数据源。这通常涉及到Web应用的部署、URL映射以及数据库连接池的管理。在企业级开发中,这样的配置可以...