在使用注释来配置servlet时,出现了405错误

在使用注释来配置servlet时,出现了405错误。代码如下:

package _02_annoservlet;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;

@WebServlet("/anno")
public class AnnoServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        System.out.println("注解配置更简单");
    }

}

错误显示如下:
这里写图片描述

想了一下,访问servlet没有去访问我自定义的http文件,那么哪里来的http提交格式错误呢?这应该是http的response相应给浏览器的错误信息。

原来,在servlet中少写了service方法,当我的servlet被访问时,就会先创建servlet对象,然后执行init初始化方法,再执行service方法,这是一个必经的过程。

改正后代码:

package _02_annoservlet;

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/anno")
public class AnnoServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        System.out.println("注解配置更简单");
    }

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("anno的service");
    }
}

版权声明:本文为qq_28588839原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。