作業ログ(一)

1730 ワード

(一)中国語パス符号化構成
プロジェクトの必要に応じて、Tomcatサーバのプロジェクトに中国語のフォルダをインポートします.そこでフィルタにコードを加えてURIを符号化し,エンジニアリングがUTF-8に統一されているためUTF-8を採用する.
プロジェクトを再起動し、ブラウザ入力アドレスアクセスを開き、結果報告404エラー.ログを表示し、印刷されたURIはアクセスと一致します.システムがGBK符号化であることを考えると,GBKを用いてURIを符号化する.再起動、テスト、同じエラーで、ログのURIは正常です.おそらくサーバ内部のデフォルトURI符号化によるものと思われるが,Tomcatのデフォルト符号化はISOであるためである.
Tomcatのドキュメントでしばらく探しましたが、見つかりませんでした.そこでstackoverflowで検索すると、すぐに同じ問題が見つかりました.serverにいる必要があったのか?xmlのコネクタにURIEncoding="UTF-8"を追加します.
次のようになります.
  <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8"/>

修正、再起動、テスト、アクセス表示正常、ログに印刷されたURI正常を保存します.またwebを思い出します.xmlにはUTF-8の文字符号化構成が2箇所コメントされているので、コメントを削除します.
コメントを削除するには、次の手順に従います.
最初の場所は、
<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>

2つ目は
 <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"/>

変更、再起動、テスト、アクセスを保存し、すべて正常です.