filter对servlet无效

用的注释,这是servlet名字

@WebServlet("/ListServlet")

这是过滤器的注释

@WebFilter(urlPatterns = { "/MyFilter" }, servletNames = { "ListServlet" })

这个过滤器能对index.jsp起作用,或者用/*。但单独写这个ListServlet就是不行。

"ListServlet","/ListServlet" 无论怎么改都试过了

慕粉4241372
浏览 2120回答 1
1回答

慕粉4241372

真是天坑啊!!琢磨了一个下午+晚上,终于被我搞明白了myeclipse在web3.0下默认生成的只有一个标签@WebServlet("/ListServlet"),这个标签虽然没写名字,但它就是url-patter,在其他servlet或者jsp中可以直接使用这个字段引用。但是filter中, @WebFilter(servletNames = { "MyServlet" })这里,填入的是servlet的<name>的值!所以如果想要filter有效果,必须手动在servlet上的注释中添加一个《name》标签,例如@WebServlet(urlPatterns ="/MyServlet",name="MyServlet"),然后在filter中@WebFilter(servletNames = { "MyServlet" })使用才有效!!!真坑啊!!!!一下午都块疯了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java