博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tomcat问题总结
阅读量:6671 次
发布时间:2019-06-25

本文共 1451 字,大约阅读时间需要 4 分钟。

hot3.png

关于tomcat作为服务器 URL访问的一些问题

    由于tomcat对中文支持不是很好,所以在某些情况下导致URL无法访问或者找不到路径的问题,一般主要存在两个问题:

1.含有中文的URL无法访问

    上传一个资源到服务器后,通过连接无法进行访问,进行几次尝试之后,发现如果URL包含中文字符则无法访问,而纯英文字符的URL则可以访问。发现是tomcat默认的配置不支持中文路径访问,因为通过链接进行访问时采用的是get协议,而默认的get协议是采用ISO-8859-1对URL进行编码的,而这个字符集不支持中文双字节信息。

    在Server.xml文件中添加一个名为URIEncoding的属性,它定义了对HTTP请求中的get方法传过来的URL进行编码的采用的方案。

    在Tomcat安装目录下找到server.xml文件,找到

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

    在里面加入URIEncoding="utf-8" 这个属性,保存,然后重启tomcat即可。

2.含有空格的URL无法访问

    在下载一个mp3文件的时候,如果它的资源URL为"http:10.0.0.2:8080/MusicServer/resource/今天 - 刘德华.mp3",路径中含有空格和中文字符,会报找不到该资源的错误。报这种错误主要有两个原因:1)没有对中文部分进行转码;2)路径中空格要进行转换。

      例如:

String urlString="http:10.0.0.2:8080/MusicServer/resource/今天 - 刘德华.mp3";String name="今天 - 刘德华.mp3";String temp1=URLEncoder.encode(name, "UTF-8");System.out.println(temp1);

    输出结果为:%E4%BB%8A%E5%A4%A9+-+%E5%88%98%E5%BE%B7%E5%8D%8E.mp3

发现空格被转码成'+'了,而在tomcat服务器中,空格是'%20',所以会导致无法访问到该路径,可以采用下面的办法解决问题:

    首先将中文部分转码成UTF-8格式的字符串,然后将转换后得到的字符串中的所有'+'替换成'%20'。

String urlString="http:10.0.0.2:8080/MusicServer/resource/今天 - 刘德华.mp3";String name="今天 - 刘德华.mp3";String temp1=URLEncoder.encode(name, "UTF-8");String temp2=temp1.replaceAll("\\+", "%20");    //因为'+'是关键字,所以要进行转义System.out.println(temp1);System.out.println(temp2);

    输出结果就为:

     %E4%BB%8A%E5%A4%A9+-+%E5%88%98%E5%BE%B7%E5%8D%8E.mp3

     %E4%BB%8A%E5%A4%A9%20-%20%E5%88%98%E5%BE%B7%E5%8D%8E.mp3

    是正确的结果了。

转载于:https://my.oschina.net/u/2260184/blog/519169

你可能感兴趣的文章
《哈利·波特》出版二十周年,教大家用神经网络写咒语!
查看>>
希捷发布全球首款2TB M.2 SSD固态硬盘
查看>>
《Java语言导学(原书第6版)》一一3.4 控制流语句
查看>>
银行如何通过大数据预测并防止用户流失?
查看>>
论各类BI工具的“大数据”特性
查看>>
博科15亿美元收购WLAN企业Ruckus
查看>>
EMC挑战全闪存极限
查看>>
着力大数据与大生态融合 贵阳第一个示范性公园开园
查看>>
ActiveMQ - JMS,Transport,Persistence
查看>>
互联网大数据支撑生态银行建设
查看>>
生态城年内开建智慧城市
查看>>
解密国产大数据法律应用服务平台
查看>>
打造智慧城市新风貌 嘉兴市推广应用万盏LED路灯
查看>>
工业大数据的三大挑战及大数据未来中国五大商业趋势
查看>>
苹果玩心机:取消GPU芯片商订单 打压股价再收购?
查看>>
安全是智慧城市建设的重中之重
查看>>
视频会议系统迎来第四次浪潮
查看>>
云计算崛起带动产业革命 智慧城市已悄然来临
查看>>
报告显示:被调研中国企业超85%已从数字转型中获得回报
查看>>
Stimergy公司的边缘平台加热法国公共游泳池
查看>>