サーブレットContextとサーブレットコンフィグ
9181 ワード
ServletContext
1、サーブレットContextとは?
Webコンテナ(Tomcat)が起動し、Webアプリケーションのロードが完了すると、WebコンテナはすぐにそのWebアプリケーションのサーブレットContextオブジェクトを作成し、現在のWebアプリケーションを表します.各Webアプリケーションには、アプリケーションに関連付けられた名前のサーブレットContextオブジェクトが1つしかなく、Applicationオブジェクトとも呼ばれます.このサーブレットContextオブジェクトは、Webコンテナが閉じたり、Webアプリケーションがコンテナを削除したりするまで、Webアプリケーションの破棄に伴って破棄されます.
2、サーブレットContextの取得方法:は、サーブレットrRequestオブジェクトで定義getサーブレットContext()メソッドにより取得する:requestオブジェクト.getServletContext(); GenericServiceletクラスで定義されたgetServiceletContext()メソッドによって取得する(すなわち、GenericServiceletまたはそのサブクラスには、このメソッドがあり、直接呼び出せばよい):getServletContext() super.getServletContext() サーブレットコンフィグインタフェースで定義getサーブレットContext()メソッドにより、サーブレットコンフィグオブジェクトを取得する.getServletContext();
3、サーブレットContextの役割: MIMEタイプを取得します.MIMEタイプとは何ですか.インターネット通信中に定義されるファイルデータ型8195;ケース: サーブレットContext servletContext=req.getServletContext(); System.out.println(servletContext.getMimeType("/hello.txt"));//text/plain ドメインオブジェクトとして、データ共有を行います(1)setAttribute(String name,Object value) 2)getAttribute(String name) 3)getAttributeNames():サーブレットContextに格納されているすべての属性名を含むEnumerationオブジェクトを返します. 4)removeAttribute(String name) 5)サーブレットContextオブジェクト範囲:現在のWebアプリケーション 現在のWebApp(Webアプリケーション)にアクセスするリソース 1)String getContextPath():現在のWebアプリケーションの仮想ディレクトリを取得する; 2)String getInitParameter(String name):WebAppプロファイルで一致する初期化パラメータ値を取得します.Webでxmlのweb-app要素のcontext-paramサブ要素はWebApp応用範囲内の初期パラメータを表す. 3)String getInitParameterName():Webに格納されているすべてのオブジェクトを含むEnumerationオブジェクトを返します.xmlのweb-app要素のcontext-paramサブ要素の初期化パラメータ名; 3)RequestDispatcher getRequestDispatcher(String path):転送対象を取得する; サーバ側のファイルシステムリソースにアクセスするwar_exploded\WEB-INF/classes/a.txt String a = context.getRealPath("/WEB-INF/classes/a.txt");//srcディレクトリでのリソースアクセスwar_exploded\b.txt String b = context.getRealPath("/b.txt");//Webディレクトリの下でのリソースアクセス、たとえば //D:ScottWorkSpcaceIDEAWorkSpaceoutartifactsMyDemo_war_exploded\WEB-INF\c.txt String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INFディレクトリ下のリソースアクセス サーブレットコンフィグの詳細
1、サーブレットコンフィグオブジェクトとは?
サーブレット/Jspコンテナがサーブレットタイプのオブジェクトを作成すると、このサーブレットオブジェクトに一意のサーブレットコンフィグオブジェクトが作成されます.サーブレットコンフィグオブジェクトには、サーブレットの初期化パラメータ情報が含まれています.サーブレットのプロファイルでは、1つ以上のinit-paramラベルを使用してサーブレットの初期化パラメータを設定できます.サーブレットが初期化パラメータを構成した後、Webコンテナはサーブレットインスタンスオブジェクトを作成すると、これらの初期化パラメータを自動的にこのサーブレットオブジェクトに対応するサーブレットコンフィグオブジェクトにカプセル化し、サーブレットのinit()メソッドを呼び出すと、サーブレットコンフィグオブジェクトをサーブレットに渡します.さらに,プログラマはサーブレットコンフィグオブジェクトを介して現在のサーブレットの初期化パラメータ情報を得る.
2、サーブレットコンフィグの常用方法
1)Enumeration getInitParameterName():ラベルに配置されているすべてのパラメータのパラメータ名 2)String getInitParameter(String name):パラメータ名からパラメータ値 3)サーブレットContext getServertContext():サーブレットContextオブジェクト 4)String getServertName()を取得する
3、サーブレットコンフィグはwebを取得する.xmlファイルにおけるサーブレット構成の初期化パラメータの例
web.xmlの定義は次のとおりです.
≪シミュレーション|Simulation|oem_src≫:コンフィギュレーション・ファイルでWebサイトの最大同時オンライン人数を定義し、サーブレット・コンフィグ・オブジェクトを使用して値を取得します.
1、サーブレットContextとは?
Webコンテナ(Tomcat)が起動し、Webアプリケーションのロードが完了すると、WebコンテナはすぐにそのWebアプリケーションのサーブレットContextオブジェクトを作成し、現在のWebアプリケーションを表します.各Webアプリケーションには、アプリケーションに関連付けられた名前のサーブレットContextオブジェクトが1つしかなく、Applicationオブジェクトとも呼ばれます.このサーブレットContextオブジェクトは、Webコンテナが閉じたり、Webアプリケーションがコンテナを削除したりするまで、Webアプリケーションの破棄に伴って破棄されます.
2、サーブレットContextの取得方法:
3、サーブレットContextの役割:
1、サーブレットコンフィグオブジェクトとは?
サーブレット/Jspコンテナがサーブレットタイプのオブジェクトを作成すると、このサーブレットオブジェクトに一意のサーブレットコンフィグオブジェクトが作成されます.サーブレットコンフィグオブジェクトには、サーブレットの初期化パラメータ情報が含まれています.サーブレットのプロファイルでは、1つ以上のinit-paramラベルを使用してサーブレットの初期化パラメータを設定できます.サーブレットが初期化パラメータを構成した後、Webコンテナはサーブレットインスタンスオブジェクトを作成すると、これらの初期化パラメータを自動的にこのサーブレットオブジェクトに対応するサーブレットコンフィグオブジェクトにカプセル化し、サーブレットのinit()メソッドを呼び出すと、サーブレットコンフィグオブジェクトをサーブレットに渡します.さらに,プログラマはサーブレットコンフィグオブジェクトを介して現在のサーブレットの初期化パラメータ情報を得る.
2、サーブレットコンフィグの常用方法
1)Enumeration getInitParameterName():ラベルに配置されているすべてのパラメータのパラメータ名 2)String getInitParameter(String name):パラメータ名からパラメータ値 3)サーブレットContext getServertContext():サーブレットContextオブジェクト 4)String getServertName()を取得する
3、サーブレットコンフィグはwebを取得する.xmlファイルにおけるサーブレット構成の初期化パラメータの例
web.xmlの定義は次のとおりです.
<servlet>
<servlet-name>loginservlet-name>
<servlet-class>web.LoginServletservlet-class>
<init-param>
<param-name>maxOnlineparam-name>
<param-value>3000param-value>
init-param>
servlet>
<servlet-mapping>
<servlet-name>loginservlet-name>
<url-pattern>/loginurl-pattern>
servlet-mapping>
≪シミュレーション|Simulation|oem_src≫:コンフィギュレーション・ファイルでWebサイトの最大同時オンライン人数を定義し、サーブレット・コンフィグ・オブジェクトを使用して値を取得します.
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
// web.xml , ServletConfig
@Override
protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
//getServletConfig() Tomcat ServletConfig
ServletConfig config = this.getServletConfig().getInitParameter("maxOnline");
System.out.println(maxOnline);
}
}