开发者社区> 问答> 正文

linux 系统的tomcat中文URL 访问问题

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错误

展开
收起
落地花开啦 2016-05-30 13:40:58 3862 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    问题可能是编码引起的。这里超链接是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没有读取相应文件的权限。

    2019-07-17 19:20:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《3-Alibaba Dragonwell 在Alibaba Cloud Linux 3上的应用及优化》 立即下载
Alibaba Cloud Linux 3 技术揭秘 立即下载
Alibaba Cloud Linux 3 发布 立即下载