【发布时间】:2011-06-29 04:47:55
【问题描述】:
我正在玩弄嵌入式 Jetty,我想知道为什么我的过滤器只拦截 /hi 而没有任何其他传入请求。这是我的示例:
没有过滤器:
localhost:8080/hi
=> "Hello"
localhost:8080/foo
=> 404
带过滤器:
localhost:8080/hi
=> "Hello from filter"
localhost:8080/foo
=> 404
我希望最后一个 404 返回“来自过滤器的你好”。我错过了什么?
Server server=new Server(8080);
ServletContextHandler context=
new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.addFilter(DispatchFilter.class,"/*",1);
context.addServlet(HelloServlet.class,"/hi");
server.setHandler(context);
server.start();
server.join();
为了进一步澄清,我的示例只是对我想要做的事情的简化表示。我的意图是让DispatchFilter 拦截每个请求。如果某个条件不满足,那么它应该继续,否则返回从请求路径派生的东西。
【问题讨论】:
-
页面被移动或删除时经常会返回404错误。
-
@Suresh:我知道 404 错误意味着什么。这不适用于我的问题。
标签: java servlets jetty servlet-filters