ラベル Maven の投稿を表示しています。 すべての投稿を表示
ラベル Maven の投稿を表示しています。 すべての投稿を表示

2013年10月19日土曜日

1-3. Spring 開発用に設定、プログラム作成

Spring のライブラリ追加
 pom.xml を開き、下のタブの Dependencies を選択
 Add...
 Enter groupID, ...: springframework
 org.springframework spring-webmvc - 3.2.4.RELEASE [jar] を選択
 OK
 上記の方法で検索できない場合、http://search.maven.org/ から検索して、<dependency> を 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>jp.matsushima</groupId>
  <artifactId>spring-test</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>spring-test Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <build>
    <finalName>spring-test</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <encoding>UTF-8</encoding>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.4.RELEASE</version> </dependency>
  </dependencies> </project>
web.xml の編集
 /WEB-INF/web.xml を編集し、servlet に org.springframework.web.servlet.DispatcherServlet を指定します。
<?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"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">

  <display-name>spring-test Web Application</display-name>

  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <!-- HTTP リクエストを Controller にディスパッチするサーブレット。 -->
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param> -->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>
dispatcher-servlet.xml の編集
 /WEB-INF/dispatcher-servlet.xml を作成し、DispatcherServlet の設定をします。
 context:component-scan には Controller のあるパッケージを指定します。
 viewResolver bean には Controller から jsp にマッピングする org.springframework.web.servlet.view.InternalResourceViewResolver を指定します。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:p="http://www.springframework.org/schema/p"
  xmlns:mvc="http://www.springframework.org/schema/mvc"
  xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">

  <!-- @Controller の付いたクラスを Controller として登録。 -->
  <mvc:annotation-driven />

  <!-- @Controller, @Repository, @Service, @Component の付いたコンポーネントを検出するパッケージの指定。 -->
  <context:component-scan base-package="jp.matsushima.spring_test.controller" />

  <!-- @Controller から view へのマッピング方法の指定。 -->
  <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp"/>
  </bean>

</beans>
Controller の作成
 dispatcher-servlet.xml で指定したパッケージ配下に Controller クラスを作成します。
 (src/main/java -> jp.matsushima.spring_test.controller#IndexController.java)
 クラスとメソッドに指定した @RequestMapping の value 指定の組み合わせで URL が決まります。
package jp.matsushima.spring_test.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * インデックスページ。
 */
@Controller
@RequestMapping({"/index", "/"})
public class IndexController {

	@RequestMapping(value = "", method = RequestMethod.GET)
	public String index(Model model) {
		return "index";
	}
}
jsp の作成
 dispatcher-servlet.xml の viewResolver で指定した場所に、Controller が return したマッピング名で jsp を作成します。
(/src/main/webapp/WEB-INF/jsp/index.jsp)
<%@  page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>index</title>
</head>
<body>
index page
</body>
</html>
サーバを起動し、ブラウザから http://localhost:8080/spring-test/index
または http://localhost:8080/spring-test/ にアクセスします。
index page と表示されれば OK です。


プロジェクトの最新版はこちらで公開しています。
https://github.com/matsushima-terunao/blog_java/

→ 1-4. MySQL のインストールからデータ作成まで
← 1-2. Eclipse で Maven Servlet プロジェクトの作成
↑ 一覧

2013年10月18日金曜日

1-1. Eclipse での Servlet 開発環境の構築

Java SE のインストール
http://www.oracle.com/technetwork/java/javase/downloads/index.html
 から Java Platform (JDK) 7u45 をダウンロード、インストール
Tomcat のインストール
http://tomcat.apache.org/download-70.cgi
 から 7.0.42 の 32-bit/64-bit Windows Service Installer のダウンロード、インストール
Elipse のダウンロード
http://www.eclipse.org/downloads/
 から Eclipse IDE for Java EE Developers をダウンロード、展開
Elipse に m2e のインストール
 kepler にはインストール済み?

プロジェクトの最新版はこちらで公開しています。
https://github.com/matsushima-terunao/blog_java/

→ 1-2. Eclipse で Maven Servlet プロジェクトの作成
↑ 一覧

1-2. Eclipse で Maven Servlet プロジェクトの作成

Maven プロジェクトの作成
 File -> New -> Project... または Other...
 Maven -> Maven Project
 Next
 org.apache.maven.archetypes, maven-archetype-webapp -> Next
 Archetype パラメータの指定
  Group Id: jp.matsushima
  Artifact Id: spring-test
  jp.matsushima.spring_test
  Finish
pom.xml の編集
 pom.xml を開き、下のタブの pom.xml を選択
 build 配下に maven-compiler-plugin を追加
 文字コードを UTF-8 に
 以下のような感じになっていると思います(順番は入れ替えています)。
<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>jp.matsushima</groupId>
  <artifactId>spring-test</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>spring-test Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>
  <build> <finalName>spring-test</finalName>
    <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <encoding>UTF-8</encoding> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins>
  </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
ソースフォルダの追加
 spring-test->src -> New -> Folder -> Folder name: java -> Finish
 同様に src 配下に test/java, test/resources を作成
 spring-test -> Maven -> Update Project...(Alt+F5) -> OK
 以下のような構成になっていると思います。

Maven ビルド、デプロイ
 spring-test -> Properties -> Run As -> Maven install
 エクスプローラで spring-test\target 配下にできた spring-test.war を Tomcat の webapps 配下にコピーする
 (C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps)
 しばらくすると spring-test フォルダが作成される
 ブラウザで http://localhost:8080/spring-test/ にアクセスする
 Hello World! と表示されれば OK
Eclipse でデバッグ
 Tomcat の停止しておく
  タスクトレイの Tomcat アイコンを右クリックし、Stop service または Exit をクリック

 Server の実行
  spring-test -> Debug As -> Debug on Server...
  Tomcat v7.0 Server -> Finish
  ブラウザが開いて Hello World! と表示されれば OK

プロジェクトの最新版はこちらで公開しています。
https://github.com/matsushima-terunao/blog_java/

→ 1-3. Spring 開発用に設定、プログラム作成
← 1-1. Eclipse での Servlet 開発環境の構築
↑ 一覧