2017-01-02 14 views
0

で何もしないようだ、私はrequest.setCharacterEncoding(「UTF-8」)を入力して、私はこの方法が実際にあるものを見てみたいですソースコード、と私はメソッドのソースコード
を入力して左クリックして、それはインターフェースメソッドのコードでは、のServletRequestインタフェースに行く+ CTRLを使用するにはrequest.setcharacterencoding()メソッドは、サーブレットのJavaクラスのソースコード

public void setCharacterEncoding(String env) 
    throws java.io.UnsupportedEncodingException; 

であることは確かに空の方法だからですServletRequestはインターフェイスです。

どこでこのメソッドが実際にエンコードを設定するのを確認できますか?

+1

デバッガを使用してブレークポイントを設定し、「ステップイン」を使用して実装クラスにジャンプすることをお勧めします。私が知る限り、 "本当の"クラスは、tomcat、jettyなどのサーブレットコンテナによって提供されます。 – f1sh

+0

@ f1shありがとう、私はこの方法を使用し、最終的にクラスRequestで関連するコードを見つけました。 – jacky

答えて

1

このメソッドは、サーブレットコンテナによって実装されます。たとえば、Tomcatの8.5実装のため org.apache.catalina.connector.Request#のsetCharacterEncoding に存在し、次のようになります。あなたはそれだけでするエンコーディング名と設定された内部要求の実装フィールドを検証している見ることができるように

public void setCharacterEncoding(String enc) throws UnsupportedEncodingException { 
     if(!this.usingReader) { 
      B2CConverter.getCharset(enc); 
      this.coyoteRequest.setCharacterEncoding(enc); 
     } 
    } 

エンコードされたあなたはimplements HttpServletRequestのサーブレットコンテナのソースコードを検索し、実装を見てみることができます。

+0

ありがとう、私は、クラスのリクエストに関連するソースコードが見つかりました – jacky

関連する問題