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

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

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

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

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Spring Boot

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

Q&A

解決済

2回答

3444閲覧

Spring tool suite ログイン画面でWhitelabel Error Page

Hiroppy

総合スコア0

Java

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

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Spring Boot

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

0グッド

0クリップ

投稿2021/06/06 07:42

編集2021/06/06 12:57

ブラウザの画面500エラーの画面Spring tool suiteでWhitelabel Error Pageと表示される。
STSのコンソール
プログラミング初心者です。
SpringBootでログイン機能を実装していますが、パスワード入力画面は正しく表示されるのにもかかわらず入力して次に進もうとするとエラーが発生してしまいます。
コード
java
コード
html

発生している問題・エラーメッセージ

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sun Jun 06 16:29:01 JST 2021
There was an unexpected error (type=Internal Server Error, status=500).

Java

1LoginController.java 2 3package com.example.easylogin.controller; 4 5import java.util.List; 6 7import org.springframework.beans.factory.annotation.Autowired; 8import org.springframework.stereotype.Controller; 9import org.springframework.ui.Model; 10import org.springframework.web.bind.annotation.RequestMapping; 11import org.springframework.web.bind.annotation.RequestParam; 12import org.springframework.web.bind.annotation.ResponseBody; 13import com.example.easylogin.model.dao.UserRepository; 14import com.example.easylogin.model.entity.User; 15 16@Controller 17public class LoginController { 18 19 @Autowired 20 UserRepository userRepos; 21 22 @RequestMapping("/") 23 public String index() { 24 return "index"; 25 } 26 27 @RequestMapping("/login") 28 public String login( 29 @RequestParam("userName") String userName, 30 @RequestParam("password") String password, 31 Model m) { 32 33 String message = "Welcome! "; 34 35 List<User> users = userRepos.findByUserNameAndPassword(userName, password); 36 if (users.size() > 0 ) { 37 User user = users.get(0); 38 message += user.getFullName(); 39 } else { 40 message += "guest"; 41 } 42 43 m.addAttribute("message", message); 44 45 return "login"; 46 47 48 } 49 50 @ResponseBody 51 public String showUsers() { 52 53 List<User> users = userRepos.findAll(); 54 55 User user = users.get(0); 56 57 String info = user.getUserName() + " " + user.getPassword(); 58 59 return info ; 60 } 61

Java

1UserRepository.java 2package com.example.easylogin.model.dao; 3 4import java.util.List; 5 6import org.springframework.data.jpa.repository.JpaRepository; 7import org.springframework.stereotype.Repository; 8 9import com.example.easylogin.model.entity.User; 10 11@Repository 12public interface UserRepository extends JpaRepository<User, Long> { 13 14 List<User> findByUserNameAndPassword(String userName, String password); 15} 16

Java

1User.java 2package com.example.easylogin.model.entity; 3 4import javax.persistence.Column; 5import javax.persistence.Entity; 6import javax.persistence.GeneratedValue; 7import javax.persistence.GenerationType; 8import javax.persistence.Id; 9import javax.persistence.Table; 10 11@Entity 12@Table(name="user") 13public class User { 14 15 @Id 16 @Column(name = "id") 17 @GeneratedValue(strategy=GenerationType.IDENTITY) 18 private long id; 19 20 @Column(name = "user_name") 21 private String userName; 22 23 @Column(name = "password") 24 private String password; 25 26 @Column(name = "full_name") 27 private String fullName; 28 29 public long getId() { 30 return id; 31 } 32 33 public void setId(long id) { 34 this.id= id; 35 } 36 37 public String getUserName() { 38 return userName; 39 } 40 41 public void SetUserName(String userName) 42 { 43 this.userName = userName; 44 } 45 public String getPassword() { 46 return password; 47 } 48 public void setPassword(String password) { 49 this.password = password; 50 } 51 public String getFullName() { 52 return fullName; 53 } 54 public void setFullName(String fullName) { 55 this.fullName = fullName; 56 57 } 58} 59

html

1index.html 2<!DOCTYPE html> 3<html xmlns:th="http://www.thymeleaf.org"> 4<head> 5<meta charset="UTF-8"/> 6 <title>Insert title here</title> 7</head> 8<body> 9 10 <form name="LoginForm" action="/Login"> 11<div> 12 <span>User name</span> 13 <input type="text" name="userName" /> 14</div> 15<div> 16 <span>Password</span> 17 <input type="password" name="password" /> 18</div> 19<button type="submit">Login</button> 20</form> 21 22</body> 23</html> 24

html

1login.html 2<!DOCTYPE html> 3<html xmlns:th="http://www.thymeleaf.org"> 4<head> 5<meta charset="UTF-8"/> 6 <title>Insert title here</title> 7</head> 8<body> 9 10<p th:text="$"{message}"/> 11 12</body> 13</html> 14

試したこと

SpringBootUpで動作確認をしたところ、エラーは見られませんでした。
ログイン画面に問題は見られないので、htmlに異常はないと思われます。

補足情報(FW/ツールのバージョンなど)

使用した環境
Spring tool suite 4(Version:4.10.10)
Thymeleaf(テンプレート・エンジン)
XAMPP Control Panel v3.2.4

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

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

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

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

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

m.ts10806

2021/06/06 07:48

>Spring tool suite はあくまでツールです。 Spring自体のバージョンを提示してください。(MavenかGradleかで見る場所は変わると思います) あと、XAMPPは本件とはどう関係するのでしょう。 どのように動作確認されてますか?
m.ts10806

2021/06/06 07:49

あと「Whitelabel Error Page」は構文エラーのことが多いです(特にThymeleaf) Thymeleaf側のコードも提示し、またエラーログも確認してください。 コンソールか、エラーログファイルにエラー詳細出てると思います
Hiroppy

2021/06/06 08:12

回答ありがとうございます。 Springのバージョンは2. 3. 5でした。 Thymeleafのコードは今回作成しておりません。
m.ts10806

2021/06/06 08:41

コードはマークダウンのcode機能にてご提示ください。 質問は編集できます。 あと、他にも確認していますので応答願います。
Hiroppy

2021/06/06 09:02

新しくコードを記載いたしました。 このほかにコードは作成しておりません。 よろしくお願いします。
m.ts10806

2021/06/06 09:16

結局は「どういうURLにどういう風にアクセスしてどういう操作をしてどういうエラーが出たか」次第です。 コンソール(STSの)やエラーログに何も出てないはずがないです。
m.ts10806

2021/06/06 09:32

>Whitelabel Error Page が出ててコンソールに何も出てないのは理屈が通らないかなと。 500エラーは多岐に渡ります。 念のため、STSの画面キャプチャも追記してもらえますか? Warningレベルでも出てないのでしょうか。
Hiroppy

2021/06/06 09:55

画像を追記しました。 Warningが1つだけ出ておりました。調べたらこれは気にしなくてよいと出てきたので放置しておりました。
m.ts10806

2021/06/06 09:56

コードのマークダウン対応を。 teratail使う上では質問も回答も結構大事です。 マークダウンcode分からない場合は下記など参考に。 https://teratail.com/questions/238564
m.ts10806

2021/06/06 09:58

あと最も追記してほしい情報が追記されていません。 「どういうURLにどういう風にアクセスしてどういう操作をしてどういうエラーが出たか」 「エラーが出てない」→「WARNは出ている」 ことが分かりました。 WARNでも出ていることは出ているので、「出ないようにできないか」は検討してください。気にしなくていいかどうかは状況次第です。
m.ts10806

2021/06/06 10:44

コードのマークダウン対応を。 teratail使う上では質問も回答も結構大事です。 マークダウンcode分からない場合は下記など参考に。 https://teratail.com/questions/238564
Hiroppy

2021/06/06 10:54

すみません。回答をよく見ておりませんでした。 改めて修正いたします。
Hiroppy

2021/06/06 12:58

コードを改めて修正いたしました。マークダウン対応の意味がよく分かっておりませんでした。失礼しました。
guest

回答2

0

自己解決

<p th:text="${message}" /> の部分が間違えており、正しくページが遷移されなかったのが原因でした。訂正したら、ページが飛ぶようになりました。回答してくださった皆様、ありがとうございました。

投稿2021/06/07 12:41

Hiroppy

総合スコア0

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

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

0

formのactionに指定されている/Loginを受け付けるURLマッピングがありません。
(でも500ではなく404が出るはずなんですが・・・)

全角と半角はもちろん、大文字小文字も別のものです。
あと、URL生成の際はコンテキストパスなど環境依存の影響もあるので
ThymeleafのURL生成機能を利用してください。

html

1<form name="LoginForm" action="/Login">

html

1<form name="LoginForm" th:action="@{/Login}">

Tutorial: Using Thymeleaf (ja)#4.4 リンクURL


※下記はコードが追加される前の回答です。

Thymeleafのコードは今回作成しておりません。

「提示していない」ではなく「そもそも作ってない」なら、「作ってないから」エラーになるのでは。
コンソールやエラーログには出てるはずです。

返却値Stringで@ResponseBodyアノテーションついてなければSpringはresources/templates配下のviewファイルを探しにいきます。

投稿2021/06/06 08:45

編集2021/06/06 10:57
m.ts10806

総合スコア80875

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

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

Hiroppy

2021/06/06 09:28

回答ありがとうございます。 コンソールには一切エラーが出ません。 もう一度コードを見直してみます。
Hiroppy

2021/06/06 12:37

回答ありがとうございます。おっしゃる通りもう一度起動したところ、404のエラーが出ました。/Loginの部分をもう一度見直してみます。
m.ts10806

2021/06/06 19:48

・URLマッピングをHTMLで使う ・HTMLに入れたURLをURLマッピングに指定する どちらでも良いです。(「定義」が先なので前者であるべきですが)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問