1、问题描述

  servlet使用注解配置,经检查无错误,如图: 

  

  tomcat正常启动,页面正常运行,当访问servlet时出现无响应的情况,控制台报错404,未访问到servlet。

  

  经检查,我的错误原因属于下边的第②种情况。

2、解决方案

打开web.xml检查web-app标签中的两个属性

①version是否大于3.0

  因为web-app标签3.0以上版本才可以使用servlet的注解的,这是必要条件。如果web-app版本低于3.0,可以去tomcat的这个路径:

  C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\ROOT\WEB-INF  找到web.xml文件,打开,检查web-app标签版本,如果大于等于3.0,直接复制一份替换原有web-app标签就好了,或者直接用我的这个web-app标签去替换,版本为3.1

<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">

②metadata-complete是否为false  

  该属性为true,则容器在部署时只依赖部署描述文件,忽略所有标注,如果不配置该属性,或者将其设置为false,则表示启动注解支持。当metadata-complete="false"时,web.xml和注解对于Servlet的影响同时起作用,两种方法定义的url-partten都可以访问到该Servlet,但是当通过web.xml定义的url-partten访问时,注解定义的属性将失效。所以如果你想用servlet注解来配置servlet的话,一定记得修改该属性为metadata-complete="false "。

Servlet中@WebServlet("XXXX")注解无效,访问servlet报404错误的更多相关文章

  1. tomcat项目迁移,无法访问,报“404”错误,原因分析

    首先,导出项目文件和MySQL数据库(项目文件直接tar&&cp:数据库直接mysqldump生成sql文件) 再,进行导入步骤,项目文件拷贝到webapps下,并赋予bin相关文件执 ...

  2. Eclipse配置tomcat后,启动tomcat,访问tomcat报404错误

    当你在Eclipse中新建一个工程,配置好tomcat,然后测试tomcat是否配置成功的时候,报404错误异常. 解决方法: 1,把工程文件删除,重新建立一个新的工程, 2,新建一个工程. 3,Ne ...

  3. eclipse下启动tomcat访问网址报404错误

    问题: 解决步骤 首先检查一遍自己tomcat的相关配置,如果无误,则继续下面的操作 1.打开server视图,双击tomcat进入编辑页面 选择其中的第二个选项,并且修改Server path中的内 ...

  4. Tomcat启动后,访问页面报404错误解决方法

    Tomcat正常启动后,出现如下情况 提供一个参考解决方法: 1.双击servers 2.把Server Locations设置为User Tomcat installation 保存后再次访问页面就 ...

  5. springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。

    springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误. 1.场景 如果在web.xml中servlet-mapping的url-pattern设置的是 ...

  6. eclipse启动tomcat 访问http://localhost:8080 报404错误

    eclipse启动tomcat 访问http://localhost:8080 报404错误 Server Locations修改后会变灰,如果需要更改设置,则需要移除与Tomcat服务器关联的项目, ...

  7. tomcat第一次使用正常启动后访问8080端口报404错误

    问题:tomcat第一次使用正常启动后访问8080端口报404错误 解决办法:双击tomcat调出tomcat的xml文件页面,Server Locations 默认是选第一行即Use Workspa ...

  8. swagger-ui中测试接口(enum传值) 报400错误

    swagger-ui中测试接口(enum传值) 报400错误 PriceRuleController: @PostMapping("/update") @ApiOperation( ...

  9. eclipse启动tomcat访问http://localhost:8080 报404错误

    eclipse正常启动tomcat,但是 访问http://localhost:8080 却报404错误 修改下配置 就好操作如下图 打开eclipse的server视图,双击配置好的那个tomcat ...

随机推荐

  1. JS特殊写法

    记录下工作中碰到的JS特殊写法 (function(index) { $('#' + id).on("change", function() { me.onChange(this, ...

  2. puppet 3+Unicorn+Nginx安装配置

    puppet 3+Unicorn+Nginx安装配置 2014-08-15 10:58 酒瓶不倒 酒瓶不倒的博客 字号:T | T 一键收藏,随时查看,分享好友! Unicorn 效率要比 Webri ...

  3. Netty入门 零基础

    因为接下来的项目要用到netty,所以就了解一下这个程序,奈何网上的教程都是稍微有点基础的,所以,就写一篇对于netty零基础的,顺便也记录一下. 先扔几个参考学习的网页: netty 官方API:  ...

  4. springboot错误1 Failed to execute goal org.springframework.boot:spring-boot-maven-plugin

    关于Springboot打包错误的问题 | Failed to execute goal org.springframework.boot:spring-boot-maven-plugin https ...

  5. SSH整合框架

    实现登录.新闻增删改查.树形菜单 引入pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi ...

  6. Java进阶知识04 Struts2的基础配置详解

    1.Struts2的原理/流程步骤 简单的理解:    1.客户端发送一个request请求,Tomcat服务器接收到的请求经过web.xml配置文件去处理,进入struts2的核心过滤器,从而进入s ...

  7. noi.ac #528 神树和排列

    题目链接:戳我 #include<iostream> #include<cstring> #include<cstdio> #include<algorith ...

  8. delphi请求http接口并上传附件

    实现附件的上传:需要使用TIdMultiPartFormDataStream控件, uses IdMultipartFormData; 例子: procedure TClientForm.Button ...

  9. Python基础之Python解释器

    当我们在编写Python代码时,我们得到的是一个包含Python代码的,以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开 ...

  10. 服务器上class文件是新的,但就是执行的老代码

    故事是这样的. 上周末回老家,n个测试和开发找我,说我写的代码哪儿哪儿不行,吓得我赶紧打开电脑,连上阿里云数据库,修改了代码,测试们拉包重新测试后,还是不行,通过看打出的日志,还是执行的修改之前的代码 ...