どうせ他の動的Webプロジェクトでも同じ内容のxmlファイルつくるんなら、テンプレート登録して呼び出してみよう。と思ってやってみた。意外と検索してもやり方書いてなかったし自分のためにメモ。
手順
- EclipseのDBツリービューをひらいて、DBの上で右クリック→編集→次へ で出てくるデータベース定義を画面&スケッチなどでいったん出しておくと便利です。
- プロジェクト内の/src/main/webapp/META-INFを選択したうえで、
ファイル→新規→その他→XML→XMLファイルを選択して、 - ファイル名:context.xml →
- 「'新規XML'テンプレートをここで構成します」の「ここ」のリンクをクリック
- 名前と説明をかき、「コンテキスト」は「新規XML」を選ぶ
パターンの中はこうです。
<?xml version="1.0" encoding="${encoding}"?>
<Context reloadable="true" />
<Resource
name="jdbc/xxxnanndemoii(ここはなんでもいい)"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver(JDBC Driverの値を入れる)"
url="jdbc:postgresql://localhost:5432/shop(接続文字列の値を入れる)"
username="xxx(接続ユーザの値を入れる)"
password="yyy(接続パスワードの値を入れる)"
/>
</Context>
書けたら、→
で元の画面に戻ります。。
先ほど新規テンプレートを登録したとき私は「daoあり」という名前をつけたので、それを選びます。テンプレートを登録するときにコンテキストで「新規XML」を選択してないと、このとき選択肢としてでてきません!→
できあがり
これでしかるべきところにcontext.xmlファイルができています。
いちばん上の行は$[encoding]のところに値が入って
となります。(どこから拾った値が入ってるのか私は知りませんが、環境によってはUTF-8以外の値が入る方もいらっしゃるかもしれません)
実は<Resourceの行にエラー表示が出てるので、、、あとで正解がわかったら記事直しておきます。