エンドユーザーからフォームを通じて入力を取得しようとしています。私はjsp
を使ってフォームを作った。HTTPステータス405 - HTTPメソッドGETは、jspを使用している場合、このURLではサポートされていません
<!DOCTYPE html>
<html lang="en">
<head>
<title>Welcome</title>
</head>
<body>
<form action="welcome" method="post">
<input type="text" value="username" />
<input type="text" value="password" />
<input type="submit" value="login" />
</form>
</body>
</html>
のwelcome.jspユーザが入力することを情報は、それがコンソールに出力されますサーブレットに行きます。
MyApp.java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/welcome")
public class MyApp extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher("/WEB-INF/welcome.jsp").forward(req, resp);
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println("Name: " + name);
System.out.println("Password: " + password);
}
}
web.xmlの
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1"
>
<servlet>
<servlet-name>MyApp</servlet-name>
<servlet-class>main.com.myfirstapp.MyApp</servlet-class>
</servlet>
</web-app>
私は、サーバー上の私のプログラムを実行するとき、私は私の問題が発生しました。いいえがあるので、あなたが@Annotationを使用しているので、これは私がすでに同じ問題に苦しんでいる
HTTP Status 405 - HTTP method GET is not supported by this URL
type: Status report
message: HTTP method GET is not supported by this URL
description: The specified HTTP method is not allowed for the requested resource.
のようになります。または、私のIDEで* rightclickサーブレットクラスのようなことをやったのですか?サーバー上で実行されるオプションを選択しますか?orso?ブラウザのアドレスバーのURLはどういう意味ですか?これは、HTMLフォームを含むJSPのものか、 'doGet()'メソッドをまったく持たないサーブレットのものですか?あなたは以前の質問の重複してリンクされているインスタンスのhttp://stackoverflow.com/q/2349633を読んでいますか? – BalusC
フォームで、特にアクションでは "/"で始まらないようにしてください。注釈にはすでにスラッシュが付いています。 – PacMan
@BalusCはい私はMyApp.javaで右クリックしました - >サーバー上で実行しました。ブラウザのURLは 'http:// localhost:8080/MyFirstApp/welcome'です。私もその質問を読んで、私の質問を更新しました。私はまだ後にも同じエラーが発生しています。 – TheRealRave