旧サネの技術的勉強記録

ITとかプログラミングとかそんな感じの備忘録

SpringBootで開発する(とりあえずHello World)

それでは、ブラウザにHelloWorldしてみるのですが、

まずプロジェクトをパッケージエクスプローラなんかで展開すると

src/main/java

というのがあってこっちがjava的なものの置き場。

src/main/resources

がHTML、JS、CSS、そして設定ファイルなどの置き場であると。

 

 src/main/resources/templates

の下がHTML置き場らしいので、試しにその下にまず test という名前のフォルダを作成。

で、その中に hello.html というファイルを作成しました。

hello.htmlはこんな感じ。

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">
  <head>
    <title>Hello World</title>
  </head>

  <body>
    <h2 th:text="${message}"></h2>
  </body>
</html>

h2タグの中のth:textというのがThymeleafの書き方で、APから「message」という名前でパラメータが渡されてきたらこのタグのテキストをそれにするよってやつですな。

 

で。javaの方はコントローラというものを作成。

まあ、サーブレットクラスのようなものですね。

分かりやすくするために、新しくcontrollerという名前のパッケージ階層を作成し、クラス名はSampleController.javaにしました。

中身はこう。

package sample.qsane.controller;

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

@Controller
public class SampleController {

    @RequestMapping("/test")
    public String goPage(Model model){
        model.addAttribute("message", "Hello World");
        return "test/hello";
    }
}

 

@Controllerはこれがコントローラだと示すアノテーション

@RequestMappingはどのURLの時にこのメソッドが呼ばれるかを示すアノテーション

Modelというクラスにパラメータを渡すとそれがテンプレートエンジンに渡される。

で、returnで「src/main/resources/templatesの下のtestフォルダの中のhello.html」を呼び出すよ、と。

 

ちなみに、returnの値の書き方に注意。

return "/test/hello";

と頭にスラッシュをつけないこと。

これをつけると今は動いているように見えて実際のデプロイの時に動かないという罠がある。

 

で、プロジェクトを右クリック、[Run As]→[Spring Boot App]を選択すると実行される。

ポートは何も設定しないとTomcatのデフォの8080になる。

f:id:tane1tsubu:20170715235629p:plain

 

よし。

 

 

まああまり基礎的なことばかりやってても仕方がないので、次はいろいろなDBに接続するパターンをやっていこうかな。