linux 系统 tomcat 作为web服务器 在tomcat/webapps/ROOT 目录有个中文名字的图片 春节.jpg .现在在地址栏里面访问: http://192.168.1.88:8999/春节.jpg 变成了 访问这个 http://192.168.1.88:8999/%E6%98%A5%E8%8A%82.jpg 提示404错误
问题可能是编码引起的。这里超链接是UTF-8编码,tomcat的对超链接的解码默认根据操作系统的编码来,如果你linux不是用的UTF-8那可能有问题。总之要保持tomcat和浏览器对超链接使用一致的编码。
解决方式有两种:
1、改tomcat的配置文件,找到对应服务器的server.xml配置文件,再http/1.1的connecto里添加属性
URIEncoding="UTF-8":
<Connector connectionTimeout="20000" port="8080"
protocol="HTTP/1.1" redirectPort="8443"
URIEncoding="UTF-8"></Connector>
2、让浏览器以GBK编码发送请求,如果你服务器发给浏览器的网页是用GBK编码的,那浏览器访问其中的链接时就会使用GBK编码。但如果直接在地址栏输入中文,那得看浏览器的默认设置了,大部分现代浏览器都是UTF-8编码了,不再依赖浏览器的运行环境的操作系统使用的是那种编码。
还可能的原因是操作权限,可能tomcat没有读取相应文件的权限。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。