JAVA:IT TRICK

コンテキストパスの取得(getContextPath)

サーブレットが呼び出された時のHTTPリクエストヘッダにあるコンテキストパスを取得する方法について説明します。
  • このエントリーをはてなブックマークに追加
  • Clip to Evernote
  • IT TRICK RSS

サーブレットが呼び出された時のHTTPリクエストにあるコンテキストパスを取得する方法について説明します。

コンテキストパスを取得するにはHttpServletRequestクラスのgetContextPath()メソッドを使います。以下は実際のリクエストの例です。赤線で囲まれている部分はコンテキストパスです。

getContextPath()メソッドのサンプル

以下はgetContextPath()を使用してコンテキストパスを取得するサンプルです。このサンプルは取得したコンテキストパスをブラウザに出力します。

Sample48121.java
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class Sample48121 extends HttpServlet {

	public void service(HttpServletRequest request,
			HttpServletResponse response)
	throws IOException, ServletException {

		PrintWriter out = response.getWriter();
		out.println(request.getContextPath());

	}
}

このサーブレットのweb.xmlでの定義です。

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>

	<servlet>
		<servlet-name>48121</servlet-name>
		<servlet-class>Sample48121</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>48121</servlet-name>
		<url-pattern>/48121</url-pattern>
	</servlet-mapping>

</web-app>

ブラウザからこのサーブレットにアクセスするとコンテキストパスが表示されるはずです。