eclipuseでJavaの勉強をしています。以下のコードを単独で実行すると
//sample6_05.htmlはeclipseの実行で正常に動作して、ブラウザにURL http:localhost:8080/sampleServelet/sample6_05.html と打ち込んで正常に送信できる状態です。Contextのパスはpath=sampleServeletに変更してあります。
次にサーブレットのコード//SampleServlet.javaを作り実行しているんですが、
「あなたは,「" + str + "」とかきました。」と表示したいのですが、エラーが出てしまいます。
コードは間違っていないと思うのですが、どうしてでしょうか。
SampleServlet.javaのwarファイルをEclipseのエクスポートで作り、
C:\Users\nakamura\Desktop に保存して、Tomcatのwebappsにコピーしています。
HTTPステータス 405 - Method Not Allowed
エラーメッセージ:
Type ステータスレポート
メッセージ HTTPのGETメソッドは、このURLではサポートされていません。
説明 The method received in the request-line is known by the origin server but not supported by the target resource.
Apache Tomcat/9.0.7
教えてください。
//sample6_05.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>テキスト入力</title> </head> <body> <h1>フォーム送信</h1> <form action="sample6_05" method="post"> 入力 :<input type="text" size="20" name="text1"> <input type="submit" value="送信"> </form> </body> </html> //SampleServlet.java package sample; import java.io.IOException; import java.io.PrintWriter; 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("/sample") public class SampleServlet extends HttpServlet { private static final long serialVersionUID = 1L; public SampleServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doGet(request,response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html,;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); String str = request.getParameter("text1"); out.println("<html><body"); out.println("<h1>あなたは,「" + str + "」とかきました。</h1>"); out.println("</html></body"); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/05/07 13:15
2018/05/07 13:30
2018/05/07 13:38
退会済みユーザー
2018/05/07 13:45
2018/05/07 13:50
退会済みユーザー
2018/05/07 14:23