HTTP Status 404 – 未找到:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。

时间:2024-03-16 21:23:21

HTTP Status 404 – 未找到:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。

先post个图:HTTP Status 404 – 未找到:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
再来聊一下我是怎么搞成这样的:
我自学Javaweb,看的是一本2012年出版的书。在学到servlet的时候,根据书上教程,在位置 \WebContent\WEB-INF目录下添加了一个web.xml文件,然后就搞成了这样。HTTP Status 404 – 未找到:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
想上网搜一下怎么回事?却找不到想要的答案,于是我开始了自我探索。

探索并解决

打开你的Filter文件,你会发现用eclipse编写的Filter会自动生成一个@WebFilter,如图所示:HTTP Status 404 – 未找到:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
@WebFilter("/CountFiltler)什么意思呢?其实@WebFilter("/CountFiltler)就是web.xml文件中的Filter声明和映射,即图下代码:
HTTP Status 404 – 未找到:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
然而tomcat初始化Filter的时候,也会设置一次Filter,即@WebFilter("/CountFilter")和tomcat设置了两次Filter声明和映射,故这个过滤器会初始化两次,然后会引发异常。
去掉@WebFilter("/CountFilter")后则一切正常。