Servlet基本_初期化パラメータ、外部ファイル

1、サーブレットの初期化パラメータ
サーブレットの初期化パラメータを利用するには、必ずweb.xmlにおいてサーブレットマッピングを指定する必要がある。
(Tomactのinvokerサーブレットは利用できない)

設定方法は、web.xmlに<servlet>要素の子要素として<init-param>要素を記述する。

初期化パラメータの読込は、javax.servlet.ServletConfigインタフェースを使用する。
上記ServletConfigオブジェクトの取得はHttpServlet.getServletConfigを使用する。

2、アプリの初期化パラメータ
設定方法は、web.xmlに<web-app>要素の子要素として<context-param>要素を記述する。

初期化パラメータの読込は、javax.servlet.ServletContextインタフェースを使用する。
上記ServletContextオブジェクトの取得はHttpServlet.getServletContextを使用する。

3、初期化パラメータのその他
パラメータを利用して一度だけ何か処理を行いたいという場合は、サーブレットのinit()が利用できる。
・public void init()
・public void init(ServletConfig config)     (本メソッドは必ずsuper.init(config)を呼ぶことが必要)

最初のリクエストより先に初期化処理を行いたい場合は、web.xmlの<servlet>要素の子要素として<load-on-startup>を指定する。
これで、Webアプリ起動時に、サーブレットもロードされる(初期化される)。
指定する値は、0以上の数字で、数字が小さい方が先にロードされる。

また、一度だけの初期化処理はサーブレットのinit()の他に、ServletContextListenerを利用する方法もある。

4、物理パスの取得
Webアプリ上のファイルのパスをOS上の物理パスに変換するために、getRealPath()メソッドが用意される。
ただ、getRealPath()はうまく動作しない場合がある。
・Tomcatの場合は、通常WARは展開して動作するので問題がない
・Tomcat以外のアプリサーバにはWARを展開せずに動作するものもあり、この場合は、getRealPath()は失敗する。

5、クラスパスからファイルの読込
クラスパス上のテキストファイルの読込は、class.getResource()メソッドでURLを取得して、
URL.openStream()メソッドでファイルのストリームを開く。

或は、直接class.getResourceAsStream()でストリームを取得する。

6、プロパティファイル
Javaでは情報を「プロパティファイル」と呼ばれる、プログラムとは別のファイルにまとめておくことが推奨されている。
プロパティファイルは「.properties」という拡張子を持つファイルで、キーと値のペアを「=」または「:」で区切った形式で記述。(行頭が「#」または「!」で始まる行は、コメント行として扱われます。)
プロパティファイルの操作は、JavaのコアAPIのjava.util.Propertiesクラスを利用する。このクラスはスレッドセーフです。

7、XMLDecoderとXMLEncoder
XMLDecoder: XMLの読み取り機能である。ObjectInputStream と同様の働きも備える。
XMLEncoder: XMLファイルの書き出し機能である。ObjectOutputStream の補足的な代替クラスである

转载于:https://www.cnblogs.com/nliao/p/3184008.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值