过滤器中的Servlet前进会产生意外结果

时间:2014-03-08 00:56:24

标签: java servlets

在我的过滤器中,我想将请求从“/ a / b / c”过滤到“/index.html”,我使用:

req.getRequestDispatcher("/index.html").include(request, response);

它有效但在将请求转发给index.html后,客户端请求index.html中错误的js和css路径:

例如,它请求/a/b/c/css/bootstrap.min.css,但应该是/css/bootstrap.min.css

我想要做的只是转发请求/a/b/cindex.html,而不更改其他资源的请求路径。有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

在JSP中创建相对于Web上下文根的路径,因此它们不依赖于当前页面URL。

<c:set var="context" value="${pageContext.request.contextPath}" />
<script src="${context}/themes/js/jquery.js"></script>

另外,为什么不进行重定向而不是servlet过滤?或者可能有几个具有相同视图的控制器?