0
1

Springで始めるWeb開発#1

Last updated at Posted at 2023-08-01

はじめに

これまでにJavaの開発経験がなかったのでJavaをもっと知るために開発を始めました。
JavaでWeb開発をしたいと思ったときにJavaのフレームワーク「Spring」を知ったのでSpringを使って開発していきます。

目次

  1. Springとは
  2. Thymeleafとは
  3. Controllerの記述
  4. JAR/WAR

Springとは

SpringはJavaで開発されているフレームワークの一つ。開発はMVCモデルです。(MVCモデルについては今回は省きます。)

Model システムの中でロジックを担当。データベースとデータのやり取りを行う。

View 表示や入出力。Webブラウザに表示するHTMLを動的に生成する部分。

Controller ユーザーの入力に基づき、ModelとViewを制御する。コントローラーはクライアントから来たリクエストURLに応じて、あらかじめ設定した処理を行います。

Thymeleafとは

「タイムリーフ」と読みます。テンプレートエンジンの一つです。ThymeleafにはHTMLの他に、XMLやJavascript、CSS等があります。
/src/main/resources/templates/hello.html のようにtemplates フォルダ配下にテンプレートファイルを置いていきます。

hello.html
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8" />
        <title>Hello Thymeleaf</title>
    </head>
    <body>
        <h1 th:text="${name}"></h1>
    </body>
</html>

Controllerの記述

クラスに対して @Controller を記述することでSpringはそのクラスをControllerとして認識します。
ControllerはJavaのクラス、拡張子は.javaです。

@Controller
public class Controller {
    ...
}

ページを表示するコントローラーを作成する場合

@Controller
public class GreetingController {

    @GetMapping("/greeting")
    public String greeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
        model.addAttribute("name", name);
        return "greeting";
    }
}

※ページを表示しようとアクセスしたときにエラーが出たときは以下が間違っている場合があります。

  • コントローラーのファイル、テンプレートファイルの記述
  • ページを置く位置が間違っている
    正 /src/main/resources/templates/hello.html
    誤 /src/main/resources/templates/HomeController.java
  • プロジェクト作成時の設定
    image.png

JAR/WAR

Spring開発中にJAR,WARというワードも出てきたので書いておきます。

WAR,JARはいづれもJava関連のモジュールを「デプロイ可能な単位」に固めたもの。この形式でJBossやTomcatといったアプリケーションサーバに配置して稼働させることが可能になります。

  • JARファイル
    JARファイルはJavaのクラスファイル等をまとめて固めた資源で「.jar」の拡張子になっている。

  • WAR
    Java製のWebアプリで利用されるクラスファイル(servlet)、設定ファイル、JSPやHTMLファイル、JAR形式のライブラリがまとめられている。拡張子は「.war」。

JARファイルはJava Runtime ENvironment(JRE)がクラスと関連リソースを含むアプリケーション全体を1回のリクエストでデプロイできるようにするもの。
WARファイルはWebアプリケーションのテストとデプロイを簡単に行うことができる。

0
1
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
0
1