読者です 読者をやめる 読者になる 読者になる

新人SEの学習記録

14年度入社SEの学習記録用に始めたブログです。気づけば社会人3年目に突入。

学習記録:Java EEアプリケーション、設定ファイル

[学習記録] Java EEアプリケーション

業務で出てきて混乱したのでまとめ。

内容

JAR/WAR/EAR
  • JARファイル
    • クラスファイル、設定ファイルを固めたファイル。
    • META-INF/ディレクトリにマニフェストと呼ばれるメタ情報が格納される。
    • 圧縮形式としてははzipファイルだが、JavaツールはJARを直接扱える(解凍不要)なのが特徴。
  • WARファイル
    • Web(Java EE)アプリケーションのコンテキストルート以下を固めたアーカイブファイル。
    • ディレクトリ構成はJ2EE仕様で定められている。詳細は以下。
    • 直下にはjsp, html, 画像ファイルといったWebクライアントから直接アクセスされるファイル/サブディレクトリを格納。
    • WEB-INF/には以下のものを格納。
      • web.xml:デプロイメント記述子。これを元にデプロイされる。
      • *.tldファイル
      • classes/以下にサーブレット他の*.classファイルを格納。無ければこのディレクトリは不要。
      • lib/以下にサーブレット他の*.jarファイルを格納。無ければこのディレクトリは不要。
    • META-INF/にマニフェストファイル。
  • EARファイル
    • 複数のjarファイル、warファイル、ejb-jarファイルを含むアーカイブファイル。
    • META-INF/にはapplication.xmlが含まれ、これを元にデプロイされる。
web.xml
<!DOCTYPE web-app PUBLIC
	"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
	"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
...
</web-app>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
	id="WebApp_ID" version="2.4">
...
</web-app>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
...
</web-app>
<servlet>
  <servlet-name>サーブレット名</servlet-name>
  <servlet-class>クラスファイル</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>サーブレット名</servlet-name>
  <url-pattern>URLパス</url-pattern>
</servlet-mapping>
  • Spring MVCの場合、Dispatcher Servletの設定だけでOK。
    • ほかにはFilterやlistenerの設定を書く。
追記
  • 以下、設定ファイル類について追記していく予定