2012-02-16 14 views
0

getAttributeNames()ServletContextクラスによって返されたEnumeration参照に問題があり、プロジェクトに取り組んでいます。なぜServletContextのgetAttributeName()が不要な属性を返すのですか?

getAttributeNames()によって返された属性名は私によっては決して追加されません。なぜそれがそれらを示しましたか?

これらの属性は以下のとおりです。

org.apache.tomcat.InstanceManager 
org.apache.catalina.jsp_classpath 
org.apache.tomcat.util.scan.MergedWebXml  
javax.servlet.context.tempdir 
org.apache.catalina.resources 
org.apache.tomcat.JarScanner  
org.apache.jasper.compiler.TldLocationsCache 

誰も私が私で保存された属性を取得することができるようにそれらをスキップする方法を教えてもらえますか?

+1

どうして 'getAttributeNames()'を使用していますか?デバッグしますか?あるいは、あなた自身の属性に対してランダムな属性名を生成しているだけなので、 'getAttribute()'を使うことはできませんか?それについてもう一度考えてみてください。 – BalusC

答えて

2

彼らはサーバーロジック内で使用されるtomcat属性です。あなたはそれらについて気にする必要はありません。

+0

しかし私が保存した属性を取得したいのですが? –

+1

getAttributeを実行してください。 –

1

すべてのコンテナは、(仕様を実装しているWebサーバーによって)いくつかの属性を設定します。

  • javax.servlet.context.tempdir
  • org.apacheを

    1. org.apache.catalina.jsp_classpath
    2. org.apache.catalina.WELCOME_FILES:たとえば、Tomcatの5は以下のコンテキスト属性を設定します.catalina.resources。

    したがって、メソッドによって返されます。

    詳細については、Thisを参照してください。

  • 1

    サーブレットコンテナ(あなたの場合はTomcat)が内部的に追加して使用する属性です。それらを混乱させないようにしてください...

    +0

    しかし私が保存した属性を取得したいのですが? どうすればこれらのサーバの属性 –

    +1

    'faisal.abc'をスキップできますか?独自の属性にプレフィックスを付け、それに応じてフィルターをかけます。または、HashMapである属性を1つだけ使用して、すべてのものをそこに配置します。 – Thilo