2
我使用吉斯SERVET的正常工作创建一个servlet:添加过滤器吉斯的servlet
protected Injector getInjector() {
return Guice.createInjector(new ServletModule() {
protected void configureServlets() {
bind(MyService.class).to(MyServiceImpl.class);
serve("/myservlet").with(MyServlet.class);
}
});
}
我的servlet是这样的:
@Inject
private MyService myService;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().print(myService.hello("John Doe").toString());
}
现在我想要一个过滤器添加到它像事情:
bind(MyService.class).to(MyServiceImpl.class);
filter("/*").through(MyFilter.class);
serve("/myservlet").with(MyServlet.class);
我的过滤器看起来是这样的:
@Singleton public class MyFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException { }
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("Yeah");
}
public void destroy() { }
}
只要我添加过滤器,servlet就不会再被调用。
当我删除过滤器时,servlet再次工作。
我在做什么错?
你的过滤代码是怎么样的? –
@Singleton 公共类MyFilter实现过滤{ 公共无效的init(一个FilterConfig一个FilterConfig)抛出的ServletException { } 公共无效的doFilter(ServletRequest中的servletRequest,ServletResponse的ServletResponse的,FilterChain filterChain)抛出IOException异常,的ServletException { System.out的。的println( “是”); } public void destroy(){ } } – javapenguin