这是一个特殊情况,我在处理“企业”webapp时遇到困难。企业应用程序正在调用request.getContext()
并将其与另一个字符串进行比较。
我看到我可以使用getServletContext.getContextPath()获取servlet上下文路径。是否可以从servlet内部设置请求上下文路径?
答案 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)
否,在部署应用时设置。部署后无法更改