質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

162閲覧

spring bootのhello worldが出力される作用機序が分からない

ikigamikita

総合スコア14

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2024/04/30 05:35

編集2024/04/30 05:38

javaのspringbootについて質問です。超初心者です。
下記のサイトを参考に、helloworldをブラウザに出力するコードについて勉強していますが分からない点があります。
https://uha-blog.com/java/eclipse-spring-boot/

コントローラークラスの
public String index() {
return "index";
}
により、なぜhtmlファイルの <h1>Hello, Spring Boot!!</h1>が画面出力されるのかが分かりません。マッピングしているので、
http://localhost:8080/index
というURLがリクエストされた際に
public String index() {
return "index";
}
という関数が実行されるのはなんとなくわかりますが、この関数はString型の"index"を返すだけの関数にしか見えません。この関数がないとhellowoldとは表示されないのでしょうか?
全く分からないのでどういう理屈なのかどなたかご教示ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まず、システムはご自身が書いたものだけで動くものでは無いことを理解している必要があります。
お使いの環境では SpringBoot が動作しており、SpringBoot 上でご自身が書いたものが動作します。
Controller は SpringBoot が呼び出すものですので、 Controller が返した文字列がどう使われるのかは SpringBoot の仕様で決まっています。

参考にされているサイトには以下のような文があります

先ほどのControllerのindexメソッドで、「return "index";」としました。なので、ここではindex.htmlを作成します。

この文からは『 "index" を返すから index.html 』という関連が読み取れます。これによって「なら "index2" を返すようにしたら index2.html が必要になって、 index2.html を作ればそちらが表示されるのでは無いか?」と推測が出来ますし、実際にそれを試すことが出来ます。

投稿2024/04/30 07:09

jimbe

総合スコア12754

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikigamikita

2024/04/30 07:38 編集

ありがとうございます。 Controllerのindexメソッドについて検索して調べてみます。これは決まりきったルールというようなものでお間違いないでしょうか?
ikigamikita

2024/04/30 07:58

https://masahiroharada.github.io/spring-boot-primer/hello-world/add-controller.html#%E3%82%B3%E3%83%BC%E3%83%89%E8%A7%A3%E8%AA%ACより、下記のことが分かりました。 ありがとうございました。 「@GetMapping」や「@PostMapping」でリクエストマッピングがされたメソッドが返す文字列は、テンプレートの名前と解釈されます。 つまり、 クラスに「@Controller」を付ける。 メソッドに「@GetMapping」「@PostMapping」を付けて リクエスト URL + HTTP メソッドを紐付ける。 というのが Spring におけるルーティングのパターンです。 メソッド名に関しては Spring 側での規約はありません。Java 的に OK なメソッド名であれば任意の名前で構いません。アノテーションさえ付いていればリクエストとのマッピングが行われます。
jimbe

2024/04/30 09:38 編集

完全だと思います、お疲れさまでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問