私が読んだチュートリアルで getServletContext() に出くわしましたが、これら2つは何のためですか?
これは、行がどのように見えるかです:
ServletContext sc = getServletContextProvider().getServletContextLocal();
これはどのように違うのですか:
ServletContext sc = getServletContext();
私が読んだチュートリアルで getServletContext() に出くわしましたが、これら2つは何のためですか?
これは、行がどのように見えるかです:
ServletContext sc = getServletContextProvider().getServletContextLocal();
これはどのように違うのですか:
ServletContext sc = getServletContext();
ServletContextProvider
あなたの答えは、インターフェイスを実装する可能性が高いクラスに固有のものです。これに適切に答えるにServletContextProvider
は、宣言されているパッケージを提供する必要があります。または、さらに便利な、getServletContextProvider()
およびgetServletContext()
メソッド (宣言または抽象) を含むクラスまたはインターフェイスを提供する必要があります。
さらに簡単に、参照するチュートリアルへのリンク、または追加のコンテキスト (しゃれは意図されていません) を提供してください。(Google検索後の)インターネット上のメソッドへの参照getServletContextLocal
は、この質問またはこの質問のコピーのいずれかです。
getServletContextProvider()
クラスまたはインターフェイスを返すと仮定するとServletContextProvider
、その名前で使用できるインターフェイスとクラスがいくつかあります。私が見つけたそれぞれを見ていきます:
getServletContextLocal()
。getServletContextLocal()
。上記のインターフェイスの実装者はLiferayServletContextProvider
、メソッドを持たず、getServletContextLocal()
Object を拡張します。getServletContextLocal()
メソッドがなく、ResourceProvider
それが実装するインターフェースもなく、Object を拡張します。getServletContextLocal()
メソッドがなく、そのリンクにリストされている 4 つの実装クラスもありません。getServletContextLocal()
Object を拡張します。getServletContextLocal()
。結論:入力した内容は、読んだチュートリアルのタイプミスである可能性が高く、おそらくメソッドorg.apache.portals.bridges.common.ServletContextProvider
を持つ最も一般的な利用可能なインターフェイスを参照していgetServletContext(GenericPortlet portlet)
ます。チュートリアルが意図していた可能性が高いのはgetServletContextProvider().getServletContext(local)
、local
変数がクラスを拡張する場所javax.portlet.GenericPortlet
です。getServletContext(local)
メソッドは、その変数に関連付けられた を返しますjavax.servlet.ServletContext
。javax.servlet.ServletContext
によって返されるものと同じかどうかは、変数が割り当てられgetServletContext()
た場所によって異なります。GenericPortlet
参考にして、参照しているチュートリアルの場所を引用してください。