应用中有些资源是中文的,比如 首页.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中,还是失效。
请问还有其他解决方案吗。

解决方案 »

  1.   

    Tomcat支持中文文件名
    <Service>
    <Connector URIEncoding="UTF-8" ... /> <!-- Here -->
    ...
    </Service>网上找的
      

  2.   


    Tomcat应该是能支持中文资源访问的。但是我不知道在哪里设置。这个节点是配置在  web.xml中?
      

  3.   

    同志们 我刚才试过了 
    将tomcat\conf\server.xml修改成
    <Connector URIEncoding="UTF-8" port="80" protocol="HTTP/1.1" 
                   connectionTimeout="30000" 
                   redirectPort="8443" maxPostSize="4097152000" maxThreads="1000"/>
    就可以支持中文名,LZ没有试试?
      

  4.   


    改Tomcat的配置文件啊,那如果部署到weblgic里面呢,是不是也的改? 有没有工程内部设置的方法啊。
      

  5.   

    没遇到过你这情况,一直英文命名
    你试试改成英文名有没有404 错误,
    如果没有,再BAIDU 下那个节点可以实现中文读取。
    完成发下结果啊,谢过
      

  6.   

    看一下这个帖子是否对你有用?http://topic.csdn.net/u/20081216/16/eacd3f64-5fff-4c6f-bb16-9e1b86f47bc3.html
      

  7.   

    jsp一般不用汉字,用汉字会出现乱码的错误,最好不用
      

  8.   

    tomcat需要设置,但是不推荐使用中文名字~~
      

  9.   

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

  10.   


    是啊,部署的 AP Server 是不确定的。但是客户太强势了,很难说服他们用英文。说一不二的。
      

  11.   

    Tomcat支持中文文件名
    <Service>
    <Connector URIEncoding="UTF-8" ... /> <!-- Here -->
    ...
    </Service>网上找的
      

  12.   

    是缓存的问题
    把Tomcat文件work文件下的Catalina清空,是缓存的原因。
      

  13.   

    如非必要最好还是不用中文吧,如果一定要用的话就改URIEncoding。我只在做音乐分享时用过,因为音乐名是中文的。呵呵
      

  14.   

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

  15.   


    我只是举个例子,不是说java支持的不好,java在中文方面,做的还是不错的。