我需要在 Tomcat 服务器上进行以下服务器端重定向或转发: URL http://portal.customer_name需要重命名/重定向为http://portal.customer_name/customer_name。所以简而言之,一个没有上下文路径的 url 将被重定向到具有上下文路径的相同 url。我设法通过过滤器做到这一点,使用 request.getRequestDispatcher().forward(request, response); 但是这似乎不适用于阀门。
到目前为止,我得到了以下信息:
public void invoke(Request request, Response response) throws IOException, ServletException {
String context = getForwardpath(request);
request.getRequestDispatcher(context).forward(request, response);
this.getNext().invoke(request, response);
}
private String getForwardpath(Request rq){
String context = rq.getServletContext().getContextPath();
/.../
return context;
}
我部署了一些似乎接收原始 url 但不接收重定向的 servlet。是否可以像这样进行服务器端重定向。请注意,我需要的是阀门,而不是过滤器。