2016-06-28 1 views
0

servletjsp 페이지가 있습니다. jsp 페이지에는 최종 사용자가 작성하는 양식이 들어 있습니다. 양식이 게시물의 방법을 가지고 있기 때문에Tomcat 8 : HTTP 상태 405 - HTTP 메서드 GET이 URL에서 지원되지 않습니다.

<html> 
<head> 
    <title>Please log in to your profile</title> 
</head> 
<body> 
    <form action="${pageContext.request.contextPath}/login_servlet" method="post"> 
     Email: <input type="text" size="5" name="email"/> 
     &nbsp;&nbsp; 
     Password: <input type="text" size="5" name="password"/> 
     &nbsp;&nbsp; 
     <input type="submit" value="Sign In" /> 
    </form> 
    </body> 
</html> 

나는 그 서블릿에 doPost() 방법을 사용합니다. 서블릿에서 매개 변수를 가져 와서 콘솔로 출력 할 수 있습니다.

@WebServlet("/login_servlet") 
public class LoginServlet extends HttpServlet { 

    @Override 
    public void doPost(HttpServletRequest req, 
      HttpServletResponse resp) throws ServletException, IOException { 

     String email = req.getParameter("email"); 
     String password = req.getParameter("password"); 

     System.out.println("Email: " + email); 
     System.out.println("Password: " + password); 
    } 
} 

은 내가이 오류가 http://localhost:8080/StudentPortal/login_servlet있는 URL을 방문하려고 할 때; HTTP Status 405 - HTTP method GET is not supported by this URL "설명 된 HTTP 메서드는 요청한 리소스에 대해 허용되지 않습니다."

더 이상 질문을하지 않으려 고합니다. 그래서 이것이 중복으로 표시되기 전에 제발, 나는 당신이 비슷한 질문을 보았고 아무런 도움이되지 않은 조언을 따라 왔음을 알기 바란다.

Spring 프로젝트에 곧 참여하기 때문에 서블릿을 배워야합니다.

+0

Google은 이러한 해결책을 다룰 수 있도록 조언을 따른 유사한 질문에 링크를 제공해주십시오. –

+0

'doGet()'메소드가 없다. 서블릿의 경로를 주소창에 직접 입력하면 Tomcat과 같은 웹 컨테이너는'doGet()'메소드를 호출하려고 시도 할 것이다. – Mihir

+0

@Mihir'doGet()'메서드에서 무엇을 가져야합니까? 지금 당장 나는 그것을 doPost()라고 불렀다. 'doPost (req, resp)'. – TheRealRave

답변

0

URL을 방문하면 get 방법을 사용하고 있습니다. 서블릿에서 doPost 메소드 만 선언했습니다. 다른 http 방법을 사용하려면 크롬에 우편 배달 확장을 사용하십시오.

* 당신의 JSP 페이지에 직접 액세스 해보십시오 : 당신은 또한 거기에서 JSP 페이지로 리디렉션 서블릿에 doGet 방법을 추가하고 호출 할 수 있습니다 * localhost:8080/StudentPortal/pathToYourJspPage

: 위해 response.sendRedirect (위치) 또는 request.getRequestDispatcher를 (위치를) .forward (요청, 응답)

+0

하지만 내선 번호를 다운로드해야하는 이유는 무엇입니까? 확실히 그것은 내 코드에 문제가있을 것입니다. – TheRealRave

+0

글쎄, 서블릿이 아닌 JSP 페이지로 직접 가야한다. 'http : // localhost : 8080/StudentPortal/login_servlet'을 통해 서블릿에 들어갑니다. http : // localhost : 8080/StudentPortal/pathToYourJspPage – mrserfr

+0

이 URL을 사용해보십시오. 'home.jsp'를 가지고 있다고 가정 해 봅시다.'home/profile/activity'와 같은 것을 접근하려고 할 때 문제가되지 않습니까? – TheRealRave