ServletContext
日本語 | 小奉仕人背景 |
英語 | servlet context |
ふりがな | さーぶれっとこんてきすと |
フリガナ | サーブレットコンテキスト |
サーブレットの設定等を取得するためのインターフェイス。
J2EEに含まれるインターフェイスのひとつ。パッケージも含めたインターフェイス名はjavax.servlet.ServletContext。
サーブレットについての各種設定を取得することができるほか、getRequestDispatcher()メソッドでRequestDispatcherインターフェイスの実装クラスへの参照を取得することができるため、これを用いてJSPを表示することができる。
HttpServletインターフェイスのgetServletContext()メソッドで取得することができる。
また、JSPではJSP暗黙オブジェクト「application」がServletContextインターフェイスの変数のため、この変数を用いることができる。
J2EEに含まれるインターフェイスのひとつ。パッケージも含めたインターフェイス名はjavax.servlet.ServletContext。
サーブレットについての各種設定を取得することができるほか、getRequestDispatcher()メソッドでRequestDispatcherインターフェイスの実装クラスへの参照を取得することができるため、これを用いてJSPを表示することができる。
HttpServletインターフェイスのgetServletContext()メソッドで取得することができる。
また、JSPではJSP暗黙オブジェクト「application」がServletContextインターフェイスの変数のため、この変数を用いることができる。
参考サイト
<%-- webapps/sample-servlet/WEB-INF/jsp/sample.jsp --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<HTML>
<HEAD>
<TITLE>JSPのサンプル</TITLE>
</HEAD>
<BODY>
<%
// 各種情報を取得します。
out.println( application.getServerInfo() );
// Apache Tomcat/4.1.31
out.println( "<BR>" );
out.println( application.getRealPath( "." ) );
// D:\Java\Tomcat 4.1\webapps\sample-servlet\.
out.println( "<BR>" );
%>
<%-- 出力結果 --%>
<%--
Apache Tomcat/4.1.31
D:\Java\Tomcat 4.1\webapps\sample-servlet\.
--%>
</BODY>
</HTML>
// webapps/sample-servlet/WEB-INF/src/SampleServlet.java
// http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。
// このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.SampleBean;
/**
* サーブレットのテスト。
*/
public class SampleServlet extends HttpServlet
{
/**
* リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
*/
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException
{
System.out.println( "SampleServlet#doGet()" );
// Content-Typeをセット。
response.setContentType( "text/html;charset=Windows-31J" );
// サーブレットコンテキストを取得します。
ServletContext servletContext = getServletContext();
// 各種情報を取得します。
System.out.println( servletContext.getServerInfo() );
// Apache Tomcat/4.1.31
System.out.println( servletContext.getRealPath( "." ) );
// D:\Java\Tomcat 4.1\webapps\sample-servlet\.
// リクエストディスパッチャーを取得します。
RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher( "/WEB-INF/jsp/sample.jsp" );
// 指定したJSPへと転送します。
requestDispatcher.forward( request, response );
}
}
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<HTML>
<HEAD>
<TITLE>JSPのサンプル</TITLE>
</HEAD>
<BODY>
<%
// 各種情報を取得します。
out.println( application.getServerInfo() );
// Apache Tomcat/4.1.31
out.println( "<BR>" );
out.println( application.getRealPath( "." ) );
// D:\Java\Tomcat 4.1\webapps\sample-servlet\.
out.println( "<BR>" );
%>
<%-- 出力結果 --%>
<%--
Apache Tomcat/4.1.31
D:\Java\Tomcat 4.1\webapps\sample-servlet\.
--%>
</BODY>
</HTML>
// webapps/sample-servlet/WEB-INF/src/SampleServlet.java
// http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。
// このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.SampleBean;
/**
* サーブレットのテスト。
*/
public class SampleServlet extends HttpServlet
{
/**
* リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
*/
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException
{
System.out.println( "SampleServlet#doGet()" );
// Content-Typeをセット。
response.setContentType( "text/html;charset=Windows-31J" );
// サーブレットコンテキストを取得します。
ServletContext servletContext = getServletContext();
// 各種情報を取得します。
System.out.println( servletContext.getServerInfo() );
// Apache Tomcat/4.1.31
System.out.println( servletContext.getRealPath( "." ) );
// D:\Java\Tomcat 4.1\webapps\sample-servlet\.
// リクエストディスパッチャーを取得します。
RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher( "/WEB-INF/jsp/sample.jsp" );
// 指定したJSPへと転送します。
requestDispatcher.forward( request, response );
}
}
<%-- webapps/sample-servlet/WEB-INF/jsp/sample.jsp --%> <%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <%-- pageEncodingには、このファイルを保存した時の文字コードを指定してください。 Windowsであれば"Windows-31J"を指定すればいいでしょう。 --%> <HTML> <HEAD> <TITLE>JSPのサンプル</TITLE> </HEAD> <BODY> <% // 各種情報を取得します。 out.println( application.getServerInfo() ); // Apache Tomcat/4.1.31 out.println( "<BR>" ); out.println( application.getRealPath( "." ) ); // D:\Java\Tomcat 4.1\webapps\sample-servlet\. out.println( "<BR>" ); %> <%-- 出力結果 --%> <%-- Apache Tomcat/4.1.31 D:\Java\Tomcat 4.1\webapps\sample-servlet\. --%> </BODY> </HTML> // webapps/sample-servlet/WEB-INF/src/SampleServlet.java // http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。 // このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。 import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import bean.SampleBean; /** * サーブレットのテスト。 */ public class SampleServlet extends HttpServlet { /** * リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。 */ public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException { System.out.println( "SampleServlet#doGet()" ); // Content-Typeをセット。 response.setContentType( "text/html;charset=Windows-31J" ); // サーブレットコンテキストを取得します。 ServletContext servletContext = getServletContext(); // 各種情報を取得します。 System.out.println( servletContext.getServerInfo() ); // Apache Tomcat/4.1.31 System.out.println( servletContext.getRealPath( "." ) ); // D:\Java\Tomcat 4.1\webapps\sample-servlet\. // リクエストディスパッチャーを取得します。 RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher( "/WEB-INF/jsp/sample.jsp" ); // 指定したJSPへと転送します。 requestDispatcher.forward( request, response ); } }