Webアプリケーションにおける相対パスのファイルを読み込み
2009/02/18 16:31Update
TAGS: Java | Web | 相対パス | getServletContext | getRealPath | WEB-INF | Properties | JSP | Servlet | Filter
Web開発において、JSPやServlet、Filter、普通のクラス、プロパティファイルなどそれぞれの相対パスの記述方法、相対パスファイルの読み込み方法についてサンプルから解説します。
■JSP
ファイルの記述形式:
1)相対パス形式:"/myfolder/myfile.txt"
例:
JSPの中に次のように記述できます。
■Servlet(javax.servlet.http.HttpServletから継承)
ファイルの記述形式:
1)相対パス形式:"/myfolder/myfile.txt"
例:
doPostやdoGetなどのメソッドの中に次のように記述できます。
■Filter(javax.servlet.Filterから継承)
ファイルの記述形式:
1)相対パス形式:"/myfolder/myfile.txt"
例:
基底クラスjavax.servlet.Filterのinitメソッドをオーバーライドし、パラメータFilterConfigをメンバー変数に設定します。
■普通のクラス(/WEB-INF/classesに配置)
ファイルの記述形式:
1)URL形式:"http://www.syboos.jp/"
2)絶対パス1:"c:\\My.xml"
3)相対パス1:"com/syboos/test/My.xml"
4)相対パス2:"/WEB-INF/some.xml"
例:
リソースからInputStreamの取得するための汎用的なサンプル
■プロパティファイル(*.properties)
ファイルの記述形式:
1)クラス形式:"com.test.Application"
例:
リソースファイルの国際化対応 - java.util.ResourceBundle
ファイルの記述形式:
1)相対パス形式:"/myfolder/myfile.txt"
例:
JSPの中に次のように記述できます。
application.getRealPath("/myfolder/myfile.txt");
■Servlet(javax.servlet.http.HttpServletから継承)
ファイルの記述形式:
1)相対パス形式:"/myfolder/myfile.txt"
例:
doPostやdoGetなどのメソッドの中に次のように記述できます。
String path1 = this.getServletContext().getRealPath("/myfolder/myfile.txt");
//...
String path2 = this.getServletContext().getRealPath("/WEB-INF/myfolder/myfile.txt");
■Filter(javax.servlet.Filterから継承)
ファイルの記述形式:
1)相対パス形式:"/myfolder/myfile.txt"
例:
基底クラスjavax.servlet.Filterのinitメソッドをオーバーライドし、パラメータFilterConfigをメンバー変数に設定します。
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
...
String settingsPath = filterConfig.getServletContext().getRealPath("/myfolder/myfile.txt");
■普通のクラス(/WEB-INF/classesに配置)
ファイルの記述形式:
1)URL形式:"http://www.syboos.jp/"
2)絶対パス1:"c:\\My.xml"
3)相対パス1:"com/syboos/test/My.xml"
4)相対パス2:"/WEB-INF/some.xml"
例:
リソースからInputStreamの取得するための汎用的なサンプル
■プロパティファイル(*.properties)
ファイルの記述形式:
1)クラス形式:"com.test.Application"
例:
リソースファイルの国際化対応 - java.util.ResourceBundle
Sponsored Link
Comments
- Relative Articles
- Java開発及び実行環境の構築 | Linux篇 - (2008/08/31 20:34)
- Java開発及び実行環境の構築 | Windows篇 - (2008/08/31 21:18)
- 5分でJava Hello World! - (2008/08/31 22:13)
- Java言語の制御構文 - 条件分岐if/else/else if - (2008/10/01 21:30)
- Java言語の繰り返し制御構文 - for文 - (2008/10/03 18:22)
- Java言語の繰り返し制御構文 - do ... while文 - (2008/10/03 21:23)
- Java言語の繰り返し制御構文 - while文 - (2008/10/03 21:32)
- Java言語の基礎 - javacコマンドによるコンパイル - (2008/10/10 17:58)
- Java アクセス修飾子概要 - (2008/10/29 18:31)
- Javaアノテーション機能 概要 - (2009/02/12 13:06)