在intellij中创建的webapp无法访问到注解的servlet,但是能访问到index.jsp和使用web.xml配置的servlet。

目前的尝试,写两个servlet类,一个使用注解,另一个使用web.xml的配置方式,注解方式的不能被访问,但是index.jsp能访问。
分别是两个servlet的代码


import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("you are bad");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }
}


import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "Servlet",urlPatterns="/Servlet")
public class Servlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().write("you are bad");
    }


}

web.xml的配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1"
         metadata-complete="true">
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.alibaba.HelloServlet</servlet-class>
    </servlet>

<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>

</web-app>

tomcat服务器的配置

图片说明

测试的结果

图片说明
图片说明
图片说明

测试这样改
metadata-complete="false"
但是还是不行。

注解访问的方式,你去掉后面两个斜杠中的一个看看。
按理来说是一样的。
https://blog.csdn.net/qq_32224139/article/details/80213347

解决
注解中只使用一个value属性,然后字符的首字母该改为大写,因为每次访问都会自动首字母大写,不知道为什会这样。
配置的两个地方如下

@WebServlet(value = "/Servlet")

  metadata-complete="false"

图片说明

最后谢谢回答的朋友,让我又坚持了一早上,最后解决了。