Spring Boot初学メモ

Spring BootでHello Worldを出力するプログラム。
HTML版とJSP版2つのページを作ってみる。

概念や必要知識の整理についてはちょっと保留。

ちなみに環境は
・JDK1.8
・Eclipse4.19
・Windows10

参考資料
SpringでHelloWorld
Spring&JSPの検証環境を速攻で作る
spring boot for java で、jsp を利用

プラグイン導入

普段からEclipseを使っているととうに導入済なのだろうけど、使わない人間なので下記2つのプラグインを導入するところから入った。
・STS(Spring Tool Suite)
・WTP(Web Tools Platform)

参考記事
Spring Tool Suite(STS)のインストール手順 | 分かりやすく図解で説明
Eclipse に Web ツール・プラットホーム (WTP) をインストール

はえ~。Eclipseのプラグインってマーケットプレイスから取得したりプラグイン公式ページからドラッグ&ドロップしたり色々なインストール方法があるんだなあ。

記事の通りにやれば上手く入った。


Hello World(HTML)

迷ったけどHTMLとJSPと分けてプロジェクトを作ろうかと思う。
Eclipseを起動し[Spring Starter Project]を立ち上げる。

画像1

画像2

Spring Webにチェックを入れて[Finish]。

com.example.demo.HelloControllerクラスを新規作成し、以下のように記述する。

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloController {

	@RequestMapping(value = "/hello")
	private String hello() {
		return "/hello.html";
	}
}

あとはViewも作る。見出しの通りここではHTMLを使う。

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>hello-html</title>
</head>
<body>
	Hello World&#40;HTML&#41;!!!
</body>
</html>

これでコーディング完了。

Eclipseから起動するならやり方はざくっと見た感じ2通りあり
1. プロジェクトを右クリックして実行するか
2. Boost Dashboard対象アプリを右クリックして実行するか(Boot Dashboardは[Window]>[Show View]から探すことができる)

画像3

画像4

Webサーバーを起動したら、ブラウザから下記URLにアクセスすると用意したHTMLの内容が表示される。
http://localhost:8080/hello

画像5


Hello World(JSP)

HTMLの時と同じように[Spring Starter Project]ウィザードを立ち上げて、「demo-hello-jsp」というプロジェクトを作る。

JSPファイル配置フォルダ作成

[src\main\webapp]を作成し、その下に更に
[src\main\webapp\WEB-INF\view]とフォルダを作成する。

画像6

画像7

どうもこの[src\main\webapp]にJSPを探しに行くような設定になっているっぽいのだが、どこでそう設定されているのかはよく分からん。

application.properties での設定変更

[src\main\resources\application.properties]に以下の設定を追記する。Viewのwebbappフォルダからの相対パスと、拡張子を設定してやる。

spring.mvc.view.prefix= /WEB-INF/view/
spring.mvc.view.suffix= .jsp


pom.xml での設定変更

Spring BootではTomcatのJasper(JSPコンパイラ)をデフォルトで使うことができないらしいので、その設定を追加する。
(Thymeleafの設定が存在する場合はコメントアウトする)。

<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
</dependency>


Controller, Viewの作成

com.example.demo.HelloControllerクラスを新規作成し、以下のように記述する。拡張子.jspはpropertiesで設定したため省略。

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloController {

	@RequestMapping(value = "/hello")
	private String hello() {
		return "hello";
	}
}

Hello Worldを出力するような単純なhello.jspファイルを作って

<%@ page language="java" contentType="text/html; charset=UTF-8"	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>hello-jsp</title>
</head>
<body>
   <% out.println("Hello World(JSP)!!!"); %>
</body>
</html>

起動しページにアクセスすると無事文字列表示を行うことができた。

画像8


この記事が気に入ったらサポートをしてみませんか?