我可以打电话
request.getRequestDispatcher("/new/url").include(request, response);
它确实转到了正确的servlet,但是 request.getPathInfo() , request.getServletPath() 而且朋友没有被设置为新的URL(他们仍然有旧的值),所以servlet不工作。
request.getPathInfo()
request.getServletPath()
是的,应该是这样的(来自javadoc,注意Adeel Ansari引用javadoc forward() 方法而不是 include()
forward()
include()
ServletResponse对象的path元素和参数与调用方的保持不变。
但是,包含的servlet可以使用以下名称作为请求属性访问自己的路径信息:
javax.servlet.include.request_-uri javax.servlet.include.context路径 javax.servlet.include.servlet路径 javax.servlet.include.path_信息