如何在同一Tomcat下进行多端口配置
首先来看一下%Tomcat%/conf下的server.xml配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <Service name="Catalina"> <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service> |
分别注意下,Service,Engine和Host节点的name属性。再来看一下conf目录下是不是存在Catalina/localhost这样的目录结构,而且host-manager.xml和manager.xml都在此目录下。
看到这里就应该知道该怎么进行多端口配置了吧?在conf目录下创建sample/localhost的目录结构,sample可以随意。然后在server.xml中添加相应的service节点,不要忘记修改端口号。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <Service name="sample"> <Connector port="80" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8453" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <Connector port="8019" enableLookups="false" redirectPort="8453" protocol="AJP/1.3" /> <Engine name="Qone" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service> |
不得不佩服tomcat的扩展性设计。
Tomcat带中文名的文件下载
今天用Tomcat作为服务器提供文件下载的时候,发现无法找到名称带中文的文件。
在\conf\server.xml文件中的<Connector>元素中加入URIEncoding=”UTF-8″,即可以解决这个问题,加入后的代码如下:
<Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ URIEncoding=”UTF-8″ />
Tomcat虚拟目录设置
今天为了给你朋友通过校园网传送文件,因为不在同一个网段内,IPMessenger无法找到对方,只好在自己电脑上用tomcat做了一个Http服务器。但是总不能将所有文件拷贝到webapps\ROOT下吧,Google了一下,找到了tomcat设置虚拟目录的方式。
在server.xml中加入<Context>元素,在名为“localhost”的<Host>元素中加入如下<Context>元素:
<Context path=”/down” docBase=”F:\data” reloadable=”true” />
path:指定访问该web应用的URL入口,docBase:指定Web应用的实际文件路径,可以是绝对路径,也可以是相对于<Host>的appBase属性的相对路径。