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;
}
}
다른 많은 주제를 읽었지만 해결책을 찾지 못했습니다. 나는 너를 도울 수 있으면 좋겠다. :)
당신이 생각하는 코드를 실행하지 않는 것 같습니다. 재 구축/재배치/재시작을 시도하십시오. 그런데 왜 web.xml과 @WebServlet에 의해 서블릿 등록이 중복됩니까? 잘못된 web.xml 버전을 정렬 한 후 둘 중 하나를 사용하십시오. – BalusC
무엇이 오류입니까? stacktrace를 추가 할 수 있습니까? – Chris
@Chris : 이미 제목에 있습니다. 서블릿의'doPost()'가 구현되지 않았거나 메소드의 어딘가에서'super.doPost (req, res) '를 잘못 호출 할 때 웹 브라우저에서 얻을 수있는 것과 정확히 같습니다. – BalusC