67,513
社区成员
发帖
与我相关
我的任务
分享
@Override
public RequestDispatcher getRequestDispatcher(String dest) {
type = DispatcherType.FORWARD;
return new MockRequestDispatcher(servlet,nutFilter,dest);
}
public class MockRequestDispatcher implements RequestDispatcher {
private String path;
private Filter filter;
public MockRequestDispatcher(Servlet servlet,Filter filter,String path){
this.path = path;
this.filter = filter;
}
@Override
public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException {
XiubaHttpRequest req = (XiubaHttpRequest)request;
MockHttpServletRequest mreq = (MockHttpServletRequest)req.getRequest();
int index = path.indexOf("?");
mreq.setRequestURI(path);
mreq.setPathInfo(path.substring(0, index));
filter.doFilter(request, response, new MockFilterChain());
}
@Override
public void include(ServletRequest request, ServletResponse response) throws ServletException, IOException {
}
}
RequestDispatcher dis = request.getRequestDispatcher("a.jsp");
dis.forward(request, response);
让程序跳转起来