tomcat中访问中文资源报404

youjianbo_han_87 2011-03-02 04:07:46
应用中有些资源是中文的,比如 首页.jsp这样页面。

tomcat跳转时,碰到这样的地址会报 Http Status 404 http://127.0.0.1/MyProject/%21%fja%f1.jsp。

它把我的 首页.jsp 转换成 /%21%fja%f1.jsp了,我目录下面只有 首页.jsp。所以找不到。

我试了2种方法

1. 配置Filter,将资源的访问的编码全都设置成 UTF-8的。(其实这个过滤器一直就有)。

2. 将地址 java.net.URLDecoder.decode 下。在 main方法里面,可以将 /%21%fja%f1.jsp 转换成 首页.jsp。但是在Tomcat中,还是失效。


请问还有其他解决方案吗。
...全文
482 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
youjianbo_han_87 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 youjianbo_han_87 的回复:]

算了,谁让这些个 java,tomcat都是人家外国人搞的。支持的不是特别好也没办法。
[/Quote]

我只是举个例子,不是说java支持的不好,java在中文方面,做的还是不错的。
youjianbo_han_87 2011-03-09
  • 打赏
  • 举报
回复
算了,谁让这些个 java,tomcat都是人家外国人搞的。支持的不是特别好也没办法。
zhou_zion 2011-03-08
  • 打赏
  • 举报
回复
最好的方法就是建议你别用中文命名资源,特别是页面。。真没看到哪个项目有这么用的,除非有些经过编码了吧
qm4050 2011-03-08
  • 打赏
  • 举报
回复
如非必要最好还是不用中文吧,如果一定要用的话就改URIEncoding。我只在做音乐分享时用过,因为音乐名是中文的。呵呵
LS1firesoar 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 runer 的回复:]
兄弟,你能不能别用中文做文件名
[/Quote]
LZ你搞笑么,用中文?有什么特别的意义么?中文全世界有几个人认识
hzzduoduo 2011-03-08
  • 打赏
  • 举报
回复
Tomcat支持中文文件名
<Service>
<Connector URIEncoding="UTF-8" ... /> <!-- Here -->
...
</Service>

网上找的
youjianbo_han_87 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 bao110908 的回复:]

你是在 WebLogic 中啊,我那个方法只用在 Tomcat 中的。我这也没 WebLogic 环境,没办法测了……
[/Quote]

是啊,部署的 AP Server 是不确定的。但是客户太强势了,很难说服他们用英文。说一不二的。。。。
aBOUNTWINTER 2011-03-08
  • 打赏
  • 举报
回复
是缓存的问题
把Tomcat文件work文件下的Catalina清空,是缓存的原因。
youjianbo_han_87 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 ls1firesoar 的回复:]

引用 7 楼 runer 的回复:
兄弟,你能不能别用中文做文件名

LZ你搞笑么,用中文?有什么特别的意义么?中文全世界有几个人认识
[/Quote]

我一点都不搞笑,是人家客户要这样。你改成英文,他说好好的中文,我都能看明白,你非得改成英文。
  • 打赏
  • 举报
回复
你是在 WebLogic 中啊,我那个方法只用在 Tomcat 中的。我这也没 WebLogic 环境,没办法测了……
youjianbo_han_87 2011-03-04
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 bao110908 的回复:]
看一下这个帖子是否对你有用?

http://topic.csdn.net/u/20081216/16/eacd3f64-5fff-4c6f-bb16-9e1b86f47bc3.html
[/Quote]

我看过这个帖子,还给你发了站内信呢,过滤器没有解决问题。
QQ371496669 2011-03-03
  • 打赏
  • 举报
回复
不建议用中文还不别用啦
a404125339 2011-03-03
  • 打赏
  • 举报
回复
jsp一般不用汉字,用汉字会出现乱码的错误,最好不用
  • 打赏
  • 举报
回复
colachens 2011-03-03
  • 打赏
  • 举报
回复
中文名,支持是支持,就是...哎!!慢性毒药啊
anycery 2011-03-03
  • 打赏
  • 举报
回复
还从来没试过用中文命名文件名
=PNZ=BeijingL 2011-03-03
  • 打赏
  • 举报
回复
没遇到过你这情况,一直英文命名
你试试改成英文名有没有404 错误,
如果没有,再BAIDU 下那个节点可以实现中文读取。
完成发下结果啊,谢过
youjianbo_han_87 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 daiqianjie 的回复:]
同志们 我刚才试过了
将tomcat\conf\server.xml修改成
<Connector URIEncoding="UTF-8" port="80" protocol="HTTP/1.1"
connectionTimeout="30000"
redirectPort="8443" maxPostSize="4097152000" maxThreads="1000"/>……
[/Quote]

改Tomcat的配置文件啊,那如果部署到weblgic里面呢,是不是也的改?

有没有工程内部设置的方法啊。
javagxc 2011-03-03
  • 打赏
  • 举报
回复
可以支持中文名的,但是不建议这样做!
血战31天 2011-03-03
  • 打赏
  • 举报
回复
同志们 我刚才试过了
将tomcat\conf\server.xml修改成
<Connector URIEncoding="UTF-8" port="80" protocol="HTTP/1.1"
connectionTimeout="30000"
redirectPort="8443" maxPostSize="4097152000" maxThreads="1000"/>
就可以支持中文名,LZ没有试试?
加载更多回复(10)

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧