Dispatcher的forward有return功能?
这个问题以前一直没有注意,也没有想到会有人这么来想,直到前两天的一次代码走查会上。
情况是这样的:由于业务需求,要加一个 Filter,在doFilter中据业务逻辑来决定跳转到具体的jsp页面,这个跳转是用RequestDispatcher的forward方法来实施的, 如果业务条件都不满足,执行一个具体的业务查询(往Session中放些数据)。
doFilter方法中的具体模拟代码如下:
if(conditionA){ dispatcher = request.getRequestDispatcher("/jspA.jsp"); dispatcher.forward(request,response); } if(conditionB){ dispatcher = request.getRequestDispatcher("/jspB.jsp"); dispatcher.forward(request,response); } //执行其它业务逻辑 putSomeDataIntoSession(request);