search
LoginSignup
3

More than 5 years have passed since last update.

posted at

updated at

Mavenを利用してSpring MVCの開発をする

はじめに

MavenからSpringを動かすときに毎回作成手順が煩わしいので、備忘録的に作成手順を書き残していきます。

参考書籍
Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発
[改訂新版]Spring入門 ――Javaフレームワーク・より良い設計とアーキテクチャ
Apache Maven 2.0入門 Java・オープンソース・ビルドツール

EclipseからMavenプロジェクトを作成する

環境
Maven 3.3.9
Spring 4.2.6
JRE 1.8
Eclipse:Neon Release (4.6.0)

新規プロジェクトからMavenプロジェクトを選択して進んでいく

スクリーンショット 2017-01-04 21.45.12.png

スクリーンショット 2017-01-04 21.45.24.png

アーキタイプ webappを選択

スクリーンショット 2017-01-04 21.45.35.png

グループID アーティファクトidを入力して完了

スクリーンショット 2017-01-04 21.45.54.png

最終的なフォルダ構成はこうなります。

初期状態ではjspにエラーがありますが、依存関係が追加されいないため、問題ありません。

スクリーンショット 2017-01-07 9.32.39.png

ファイルの設定

pom.xmlで依存関係ライブラリを管理します。

必要なライブラリがある場合はMavenの公式サイトで調べます。
Maven公式サイト

pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>work</groupId>
  <artifactId>app</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>app Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <dependencyManagement>
  <dependencies>

    <!-- ① -->
    <dependency>
        <groupId>io.spring.platform</groupId>
        <artifactId>platform-bom</artifactId>
        <version>2.0.5.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>

  </dependencies>
  </dependencyManagement>

    <!-- ② -->
  <dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.taglibs</groupId>
        <artifactId>taglibs-standard-jstlel</artifactId>
    </dependency>


    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>app</finalName>
    <pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <soruce>1.8</soruce>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
  </build>
</project>


Spring IO Platform のライブラリを追加します。
共通の依存のライブラリのバージョンを標準化して、動作の保証を行っています。


Servlet APiの依存ライブリを追加します。
これで、jspのエラーが解決します。

上記を追加したら
プロジェクトで右クリック →「Maven」→「プロジェクトの更新」を実行します。

Web.xmlの修正

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

<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_3_0.xsd 
 " 
 version="3.0"
 >

 <jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <page-encoding>UTF-8</page-encoding>
        <include-prelude>/WEB-INF/include.jsp</include-prelude> <!-- ① -->
    </jsp-property-group>
 </jsp-config>

</web-app>

①各JSPの先頭にインクルードするファイルが指定できます。
よく使用するJSTL等を定義したファイルを使います。(省略可能)

後はサーバーで起動して
http://localhost:8080/app/
にアクセスすると

スクリーンショット 2017-01-14 13.51.53.png

と表示できれば、起動までの確認が完了しました。

次回はcontrollerからアプリケーションを呼び出し、
thymeleafテンプレートを使用して表示していきます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3