Contextとは何でしょうか?
Contextとは何でしょうか?
HttpServletを継承するクラス(例えば、DoSomethingServlet)を定義する中で、しばしば getServletContext() の呼び出しにより、ServletContextインターフェイス型オブジェクト(以下、オブジェクトSCと略)への参照を得ますが、このオブジェクトSCとはなんなのか?、そもそもServletの世界においてContextとは一体なんなのか?、どうもピンと来ません。
http://java.sun.com/javase/6/docs/api/
javax.servlet.http
Class HttpServlet
Methods inherited from class javax.servlet.GenericServlet
getServletContext
javax.servlet
Class GenericServlet
getServletContext()
Returns a reference to the ServletContext in which this servlet is running.
(オブジェクトSCは、その中で、DoSomethingServletクラス型オブジェクトが実行中の、ServletContextインターフェイス型オブジェクトのことである。)
javax.servlet
Interface ServletContext
Defines a set of methods that a servlet uses to communicate with its servlet container, for example, to get the MIME type of a file, dispatch requests, or write to a log file.
(オブジェクトSCは、DoSomethingServletクラス型オブジェクトが、そのコンテナ(Tomcatなど)にメッセージを送るためのメソッドをまとめたオブジェクトである。)
javax.naming
Interface Context
This interface represents a naming context, which consists of a set of name-to-object bindings. It contains methods for examining and updating these bindings.
(一般に、Context(インターフェイス)型オブジェクトとは、binding(名前とオブジェクトの関連)をまとめたオブジェクトである。)
JAVA ENTERPRIZE IN A NUTSHELL, Chap-6
(http://docstore.mik.ua/orelly/java-ent/jenut/ch06_03.htm)
A naming service associates names with objects. An association between a name and an object is called a binding, and a set of such bindings is called a context. A name in a context can be bound to another context that uses the same naming conventions; the bound context is called a subcontext. For example, in a filesystem, a directory (such as /temp) is a context that contains bindings between filenames and objects that the system can use to manipulate the files (often called file handles). If a directory contains a binding for another directory (e.g., /temp/javax), the subdirectory is a subcontext.
(contextは、サブcontextを持つことがある。サブcontextは、contextである。
→ 任意のcontextに注目したとき、そのcontextは、親や子を持つことがある。)
以上、よろしくお願いします。