tomcat修改应用程序默认路径和端口

时间:2021-09-22 00:01:40
问题:Tomcat默认的根目录是它下面webapps/ROOT的folder, 如何修改成用户指定的目录呢?
 
回答:修改 /conf 文件夹里的server.xml文件,请看下面的程序片断:
...
...
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
...
...
以上定义了server中的一台主机(localhost), 它的默认根目录是"webapps"(相对路径),现在我们要自己在Host下加上多个Context tag来创建多个自定义访问。
结果如下:
...
...
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/mnt/vivimob/" debug="0" reloadable="true" />
<Context path="/xyz" docBase="/mnt/test/" debug="0" reloadable="true" />
...
...
 
一般我们用Context来覆盖Host的appBase的设定而不是直接修改appBase.
 
第一个Context用了path="", 如果path=""(注意不是path="/"),则相当于是这个Host的虚拟根目录,docBase则指出了物理目录的位置(可以是绝对也可以是相对于Host的appBase的位置),如果你访问 http://localhost/  则会使用/mnt/vivimob/里的内容。
第二个Context用了path="/xyz",如果你访问 http://localhost/ xyz/ 则会使用/mnt/test/里的内容。

另一例:
<Context path="" docBase="myjsp" debug="0" reloadable="true" />
path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;
docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,现在我在webapps目录下建了一个myjsp目录,让该目录作为我的默认目录。


更改端口
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" /> 

将port "8080"改成你的端口