Spring-MVC/ステップ・バイ・ステップ

2008/03/14からのアクセス回数 11652

サンプルソースのダウンロード

ここでは、Spring 2.5のサンプルプログラムを使ってjavaのプログラムの設定方法を説明します。

サンプルソースは、http://www.springframework.org/download の最新版から spring-framework-2.5.x-with-dependencies.zipのファイルをダウンローしてください。 ZIPファイルを展開して、samples/showcases/mvc-conventionを取り出します。

ファイルのコピーと配置

それでは、javaファイル、jspファイル、設定ファイルをコピーします。

コンパイルエラーがでてしまう

ソースをコピーしてEclipseでmvc-conventionプロジェクトを見ると、org.springframework.showcase.coverc.webにコンパイルエラーが出ています。

サンプルソースに付属のbuild.xmlをみるとspring.jarの他に

に依存していると記述されています。

新規プロジェクトの作成と同様にMVNRepositoryで上記のライブラリを検索すると以下のようになります。

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>2.5.2</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.1.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
	  <scope>provided</scope>
    </dependency>

これをpom.xmlに挿入します。

再度コンパイル

必要なライブラリをpom.xmlに追加したので、再度コンパイルします。

$ mvn clean compile

今度は、エラーがでなくなりました。

Eclipseのプロジェクトファイルを作り直し

しかしEclipseのプロジェクト画面では、まだエラーが出たままです。

これは、pom.xmlの変更がEclipseのプロジェクトファイル. classpathに反映されていないためです。

以下のコマンドを実行して.project, .classpathファイルを更新します。

$ rm .project .classpath
$ mvn eclipse:eclipse -DdownloadSources=true

ブラウザーで表示

mavenのjettyプラグインを起動した後、

$ mvn jetty:run

ブラウザーで

http://localhost:8080/mvc-convention/

と入力してください。

以下の画面が出力されます。

list.jpg

editリンクをクリックすると以下のような編集画面に移動します。

edit.jpg

どうして直接jarファイルをWEB-INF以下のlibに入れないのか

どうして直接jarファイルをWEB-INF以下のlibに入れないで、 jarファイルの依存関係をpom.xmlファイルに定義するのでしょうか。

その答えは、pom.xmlで依存関係を指定すると

からです。 ダウンロードされた.jarファイルは、ホームディレクトリの.m2/repositoryディレクトリに配置されます。

その結果、プロジェクトのサイズが小さくなるので、バージョン管理の負担を軽減できます。

プロジェクトファイル

作成したプロジェクトファイルを

filemvc-convention.zip

にまとめました。

ダウンロードして展開した後に、

$ rm .project .classpath
$ mvn eclipse:eclipse -DdownloadSources=true

を実行してください。

コメント

この記事は、

選択肢 投票
おもしろかった 1  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc