启动tomcat后页面中的某些图片显示不了

在本地运行项目时发现,某些含有中文名称的图片无法在页面中正常显示。原因是Tomcat默认使用ISO-8859-1编码处理请求地址,导致中文路径解析错误。解决方法是在server.xml中配置Connector的URIEncoding为utf-8,但问题出现配置被还原,导致问题反复出现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天测试一个已经上线的项目,我把整个的代码pull下来后,并把所有的该配置的都配好了,结果在网页中的某些页面中的图片无法显示。我当时那个郁闷啊。因为我前一天在网上测试时没有出现这个问题啊。

原因是在加载页面时一些img标签或者css中的background-image请求了一些含有中文的图片。于是这个页面会自动向服务端发送请求获取资源,但是这个过程不会体现到地址栏的,是在后台操作的。例如我请求了一个index.html页面但是页面中有一个<img src="img/测试图片.png">标签。通过firedebug可观察如下:



而tomcat默认是用ISO-8859-1来处理请求地址的,因此会出现图片无法显示。解决方法如下:

在tomcat的目录下/conf/server.xml中找到:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

改成如下:

<Connector connectionTimeout="20000" URIEncoding="utf-8" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 

大功告成!

【追加问题】

今天我将这个配置修改成utf-8后,启动服务器问题虽然是没有了,但是过了一会儿我再访问时发现这个配置文件又被还原了,于是问题依旧。我也没有重新启动过服务器啊。到现在我还在郁闷这个问题!希望高手看到能够解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值