【问题标题】:HTTP method GET is not supported by this URL with simple servlet此 URL 不支持带有简单 servlet 的 HTTP 方法 GET
【发布时间】:2016-05-25 18:56:37
【问题描述】:

我从 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>

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

【问题讨论】:

    标签: eclipse tomcat jakarta-ee servlet-filters


    【解决方案1】:

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

    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())
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      我想你可能没有像这样在表单属性上添加 GAT 方法

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

      【讨论】:

      • 我没有表格我想直接在浏览器中写网址
      猜你喜欢
      • 2016-07-18
      • 1970-01-01
      • 2014-10-12
      • 2013-11-14
      • 1970-01-01
      • 2014-01-16
      相关资源
      最近更新 更多