getContextPathメソッドを用いた環境に依存しないURLの書き方(コードサンプル)をまとめています。
1. getContextPathメソッドとは
2. 環境に依存しないURLの書き方
Servlet コンテナは javax.servlet.http.HttpServletRequest オブジェクトを生成し、 Servlet のサービスメソッド (doGet、doPost 等) に引数で渡します。
getContextPathは、javax.servlet.http.HttpServletRequestのメソッドで、 リクエストされた URI のうち、リクエストのコンテキストを指す部分を返すメソッドです。
getContextPathメソッドを用いることで環境に依存しないURLが記述できます。
サンプルを使用して環境に依存しないURLの書き方を解説していきます。
□tomcatホームディレクトリ ├□conf |└◆server.xml └□webapps └□test └◆index.jsp
ここでは、同じアプリに複数のコンテキストパスを設定します。
<?xml version='1.0' encoding='utf-8'?>
<Server …>
<Service …>
<Engine …>
<Host …>
<Context path="/aaa"
docBase="<tomcatホームディレクトリ>/webapps/test"/>
<Context path="/bbb"
docBase="<tomcatホームディレクトリ>/webapps/test"/>
<Context path="/ccc"
docBase="<tomcatホームディレクトリ>/webapps/test"/>
</Host>
</Engine>
</Service>
</Server>
<%@ page language="java"
contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>環境に依存しないURL</title>
</head>
<body>
<a href="<%= request.getContextPath() + "/index.jsp" %>">
<%= request.getContextPath() + "/index.jsp" %></a>
</body>
</html>
全く同じソースを表示していますが、環境に合わせてURLが変わってくれます。
当サイトについて
Apache Tomcat
Apache HTTP Server
JSP/Servlet
基礎知識
アプリケーションコンテキスト / コンテキスト / コンテキストパス / コンテキスト名.xml / コンテキストルート / サーブレット / マイクロサービス / ルート
appBase属性 / ApplicationContext / getContextPath / JSP / Maven / PageContext / root / server.xml / Servlet / Spring Boot / Tomcat
サイト内のページ
Copyright (C) 2013-2023 コンテキストパスの設定の仕方. All Rights Reserved. Loarding…