2012-09-14 16 views
3

일부 데이터를 보내려고하지만 컨트롤러를 찾을 수 없거나 요청을 처리 할 수없는 것처럼 보입니다.HTTP 상태 405 - HTTP 메서드 POST가이 URL에서 지원되지 않습니다.

TEST.JSP

<%@ page errorPage="exception.jsp"%> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@ page session="true" import="java.io.*,java.util.*"%> 
<%@ page import="eng.ku.sku.exceed_vote.knt.*"%> 


    <form name="AddForm" action="addtext" method="POST"> 
    <input type="hidden" name="todo" value="add"> 

Add text:<input type="text" name="text" /> 

    <input type="submit" value="Add"> 
    </form> 

web.xml의

<?xml version="1.0" encoding="ISO-8859-1"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee       

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
<servlet> 
<servlet-name>exceed</servlet-name> 
<servlet-class>eng.ku.sku.exceed_vote.knt.Controller</servlet-class> 
</servlet> 

<servlet-mapping> 
<servlet-name>exceed</servlet-name> 
<url-pattern>/addtext</url-pattern> 

Controller.java

package eng.ku.sku.exceed_vote.knt; 

import java.io.*; 
import java.util.*; 
import javax.servlet.*; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.*; 

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

    @Override 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
     doPost(request, response); // Same as doPost() 
    } 

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

     // Retrieve the current session, or create a new session if no session exists. 
     HttpSession session = request.getSession(true); 
     System.out.println("HIIEER"); 
     // Retrieve the shopping cart of the current session. 


     // For dispatching the next Page 
     String nextPage = ""; 
     String todo = request.getParameter("todo"); 

    // Dispatch to checkout.jsp 
    nextPage = "/checkout.jsp"; 

    response.sendRedirect(nextPage); 
    return; 
    } 
} 

다른 많은 주제를 읽었지만 해결책을 찾지 못했습니다. 나는 너를 도울 수 있으면 좋겠다. :)

+1

당신이 생각하는 코드를 실행하지 않는 것 같습니다. 재 구축/재배치/재시작을 시도하십시오. 그런데 왜 web.xml과 @WebServlet에 의해 서블릿 등록이 중복됩니까? 잘못된 web.xml 버전을 정렬 한 후 둘 중 하나를 사용하십시오. – BalusC

+0

무엇이 오류입니까? stacktrace를 추가 할 수 있습니까? – Chris

+1

@Chris : 이미 제목에 있습니다. 서블릿의'doPost()'가 구현되지 않았거나 메소드의 어딘가에서'super.doPost (req, res) '를 잘못 호출 할 때 웹 브라우저에서 얻을 수있는 것과 정확히 같습니다. – BalusC

답변

0

좋아, Tomcat의 설정이 잘못되었다.

프로젝트 변경 사항을 동기화하지 않았습니다.

관련 문제