是否可以以编程方式从servlet内部设置请求上下文路径?

时间:2011-04-05 17:13:51

标签: java servlets

这是一个特殊情况,我在处理“企业”webapp时遇到困难。企业应用程序正在调用request.getContext()并将其与另一个字符串进行比较。

我看到我可以使用getServletContext.getContextPath()获取servlet上下文路径。是否可以从servlet内部设置请求上下文路径?

2 个答案:

答案 0 :(得分:3)

您无法设置它,但您可以借助HttpServletRequestWrapper更改其结果。

public class MyRequest extends HttpServletRequestWrapper {

    public MyRequest(HttpServletRequest request) {
        super(request);
    }

    @Override    
    public String getContextPath() {
        return "a different context path"; // TODO: implement accordingly.
    }

}

创建一个Filter,它基本上在doFilter()方法中执行以下操作,并将其映射为感兴趣的网址格式的早期过滤器。

chain.doFilter(new MyRequest((HttpServletRequest) request), response);

答案 1 :(得分:0)

,在部署应用时设置。部署后无法更改