с просьбой использовать GET в сервлете, где я использовал только метод POST - PullRequest
0 голосов
/ 07 июня 2018

Это мой HTML-код

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>New Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
        <form method="post" action="display">

Я использовал выше метод POST для действия сервлета

            Enter Name: <input type="text" name="name">
            Enter City <input type="text" name="city">
            <input type="submit" name="submit">
        </form>        
    </body>
</html>

Servlet1.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class servlet1 extends HttpServlet {
    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException 

используется " doPost " для метода POST, определенного в html-форме

    {
        response.setContentType("text/html");

        Cookie c1 = new Cookie("name",request.getParameter("name"));
        Cookie c2 = new Cookie("city",request.getParameter("city"));

        response.addCookie(c1);
        response.addCookie(c2);

, перенаправляющего на 2-й сервлетчерез эту форму

        response.sendRedirect("servlet2");

    }
}

servlet2.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class servlet2 extends HttpServlet {

    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse 
    response) throws ServletException, IOException 

Я получаю сообщение об ошибке " Метод HTTP GET не поддерживаетсяэтот URL", однако я нигде не упомянул GET в своем коде.

    {
        response.setContentType("text/html");

        Cookie c[] = request.getCookies();
        PrintWriter pw = response.getWriter();

        for(Cookie cookie : c)
        {
            if(cookie.getName().equals("name") || 
cookie.getName().equals("city"))
            {
                pw.println(cookie.getValue()+"<br>");
            }
        }
        pw.println("Print using cookie");
    }
}

сервлет прекрасно работает, если я использую метод" doGET"в servlet2.java.Однако я использую метод POST , а затем , почему он требует "doGET" ??

Я получаю приведенную ниже ошибку для приведенного выше кода.HTTP Status 405 - HTTP метод GET не поддерживается этим 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.

Apache Tomcat/7.0.56
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...