用注释注册的servlet 访问显示404

2021/5/25 10:55:05

本文主要是介绍用注释注册的servlet 访问显示404,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用配置文件注册servlet实现登录功能可以跳转主页,但是用注释注册servlet,访问显示404。

在这里插入图片描述

解决方案:
将web.xml中的metadata-complete属性改为false

<?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_4_0.xsd"
         version="4.0"
         metadata-complete="false">

</web-app>

metadata-complete属性的作用

在启动@webservlet注解的时候,需要配合web.xml配置文件属性才能生效,否则容易报如下访问错误:

需要将metadata-complete设置为false,或者不设该属性。

metadata-complete属性讲解
Servlet 3.0 的部署描述文件 web.xml 的顶层标签 有一个 metadata-complete 属性,该属性指定当前的部署描述文件是否是完全的。如果设置为 true,则容器在部署时将只依赖部署描述文件,忽略所有的注解(同时也会跳过 web-fragment.xml 的扫描,亦即禁用可插性支持,具体请看后文关于 可插性支持的讲解);如果不配置该属性,或者将其设置为 false,则表示启用注解支持(和可插性支持)



这篇关于用注释注册的servlet 访问显示404的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程