-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_TryJava
-
TOP > Java
- Javaを書いてみる。
- Java有償化について調べてみた。
OAuth2、OIDCのID Federation(連携)コードを書くために、
- Javaの開発環境を構築して
- Spring MVCをチョロっと書いてみる。
ASP.NET MVCが解っていれば、それほど難しくないと思う。
- イントラ・プロキシ環境下で無い。
- 32bitと64bitがあるので揃えること。
2018年9月より Oracle Java は有償(Java有償化について調べてみた。)となったため、
同等の機能を持つ AdoptOpenJDK をインストール
- Java8のLTS版で、hotspotを選択する。
(Java有償化について調べてみた。の該当節を参照)
移行メモ(正誤): 元ページの「イントラ・プロシキ」「Oracke Java」
「Adopt Open JDK」は、それぞれ「プロキシ」「Oracle Java」「AdoptOpenJDK」
の誤記のため修正した。補足(最新化): AdoptOpenJDK は 2021年に Eclipse Foundation へ移管され、
現在は Eclipse Temurin(Adoptium)という名称になっている。
- この手順では、Eclipseの[Menu]の[Help] -> [Eclipse MarketPlace]からインストールする。
- 表示されたダイアログのFindに「STS」と入力し、STS(Spring Tool Suite)を表示する。
- Installボタンを押下してインストールする。
- すべての機能をインストールする。
- ライセンス条項に同意する。

-
最後にEclipseを再起動する。
-
なお、起動後に、推奨されるビュー(Perspective)を、[Menu]の[Window]から、
- [Perspective] -> [Open Perspective] -> [Java]
- [Perspective] -> [Open Perspective] -> [Other...] -> [Spring]
と、選択すると使用し易い。
-
Eclipseの[Menu]の[File] -> [New] -> [Project]を選択する。
-
表示されたdialogで[Spring Boot] -> [Spring Starter Project]を選択し[Next]を押下する。
-
NameとPackageを適当にリネーム(demo から test1 などに変更する)し[Next]を押下する。
-
必要な依存関係を追加(Web、Securityを追加)し[Finish]を押下する。
-
Project Explorerに移動して application.properties の設定を行う。
-
port番号8080を他が使用している場合、port番号8090などに変更する。
server.port = 8090 -
Spring SecurityではデフォルトでBasic認証がかかるので、アカウントを設定する。
security.user.name=hoge security.user.password=hoge
-
- Project Explorerでプロジェクトを選択した状態で、
- [Menu]の[Run] -> [Run as] -> [Spring Boot App]を選択する。
- プロジェクトが起動したら、http://localhost:8090/ にアクセスする。
- 基本認証を要求されたら、hoge:hoge を入力する。
- 以下の画面(404)が返ったら、ひとまず、プロジェクトは実行できたことになる。

-
pom.xml(Apache Maven ≒ NuGetの設定ファイル)を
ダブルクリックして開き、Dependenciesタグの各属性に入力してOKを押下する。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
-
なお、parentにdefaultバージョンの設定がない場合は、
dependencyの中に、versionを設定する必要がある。
- Project Explorerで App.java(Test1Application.java) を右クリックし、
- [New] -> [Class]を選択し、表示されたdialogの[Name]に「HeloController」と入力し[Finish]を押下する。
- HeloControllerクラスが生成されるので以下のように修正する。
- @Controllerというアノテーションを付与する。
- indexメソッドを定義して、
- RequestMappingアノテーションを追加してRoutingを設定する。
- @PathVariable、@RequestParamで、Requestと引数とのBindingを定義する。
- ビューに対する引数になるModelAndViewを定義する(outパラメタ)。
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;
}
}- Project Explorerで[\test1\src\main\resources\templates]を右クリックし、
- [New] -> [Other...]を選択し、表示されたdialogの[Web] -> [HTML File]を選択し[Next]を押下する。
- 表示されたdialogの[File name]に「index.html」と入力し[Next]を押下する。
- 最後に、[New HTML File (5)] を選択し、[Finish]を押下する。
- 生成されたファイルを以下のように修正し、Modelの値を表示する。
<!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>- Project Explorerでプロジェクトを選択した状態で、[Menu]の[Run]を選択する。
(二回目以降は[Run As]ではなく[Run]を押下する。) - プロジェクトが起動したら、「http://localhost:8090/」にアクセスする。
- 以下の画面が返ったら、Spring MVCは実行できたことになる。

Debug実行をする場合は、
- 必要に応じてブレークポイントを設定した後、
- [Menu]の[Debug]を押下してDebug実行を開始する。
- 赤波線が表示された場合、赤波線にフォーカスして import が表示されたらそれを選択。
- 名前空間をインポートできない場合は pom.xml に依存関係を追加する。
- groupId(必須)
- artifactId(必須)
- version(推奨バージョンがない場合に必須)
- チェックされた例外(throws キーワード)
移行メモ: 元ページでは「例外」の 2 項目め以降と「・・・」の項が
空のまま書きかけになっている。
https://msdn.microsoft.com/ja-jp/library/ms228602.aspx
- 概要
https://msdn.microsoft.com/ja-jp/library/ms228361.aspx - ソース ファイルの名前付け規則
https://msdn.microsoft.com/ja-jp/library/ms228500.aspx - データ型
https://msdn.microsoft.com/ja-jp/library/ms228360.aspx - 演算子
https://msdn.microsoft.com/ja-jp/library/ms228601.aspx - 配列
https://msdn.microsoft.com/ja-jp/library/ms228389.aspx - 構造体
https://msdn.microsoft.com/ja-jp/library/ms228600.aspx - 例外
https://msdn.microsoft.com/ja-jp/library/ms228505.aspx - フロー制御
https://msdn.microsoft.com/ja-jp/library/ms228393.aspx - ループ ステートメント
https://msdn.microsoft.com/ja-jp/library/ms228598.aspx - Main () およびその他のメソッド
https://msdn.microsoft.com/ja-jp/library/ms228506.aspx - 不特定の数のパラメータの使用
https://msdn.microsoft.com/ja-jp/library/ms228391.aspx - クラスの基本事項
https://msdn.microsoft.com/ja-jp/library/ms228632.aspx - プロパティ
https://msdn.microsoft.com/ja-jp/library/ms228386.aspx - 継承と派生クラス
https://msdn.microsoft.com/ja-jp/library/ms228387.aspx - イベント
https://msdn.microsoft.com/ja-jp/library/ms228499.aspx - 演算子のオーバーロード
https://msdn.microsoft.com/ja-jp/library/ms228498.aspx - C# の高度な手法
https://msdn.microsoft.com/ja-jp/library/ms228395.aspx - ガベージ コレクション
https://msdn.microsoft.com/ja-jp/library/ms228629.aspx - 安全なコードと安全でないコード
https://msdn.microsoft.com/ja-jp/library/ms228628.aspx
Tags: 移行, Java, OSS, 開発基盤
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。