这是配置了web.xml之后
因为都是自动生成的注解,所以web.xml都是手动敲上去的,很费神。
没有配置之前,我所有的servlet都显示404,然后配置一个,生效一个。
我试过了 metadate-complete=“true”,修改为false
这个是该属性指定当前的部署描述文件是否是完全的。如果设置为 true,则容器在部署时将只依赖部署描述文件,忽略所有的注解(同时也会跳过 web-fragment.xml 的扫描,亦即禁用可插性支持,具体请看后文关于 可插性支持的讲解);如果不配置该属性,或者将其设置为 false,则表示启用注解支持(和可插性支持)。
我试过了,把这些配置都删了,然后设置为false,但是servlet还是显示404
----------------------------------------------------------------------------------------------------------------------------------
今天想起来,配了servlet的那个项目,一开始新建的时候,自动配的jre1.5,然后我手动build的jre1.8。因为servlet是需要jdk1.6+。我就考虑到是不是编译等级没有改,所以注解不生效。
氮素
我的pom里清清楚楚的写着编译等级改成了1.8
fact里也确实表明了是1.8.陷入沉思。
----------------------------------------------------------------------------------------------------------------------------------
新建了一个项目,
依然是jre-1.5
所以我去setting.xml里改了默认的jdk设置
我的profie标签里是这么写的
<id>jdk-1.4</id>
<activation>
<jdk>1.4</jdk>
</activation>
<repositories>
<repository>
<id>jdk14</id>
<name>Repository for JDK 1.4 builds</name>
<url>http://www.myhost.com/maven/jdk14</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
不太懂,是不是说明默认jdk是1.4?
然后我改成了这个
- <profile>
- <id>jdk18</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- <jdk>1.8</jdk>
- </activation>
- <properties>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
- </properties>
- </profile>
保存,刷新项目。没有变化
重新打开保存,重启eclipse,刷新,1.5,重建项目,1.5
恢复了setting.xml
新建项目buildpath-library-jre1.5(remov) and library(defult)
pom.xml里加编译插件。
然后再写servlet。
失败
-------------------------------------------------------------------------------------------------------------------------------
因为明天要用项目,我暂时妥协
使用web.xml一一配置。
--------------------------------------------------------------------------------------------------------------------------
问题出在
tomcat的version版本太低
直接删掉,然后运行的时候系统直接从私服下载最新版本,就可以识别注解了