Skip to content

DNET_TryJava

nishi_74322014 edited this page Aug 3, 2026 · 1 revision

Javaを書いてみる。

概要

OAuth2、OIDCのID Federation(連携)コードを書くために、

  • Javaの開発環境を構築して
  • Spring MVCをチョロっと書いてみる

ASP.NET MVCが解っていれば、それほど難しくないと思う。

開発環境の構築

前提条件:

  • イントラ・プロシキ環境下で無い
  • 32bitと64bitがあるので揃えること

JDK

2018年9月よりOracke Javaは有償となったため、同等の機能を持つAdopt Open JDKをインストール

Javaの統合開発環境

STS(Spring Tool Suite)

Spring Framework開発用のEclipseプラグイン

インストール手順

  1. Eclipseの[Menu]の[Help] → [Eclipse MarketPlace]を選択
  2. 表示されたダイアログのFindに「STS」と入力
  3. STS(Spring Tool Suite)を表示
  4. Installボタンを押下
    • すべての機能をインストールする
    • ライセンス条項に同意する
  5. 最後にEclipseを再起動する

推奨ビュー(Perspective)の設定

起動後に、[Menu]の[Window]から、

  • [Perspective] → [Open Perspective] → [Java]
  • [Perspective] → [Open Perspective] → [Other...] → [Spring]

と、選択すると使用し易い。

プロジェクトの開発

プロジェクトの作成

  1. Eclipseの[Menu]の[File] → [New] → [Project]を選択
  2. 表示されたdialogで[Spring Boot] → [Spring Starter Project]を選択し[Next]を押下
  3. NameとPackageを適当にリネーム(demoからtest1などに変更する)し[Next]を押下
  4. 必要な依存関係を追加(Web、Securityを追加)し[Finish]を押下

設定

Project Explorerに移動してapplication.propertiesの設定を行う。

  • ポート番号の変更

    • port番号8080を他が使用している場合、port番号8090などに変更する
    server.port = 8090
  • Basic認証のアカウント設定

    • Spring SecurityではデフォルトでBasic認証がかかるので、アカウントを設定する
    security.user.name=hoge
    security.user.password=hoge

プロジェクトの実行

  1. Project Explorerでプロジェクトを選択した状態で、
  2. [Menu]の[Run] → [Run as] → [Spring Boot App]を選択
  3. プロジェクトが起動したら、http://localhost:8090/ にアクセス
  4. 基本認証を要求されたら、hoge:hogeを入力
  5. 以下の画面(404)が返ったら、ひとまず、プロジェクトは実行できたことになる

プロジェクトの実装

テンプレート・エンジンの参照を追加する

pom.xml(Apache Maven≒NuGetの設定ファイル)をダブルクリックして開き、Dependenciesタグに以下を追加:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

※ parentにdefaultバージョンの設定がない場合は、dependencyの中に、versionを設定する必要がある。

コントローラーを作成する

  1. Project ExplorerでApp.java(Test1Application.java)を右クリック
  2. [New] → [Class]を選択
  3. 表示されたdialogの[Name]に「HeloController」と入力し[Finish]を押下
  4. HeloControllerクラスが生成されるので以下のように修正

実装例:

package com.example.test1;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HeloController {
    
    @RequestMapping(value="/", method=RequestMethod.GET)
    public ModelAndView index(ModelAndView mav) {
        mav.setViewName("index");
        mav.addObject("msg","お名前を書いて送信してください。");
        return mav;
    }
    
    @RequestMapping(value="/", method=RequestMethod.POST)
    public ModelAndView send(@RequestParam("text1")String str, ModelAndView mav) {
        mav.addObject("msg","こんにちは、" + str + "さん!");
        mav.addObject("value",str);
        mav.setViewName("index");
        return mav;
    }
}

ポイント:

  • @Controllerアノテーションでコントローラーを定義
  • @RequestMappingでルーティングを設定
  • @PathVariable, @RequestParamでRequestと引数とのBindingを定義
  • ビューに対する引数になるModelAndViewを定義(outパラメタ)

テンプレート(ビュー的なモノ)を作成する

  1. Project Explorerで[\test1\src\main\resources\templates]を右クリック
  2. [New] → [Other...]を選択
  3. 表示されたdialogの[Web] → [HTML File]を選択し[Next]を押下
  4. [File name]に「index.html」と入力し[Next]を押下
  5. [New HTML File (5)]を選択し、[Finish]を押下
  6. 生成されたファイルを以下のように修正

実装例:

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>top page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <style>
    h1 { font-size:18pt; font-weight:bold; color:gray; }
    body { font-size:13pt; color:gray; margin:5px 25px; }
    </style>
</head>
<body>
    <h1>Helo page</h1>
    <p th:text="${msg}">please wait...</p>
    <form method="post" action="/">
        <input type="text" name="text1" th:value="${value}" />
        <input type="submit" value="Click" />
    </form>
</body>
</html>

Spring MVCを実行する

実行

  1. Project Explorerでプロジェクトを選択した状態で、[Menu]の[Run]を選択
    • 二回目以降は[Run As]ではなく[Run]を押下
  2. プロジェクトが起動したら、http://localhost:8090/ にアクセス
  3. 画面が表示されたら、Spring MVCは実行できたことになる

Debug実行

Debug実行をする場合は、

  1. 必要に応じてブレークポイントを設定
  2. [Menu]の[Debug]を押下してDebug実行を開始

その他のトピック

名前空間の追加

  • 赤波線が表示された場合、赤波線にフォーカスしてimportが表示されたらそれを選択
  • 名前空間をインポートできない場合はpom.xmlに依存関係を追加する
    • groupId(必須)
    • artifactId(必須)
    • version(推奨バージョンがない場合に必須)

例外

  • チェックされた例外(throws キーワード)
  • 非チェック例外(RuntimeException派生)

参考

Java 開発者のための C# プログラミング言語

MSDNの対比ドキュメント:https://msdn.microsoft.com/ja-jp/library/ms228602.aspx

主要トピック:


Tags: 移行, Java, Spring, 開発環境

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally