Tomcat之中文URL问题

时间:2024-03-29 12:21:42

背景

如果你需要访问带有中文路径的URL怎么办?比如说mp3、mp4文件。

比如这样的路径:
http://127.0.0.1:8080/LZPlayer/mp3/1168/徐小凤 - 顺流逆流.mp3

那么,需要去修改Tomcat的配置文件,让他支持中文即可。


步骤

  • 修改配置文件
    找到server.xml文件位置,然后加上UTF-8的编码即可。

配置文件路径:
apache-tomcat-7.0.79/conf/server.xml



需要替换的代码:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

替换成:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />


可能会遇到的问题

因为我是使用Eclipse+Tomcat,所以每次我都启动外部的Tomcat。而且,我们知道,Eclipse会把外部Tomcat生成一个映射文件。

既然使用外部的Tomcat,那么启动的部分Tomcat组间,并没有完全加载Tomcat的全部配置,而是去加载映射文件。

既然外部的Tomcat配置文件已经修改了,为啥还不生效呢?因为Eclipse使用的是映射文件,还需要去把映射文件修改即可。

Eclipse中Tomcat的映射文件:
Tomcat之中文URL问题



Eclipse为什么会生成映射文件呢?

Tomcat之中文URL问题

双击Eclipse中Tomcat服务器,来到配置页面。

Tomcat之中文URL问题

Eclipse默认是选择的红框中第一个的选项,即“Use workspace metadata(does not modify Tomcat installation)”。也即是说,启动项目时,Eclipse调用了Tomcat的核心组件,内置到Eclipse中。启动和部署时,跟真正的Tomcat没有关。

如果想要启动Eclipse项目时候让Tomcat和手动启动的Tomcat效果一样,那么就选上红框中第二个选项,即”Use Tomcat installation(takes control of Tomcat installation)
“。