2011-12-30 10 views
3

私は次のコードサーブレットのweb.xmlから<servlet><init-param>の値を取得するにはどうすればよいですか?

<servlet> 
    <servlet-name>LoginServlet</servlet-name> 
    <servlet-class>LoginServlet</servlet-class> 
    <init-param> 
     <param-name>jdbcDriver</param-name> 
     <param-value>com.mysql.jdbc.Driver</param-value> 
    </init-param> 
</servlet> 

サーブレットコード

public void init(ServletConfig config) throws ServletException { 
    super.init(config); 
    System.out.println(config.getInitParameter("jdbcDriver")); 
} 

を使用し、それがnullで表示サーブレットにXMLからのinit-のparam値を取得する必要があります。..いずれかが私はそれを行うために助けることができます。 ありがとうございます

答えて

0

um ...うまくいくはずです。 LoginServletでコードを呼び出していますか?そして、

<servlet-class>LoginServlet</servlet-class> 

はどのパッケージにも含まれていませんか?

4

あなたは常にあなたの継承getServletConfig()メソッドを呼び出すことによって、あなたのServletConfigを得ることができますので、私は、あなたがあなたのinit(ServletConfig sc)メソッドをオーバーライドする必要がなぜ単一の理由を、見ることができません。

System.out.println(getServletConfig().getInitParameter("jdbcDriver")); 
2

あなたが行うには、カスタムの初期化作業を持っている場合は、引数なしの のinit()メソッドをオーバーライドし、し、init(のServletConfig)を忘れます。引数なしのinit()メソッドの中で getServletConfig()メソッドを呼び出すことはできますか?はい、ServletConfigの インスタンスは、スーパークラス GenericServletによって既に保存されています。

http://javahowto.blogspot.com/2006/06/common-mistake-in-servlet-init-methods.html

クラスのパッケージを使用することは常に良いです。それは明確な境界を可能にする。

関連する問題