工作日志(一)

本文介绍了解决Tomcat服务器中中文路径编码问题的方法及外部文件夹映射配置过程。通过调整Tomcat配置文件server.xml和web.xml中的编码设置,确保中文路径正确解析。同时介绍了如何实现外部文件夹的映射。

(一)中文路径编码配置

        应项目的需要,要将一个具有中文的文件夹导入到Tomcat服务器的工程中。于是在过滤器中加入代码对URI进行编码,因为工程统一为UTF-8,所以采用UTF-8。

        重启工程,打开浏览器输入地址访问,结果报404错误。查看日志,打印的URI与访问的一致。想想系统为GBK编码,那么就采用GBK对URI进行编码。重启,测试,还是一样的错误,日志中的URI正常。估计可能是服务器内部默认的URI编码导致的吧,因为Tomcat的默认编码都是ISO的。

        在Tomcat的文档中找了一会,没找到。于是到stackoverflow上搜一搜,立即找到了相同的问题。原来需要在server.xml的Connector处添加URIEncoding="UTF-8"。

        如下所示:

  <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8"/>

        保存修改,重启,测试,访问显示正常,日志中打印的URI正常。又想起web.xml中还要两处UTF-8的字符编码配置被注释了,于是把注释去掉。

        除去注释所示:

        第一处,

<filter>
        <filter-name>setCharacterEncodingFilter</filter-name>
        <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
</filter>

         第二处,

 <filter-mapping>
        <filter-name>setCharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
 </filter-mapping>

      保存修改,重启,测试,访问,一切正常。

(二)外部映射配置

        由于工程中一文件夹内容较多,为方便以后更新,于是将移动某一个空盘中。在server.xml中的Host内部加入Context配置,如下所示(使用XX代替了真实路径):

<Context path="/XX/XX/" docBase="F:/XX/XX"/>

    保存修改,重启,测试,访问,一切正常。


转载于:https://my.oschina.net/u/269239/blog/232700

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值