大家:
我正在使用jsf来完成我的工作。现在我想过滤一些请求,所以我需要在我的过滤器中获取真实的请求网址。
但我不知道如何获取真实的请求网址,例如,有一个" commandlink"在我的test.xhtml页面中有一个action ="#{backBean.test},现在我想过滤方法测试,我怎么才能实现它?
我试图用HttpServletRequest获取请求URL,但我刚刚得到了" test.xhtml"和faild得到测试方法...
以下代码是我的过滤器的一部分:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;
String reqUrl = req.getRequestURI();
String willFilterUrl = reqUrl.substring(reqUrl.lastIndexOf("/") + 1, reqUrl.length());
String contextPath = req.getContextPath();
if("order_confirm.xhtml".equals(willFilterUrl)) {
resp.sendRedirect(contextPath + "/pause_1.xhtml");
return;
}
chain.doFilter(req, resp);
}
非常感谢!