.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

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

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

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

開発環境の構築

イントラ・プロシキ環境下で無い。

ダウンロードとインストール

32bitと64bitがあるので揃えること。

JDK

  • ここからJDK最新版(ココの時点では8u144)のインストーラーをダウンロードする。
    jdk-8u144-windows-x64.exe
  • ダブルクリックしてデフォルトでインストールする。
  • 最後、[次のステップ]は無視してOK。閉じる。

Eclipse

  • ここからEclipse最新版(ココの時点ではOxygen)のインストーラーをダウンロードする。
    eclipse-inst-win64.exe
  • ダブルクリックしてデフォルトでインストールする。
    • Eclipse IDE for Java EE Developersを選択する。
    • 最後、LAUNCHを押下してEclipseを起動する。

STS(Spring Tool Suite)

  • この手順では、Eclipseの[Menu]の[Help] -> [Eclipse MarketPlace?]からインストールする。
  • 表示されたダイアログのFindに「STS」と入力し、STS(Spring Tool Suite)を表示する。
  • Installボタンを押下してインストールする。
    • すべての機能をインストールする。
    • ライセンス条項に同意する。
STSの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)が返ったら、ひとまず、プロジェクトは実行できたことになる。
RunAsSpringBootApp

プロジェクトの実装

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

  • 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>

Spring MVCを実行する。

実行

  • Project Explorerでプロジェクトを選択した状態で、[Menu]の[Run]を選択する。
    (二回目以降は[Run As]ではなく[Run]を押下する。)
  • プロジェクトが起動したら、「http://localhost:8090/」にアクセスする。
  • 以下の画面が返ったら、Spring MVCは実行できたことになる。
RunAsSpringMVC

Debug実行

Debug実行をする場合は、

  • 必要に応じてブレークポイントを設定した後、
  • [Menu]の[Debug]を押下してDebug実行を開始する。

その他のトピック

名前空間の追加

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

例外

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

・・・

参考

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

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


添付ファイル: fileRunAsSpringMVC.png 34件 [詳細] fileRunAsSpringBootApp.png 32件 [詳細] fileINS_STS.png 31件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-09-26 (火) 10:23:49 (384d)