文系のIT勉強メモ

勉強中のメモと、インフラの覚書き

META-INF/context.xml Eclipseでテンプレートをつくる

どうせ他の動的Webプロジェクトでも同じ内容のxmlファイルつくるんなら、テンプレート登録して呼び出してみよう。と思ってやってみた。意外と検索してもやり方書いてなかったし自分のためにメモ。

手順

  1. EclipseのDBツリービューをひらいて、DBの上で右クリック→編集→次へ で出てくるデータベース定義を画面&スケッチなどでいったん出しておくと便利です。
  2. プロジェクト内の/src/main/webapp/META-INFを選択したうえで、
     ファイル→新規→その他→XMLXMLファイルを選択して、
  3. ファイル名:context.xml
  4. 「'新規XML'テンプレートをここで構成します」の「ここ」のリンクをクリック
  5. 名前と説明をかき、「コンテキスト」は「新規XML」を選ぶ

f:id:suika_daisuki:20220110030412p:plain

「コンテキスト」を「新規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>

書けたら、
で元の画面に戻ります。

f:id:suika_daisuki:20220110032200p:plain

この画面に戻ってきます

先ほど新規テンプレートを登録したとき私は「daoあり」という名前をつけたので、それを選びます。テンプレートを登録するときにコンテキストで「新規XML」を選択してないと、このとき選択肢としてでてきませんf:id:suika_daisuki:20220110032314p:plain

できあがり

これでしかるべきところにcontext.xmlファイルができています。
いちばん上の行は$[encoding]のところに値が入って

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

となります。(どこから拾った値が入ってるのか私は知りませんが、環境によってはUTF-8以外の値が入る方もいらっしゃるかもしれません)

実は<Resourceの行にエラー表示が出てるので、、、あとで正解がわかったら記事直しておきます。