2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-01-14

はじめに

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テンプレートを使用して表示していきます。

2
3
0

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
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?