此URL使用简单的servlet不支持HTTP方法GET

时间:2016-02-15 00:10:47

标签: eclipse tomcat java-ee servlet-filters

我试图解决这个问题,因为2天,在stackoverflow上的许多帖子都有相同的问题标题,但它们都不同,因为它们总是在代码中出错,但在我的情况下,我有一个示例servlet,当我运行项目时,我收到此错误

  

HTTP状态405 - 此URL不支持HTTP方法GET    这是我的类servlet

    package web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Controller extends HttpServlet{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Override
    public void init() throws ServletException {

    }

    @Override
    protected void doGet(HttpServletRequest requet, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");
        PrintWriter out =response.getWriter();
        out.println("hello");
    }

}

和我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>test2</display-name>
  <servlet>
    <servlet-name>cs</servlet-name>
    <servlet-class>web.Controller</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>cs</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>

请告诉我如何解决这个问题,谢谢......

2 个答案:

答案 0 :(得分:0)

简单的doGet Servlet或者你可以添加try catch blog来调试代码

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


public class logout extends HttpServlet 
{
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException 
    {

        try
        {
            PrintWriter out=response.getWriter();
            response.setContentType("text/html;charset=UTF-8");
            out.println("Hello");
        }

        catch(Exception e)
        {
            out.println(e.toString())
        }
    }
}

答案 1 :(得分:-1)

我想你可能还没有在表单属性上添加GAT方法,比如这个

<form action="web" method="GET"></form>