006-tomcat,多实例安装、appBase和docBase、Context说明,CFileDialog的用法

Tomcat是一款流行的Java Web应用服务器,它可以用于部署和运行Java Web应用,如Servlet、JSP、JSF等。在实际的开发和生产环境中,我们可能需要同时部署多个Web应用,或者在同一台服务器上运行多个Tomcat实例,来满足不同的业务需求。本文将介绍Tomcat多实例安装、appBase和docBase、Context两个重要概念的详细说明以及CFileDialog的用法。

一、Tomcat多实例安装

在同一台服务器上安装多个Tomcat实例,可以有效地提高Web应用的使用效率。Tomcat的多实例安装其实很简单,只需要复制Tomcat的安装目录,然后修改目录下的conf/server.xml和bin/catalina.sh即可。下面以在Linux系统上安装两个Tomcat实例为例,分别命名为Tomcat1和Tomcat2。

1. 复制Tomcat目录

将Tomcat的安装目录复制一份,可以使用命令:

```shell

cp -R /usr/local/apache-tomcat-9.0.22 /usr/local/Tomcat1

cp -R /usr/local/apache-tomcat-9.0.22 /usr/local/Tomcat2

```

2. 修改配置文件

在Tomcat1的conf/server.xml文件中将所有出现的8080端口改为8180,修改如下:

```xml

connectionTimeout="20000"

redirectPort="8443" />

```

在Tomcat2的conf/server.xml文件中将所有出现的8080端口改为8280,同时修改docBase和appBase的路径为Tomcat2的路径,修改如下:

```xml

connectionTimeout="20000"

redirectPort="8443" />

unpackWARs="true" autoDeploy="true">

```

3. 设置环境变量

打开Tomcat1的bin/catalina.sh文件,将最后一行的CATALINA_BASE和CATALINA_HOME环境变量修改为Tomcat1的路径,如下:

```shell

CATALINA_BASE=/usr/local/Tomcat1

CATALINA_HOME=/usr/local/apache-tomcat-9.0.22

```

同理打开Tomcat2的bin/catalina.sh文件,将CATALINA_BASE和CATALINA_HOME修改为Tomcat2的路径,如下:

```shell

CATALINA_BASE=/usr/local/Tomcat2

CATALINA_HOME=/usr/local/apache-tomcat-9.0.22

```

4. 启动Tomcat

启动Tomcat1和Tomcat2可以使用命令:

```shell

/usr/local/Tomcat1/bin/startup.sh

/usr/local/Tomcat2/bin/startup.sh

```

访问Tomcat1和Tomcat2的Web应用,可以使用浏览器访问:

```url

http://localhost:8180/

http://localhost:8280/

```

二、appBase和docBase

在Tomcat中有两个非常重要的配置,分别是appBase和docBase,它们是决定Web应用以及静态资源文件位置的重要参数。

1. appBase

appBase是Web应用存放的主目录,也就是Tomcat部署Web应用时搜索Web应用存放位置的目录。通过appBase可以指定Tomcat寻找Web应用的位置,一般的默认值是$CATALINA_HOME/webapps,里面包括很多Web应用的WAR包。如下配置:

```xml

unpackWARs="true" autoDeploy="true">

```

这个配置告诉Tomcat,所有的Web应用都存放在webapps目录下。

另外,也可以将appBase配置成一个目录,它里面也包含了很多Web应用的目录,如:

```xml

unpackWARs="true" autoDeploy="true">

```

这个配置告诉Tomcat,在/usr/local/Tomcat1/apps目录下也存在很多Web应用目录。

2. docBase

docBase是指Web应用程序的存储路径,Tomcat启动一个Web应用时,会将Web应用拷贝一份到工作目录下的相应位置。这个位置是通过docBase指定的。

如下配置:

```xml

```

告诉Tomcat,Web应用程序的存储目录是$CATALINA_HOME/webapps/ROOT(ROOT是Web应用的名称),当Tomcat启动时,会将ROOT目录下的WEB-INF目录拷贝到工作目录下部署的相应位置。而path参数是指URL路径,也就是说,在Web应用程序的URL中,也可以使用path参数来指定URL路径。

三、Context

在Tomcat中,Context标签可以用来指定Web应用程序的配置信息,包括docBase、url-pattern、servlet-name、servlet-class等。Context标签通常定义在server.xml、web.xml或者conf/context.xml中,其中server.xml是全局配置文件,web.xml是Web应用程序的配置文件,而context.xml则是Tomcat自带的全局配置文件。

1. server.xml中的Context

在server.xml添加Context标签,如下:

```xml

unpackWARs="true" autoDeploy="true">

```

这个配置告诉Tomcat,在访问URL为http://localhost:8180/myapp时,然后将/myapp映射到文件系统的Tomcat1/webapps/myapp。

2. web.xml中的Context

web.xml中的Context用于配置Web应用本身的参数,例如session超时时间、错误页面的跳转等。Context的配置方式与server.xml中的类似,如下:

```xml

contextConfigLocation

classpath:/applicationContext.xml

```

这个配置告诉Tomcat,将ApplicationContext.xml文件放置于classpath下,用作Spring应用上下文的配置。

3. context.xml中的Context

conf/context.xml是Tomcat自带的全局配置文件,位于Tomcat安装目录下的conf目录中。在context.xml中添加Context标签,如下:

```xml

type="javax.sql.DataSource" username="root"

password="password" driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost/myDatabase" maxTotal="20"

maxIdle="10" maxWaitMillis="-1"/>

```

这个配置告诉Tomcat,当访问myapp时,使用/usr/local/Tomcat1/webapps/myapp目录作为myapp的docBase。此外,也可以在Context中配置DataSource,这个也是非常常见的用法。

四、CFileDialog的用法

CFileDialog是MFC应用程序中的一个常用的类,用于选择文件或者路径的对话框,在文件操作中使用十分方便。

使用CFileDialog的过程分为以下几步:

1. 引入头文件

```c++

#include

```

2. 创建对话框对象

```c++

CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, _T("Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"), this);

```

上述代码创建了一个可以选择文本文件和所有类型文件的对话框。

3. 显示对话框

```c++

if(dlg.DoModal()==IDOK) {

sFilePath = dlg.GetPathName();

}

```

上述代码中,DoModal()方法用于显示对话框,如果用户点击了“OK”按钮,就会执行if语句,获取选择的文件路径。GetPathName()方法用于获取对话框中所选文件的完整路径。

CFileDialog不仅可以选择文件,还可以选择目录。对于选择目录的对话框,只需要把构造函数的第一个参数改为FALSE即可:

```c++

CFileDialog dlg(FALSE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, _T("All Files (*.*)|*.*||"), this);

```

以上就是CFileDialog的常用用法。

总结

本文主要讲解了Tomcat多实例安装、appBase和docBase、Context的相关知识,以及CFileDialog的使用方法。在实际的开发中,这些知识点十分重要,对于提高Web应用的性能、保障安全性等方面都有很大的帮助。希望本文对读者有所启发,可以深入了解这些知识并加以应用。

购买后如果没出现相关链接,请刷新当前页面!!!
链接失效的请留言 ,我看见了就补上!!!

网站内容来源于互联网,我们将这些信息转载出来的初衷在于分享与学习,这并不意味着我们站点对这些信息的观点或真实性作出认可,我们也不承担对这些信息的责任。
适度游戏益脑,沉迷游戏伤身。 合理安排时间,享受健康生活。适龄提示:适合18岁以上使用!

点赞(64) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部