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

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

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

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

受付中

Request method 'POST' not supported リクエストメソッド「POST」はサポートされていません

rikuym_14
rikuym_14

総合スコア0

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0回答

0評価

1クリップ

169閲覧

投稿2022/06/18 16:37

スプリング解体新書(6章)を使って勉強をしているのですが、ユーザー登録画面の入力内容をログ出力したいのですがRequest method 'POST' not supportedというエラーが出てしまいます。
イメージ説明
サンプル資料と見比べてもコードで間違ってるところが見当たりません。
色々検索して試してみましたが変わらずエラーが出てしまいます。
何が悪いのか教えて頂きたいです。

1. UserApplicationService.java

package com.example.demo.application.service; import java.util.LinkedHashMap; import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.stereotype.Service; @Service public class UserApplicationService { @Autowired private MessageSource messageSource; /** 性別のMapを生成する */ public Map<String, Integer> getGenderMap(Locale locale) { Map<String, Integer> genderMap = new LinkedHashMap<>(); String male = messageSource.getMessage("male", null, locale); String female = messageSource.getMessage("female", null, locale); genderMap.put(male, 1); genderMap.put(female, 2); return genderMap; } }

2. LoginController.java

package com.example.demo.contoroller.java; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class LoginController { /** ログイン画面を表示 */ @GetMapping("/login") public String getLogin() { return "login/login"; } }

**3.SignupController.java **

package com.example.demo.contoroller.java; import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import com.example.demo.application.service.UserApplicationService; import com.example.demo.form.SignupForm; import lombok.extern.slf4j.Slf4j; @Controller @RequestMapping("/user") @Slf4j public class SignupController { @Autowired private UserApplicationService userApplicationService; /** ユーザー登録画面を表示 */ @GetMapping("/signup") public String getSignup(Model model, Locale locale, @ModelAttribute SignupForm form) { // 性別を取得 Map<String, Integer> genderMap = userApplicationService.getGenderMap(locale); model.addAttribute("genderMap", genderMap); // ユーザー登録画面に遷移 return "user/signup"; } /** ユーザー登録処理 */ @PostMapping("/signup") public String postSignup(@ModelAttribute SignupForm form) { log.info(form.toString()); // ログイン画面にリダイレクト return "redirect:/login"; } }

4. SignupForm.java

package com.example.demo.form; import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import lombok.Data; @Data public class SignupForm { private String userId; private String password; private String userName; @DateTimeFormat(pattern = "yyyy/MM/dd") private Date birthday; private Integer age; private Integer gender; }

5. signup.html

<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"></meta> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- CSS読込 --> <link rel="stylesheet" th:href="@{/webjars/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/css/user/signup.css}"> <!-- JS読込 --> <script th:src="@{/webjars/jquery/jquery.min.js}" defer></script> <script th:src="@{/webjars/bootstrap/js/bootstrap.min.js}" defer></script> <title th:text="#{user.signup.title}"></title> </head> <body class="bg-light"> <form id="signup-form" method="post" action="/user/signup" class="form-signup" th:object="${signupForm}"> <h1 class="text-center" th:text="#{user.signup.title}"></h1> <!-- ユーザーID --> <div class="form-group"> <label for="userId" th:text="#{userId}"></label> <input type="text" class="form-control" th:field="*{userId}"/> </div> <!-- パスワード --> <div class="form-group"> <label for="password" th:text="#{password}"></label> <input type="text" class="form-control" th:field="*{password}"/> </div> <!-- ユーザー名 --> <div class="form-group"> <label for="userName" th:text="#{userName}"></label> <input type="text" class="form-control" th:field="*{userName}"/> </div> <!-- 誕生日 --> <div class="form-group"> <label for="birthday" th:text="#{birthday}"></label> <input type="text" class="form-control" placeholder="yyyy/MM/dd" th:field="*{birthday}"/> </div> <!-- 年齢 --> <div class="form-group"> <label for="age" th:text="#{age}"></label> <input type="text" class="form-control" th:field="*{age}"/> </div> <!-- 性別 --> <div class="form-group"> <div th:each="item : ${genderMap}" class="form-check-inline"> <input type="radio" class="form-check-input" th:value="${item.value}" th:field="*{gender}"/> <label class="form-check-label" th:text="${item.key}"></label> </div> </div> <!-- 登録ボタン --> <input type="submit" th:value="#{user.signup.btn}" class="btn btn-primary w-100 mt-3" /> </form> </body> </html>

よろしくお願いします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

ho-ta-te

2022/06/19 09:02

どのようなURLを入力して実行すればよいでしょうか? 提示されたソースで環境構築し、試しに以下の手順で実行してみましたが再現しませんでした。 ①http://localhost:8080/signup.html で実行 ②適当に入力して送信ボタンをクリック ③404 NOT FUND ちなみに、ログ自体は出力されましたが値の受け渡しができていないようでした。 SignupForm(userId=null, password=null, userName=null, birthday=null, age=null, gender=null)

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。