idea有关form表单和web.xml设置的问题

今天遇到了一个很奇怪的问题,如下

我先设置了一个默认的servlet来进行初始化给application设置了一个attr存储的是项目名称,方便后面直接取idea有关form表单和web.xml设置的问题_第1张图片

如下是我的form.jsp页面
idea有关form表单和web.xml设置的问题_第2张图片
使用el表达式${ctx}从刚刚在application设置的项目名取出
idea有关form表单和web.xml设置的问题_第3张图片
紧接着就打开这个页面并点击提交却发现404,也就是 ${ctx}并没有取出数据出来

idea有关form表单和web.xml设置的问题_第4张图片
这个问题找了半天也没有解决,最后发现是因为web.xml文件配置有问题
idea有关form表单和web.xml设置的问题_第5张图片
这个顶级标签里面有个设置
metadata-complete=“true”
在启动@webservlet注解的时候,需要配合web.xml配置文件属性才能生效
该属性指定当前的部署描述文件是否是完全的如果设置为 true,则容器在部署时将只依赖部署描述文件,忽略所有的注解(同时也会跳过 web-fragment.xml 的扫描,亦即禁用可插性支持,具体请看后文关于 可插性支持的讲解);如果不配置该属性,或者将其设置为 false,则表示启用注解支持
就是这个导致我一开始用注解写的servlet没有启用.导致问题的发生

但是目前还有一个问题,就是我把metadata-complete="true"不改为true,也就是忽略所有的注解

然后把form.jsp页面里的action变成如下所示
idea有关form表单和web.xml设置的问题_第6张图片

也就是中间加了个加号
然后当点击提交时idea有关form表单和web.xml设置的问题_第7张图片

突然发现项目名还是出现了
希望大神能给我说一说

你可能感兴趣的:(idea有关form表单和web.xml设置的问题)