此 URL 不支持带有简单 servlet 的 HTTP 方法 GET

Posted

技术标签:

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

我从 2 天以来一直在尝试解决这个问题,在 *** 上的许多帖子中都有相同的问题标题,但它们完全不同,因为它们总是在代码中出现错误,但就我而言,我有一个示例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>

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

【问题讨论】:

【参考方案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>

【讨论】:

我没有表格我想直接在浏览器中写网址

以上是关于此 URL 不支持带有简单 servlet 的 HTTP 方法 GET的主要内容,如果未能解决你的问题,请参考以下文章

HTTP 状态 405 - 此 URL java servlet 不支持 HTTP 方法 POST [重复]

Servlet 错误:HTTP 状态 405 - 此 URL 不支持 HTTP 方法 GET [重复]

此 URL Java servlet 不支持 HTTP 方法 POST

HTTP 状态 405 - 此 URL 不支持 HTTP 方法 GET [重复]

HTTP 状态 405 - 此 URL 不支持 HTTP 方法 GET

此 URL 不支持 HTTP 方法 GET - 没有打印到控制台