我正在尝试使用过滤器来映射请求。我试图这样做有两个原因,首先是动态生成URI并将它们映射到适当的servlet,然后捕获未注册的URI并适当地处理它们。
所以我使用了一个catch-all过滤器来处理URI并确定响应。我想要一些修改过滤器链的方法,或者某种方式来设置响应来自过滤器内的请求的servlet。我使用filterConfig.getServletContext().getRequestDispatcher().forward()
发送到jsp是不成功的,理想情况下我想映射到servlet但无法弄清楚如何。
我没有在servlet中执行此操作的原因是我有一些在web.xml中修复的URI,如果我使用catch-all servlet,则这些URI不会被映射。这可能吗,它是干净的还是会变得非常混乱?
答案 0 :(得分:2)
我认为这不是正确的做法。
如果你看一下web MVC框架的作用,他们就有一个前端控制器servlet,它将URL映射到控制器,控制器本身可以接受HTTP请求并返回HTTP响应。我认为这是一个值得模仿的设计,而不是你的过滤器创意。