1.解决控制台乱码
在运行我们带中文字符的程序时,往往会在控制台中出现乱码,就像下面这样,对我们查看调试信息和日志很不方便。

需要对它进行以下处理,首先进入到Tomcat的目录下,在conf文件夹中找到logging.properties文件.
Tomcat 8.5\conf\logging.properties
在编辑文件时,建议使用Notepad++一类的工具,而不是使用自带的记事本,以防止乱码。打开文件后,在下图的位置中修改为以下代码:
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.encoding = GBK

最后保存重启,我们的中文字符就能正常显示了。

2.Tomcat指定JDK运行
经常我们会迁移Tomcat或是指定多个JDK/JRE路径来打包一个完整的应用,将我们的程序做一个绿色版本,后续只需要把文件夹拷贝给客户,稍做修改就能投入使用了,很是方便。
在bin目录下,找到setclasspath.bat,在Linux下则是setclasspath.sh文件。打开后,在文件的第一行加入以下内容,JDK和JRE的路径根据自己的实际情况修改。
# Windows
set JAVA_HOME=D:\java\jdk1.7
set JRE_HOME=D:\java\jdk1.7\jre

Linux版本有些许不同,需要使用以下语法。
JAVA_HOME=/home/jdk1.8/
JRE_HOME=/home/jdk1.8/jre
配置完,保存重启就可以了。
3.用不同的端口访问同一个项目
我部署了一个网站,我想使用不同的端口去访问同一个项目。在conf目录下,打开server.xml文件。在原有的端口配置下,复制一份修改成新的端口。

比如我把新的端口修改成了6060,保存重启。
<connector p="" <="" protocol="HTTP/1.1" port="6060">
connectionTimeout="20000"
redirectPort="8443" />
重启后,我便能使用以下的两个地址来访问我的项目了。
http://127.0.0.1:8080
http://127.0.0.1:6060
4.用不同的端口访问不同的项目
当想用同一个Tomcat去解析不同的项目时,我们可以使用Tomcat来对不同的端口进行解析,进而定位到我们的项目中。在conf目录下,打开server.xml文件。

img
将下面的代码插入到上图所示的位置中,如果还需要部署多个项目,再继续拷贝以上代码,并把其中的Catalina1和webapps1依次往下编号。
<connector p="" <="" protocol="HTTP/1.1" port="9090">
connectionTimeout="20000"
redirectPort="8443" />
<realm p="" <="" classname="org.apache.catalina.realm.UserDatabaseRealm">
resourceName="UserDatabase"/>
<host name="localhost" p="" <="" appbase="webapps1">
unpackWARs="true" autoDeploy="true">
<valve p="" <="" classname="org.apache.catalina.valves.AccessLogValve" directory="logs">
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
完成后在conf目录下新创建一个Catalina1的目录,如果有多个,也创建多个。

在根目录下,也创建一个webapps1的文件夹,如果有多个项目,也可以创建多个目录。注意:依然需要在此文件夹内使用ROOT目录,将项目文件放入。

最后重启即可实现使用不同的端口访问不同的项目。
5.虚拟目录


重启服务,我们在访问网址时加入/test后缀,即可访问我们的项目。
TAG:[db:关键词]