みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

サーブレットの【405】POSTについて

「HTTPのGETメソッドは、このURLではサポートされていません。」のエラーが出ます。

コードは「スッキリわかるサーブレット&JSP」本の10章です。

サーブレットを右クリックで実行すると、上記のエラーが出ます。

-----------------------------------------------------------------
package servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import model.LoginLogic;
import model.User;

@WebServlet("/Login")
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// リクエストパラメータの取得
request.setCharacterEncoding("UTF-8");
//PrintWriter out = response.getWriter();
//out.println(createHTML("POST"));
//out.close();

String name = request.getParameter("name");
String pass = request.getParameter("pass");

// Userインスタンス(ユーザー情報)の生成
User user = new User(name, pass);

// ログイン処理
LoginLogic loginLogic = new LoginLogic();
boolean isLogin = loginLogic.execute(user);

// ログイン成功時の処理
if (isLogin) {
// ユーザー情報をセッションスコープに保存
HttpSession session = request.getSession();
session.setAttribute("loginUser", user);
}
// ログイン結果画面にフォワード
RequestDispatcher dispatcher =request.getRequestDispatcher("/WEB-INF/jsp/loginResult.jsp");
dispatcher.forward(request, response);
}

//private char[] createHTML(String string) {
// TODO 自動生成されたメソッド・スタブ
//return null;
//}
}
------------------------------------------------------------------------------------
ビュー
<%--つぶやきトップ画面 --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>つぶやき画面</title>
</head>
<body>
<br><br><br><p style="text-align:center"><b>ようこそ!!つぶやきアプリへ!</b></p>
<form action="Tsubuyaki/Login" method="post">
<p style="text-align:center">ユーザー名:<input type="text" name = "name"></p>
<p style="text-align:center">パスワード:<input type="text" name = "pass"></p>
<p style="text-align:center"><input type="submit" value="ログイン"></p>
</form>
</body>
</html>
------------------------------------------------------------------------------------

どこがダメかご回答願います。

投稿日時 - 2019-07-17 20:41:43

QNo.9636423

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

doGetがないからです。
つまり、このサーブレットはポストしか受け付けないからです。

投稿日時 - 2019-07-18 11:11:12

あなたにオススメの質問