如何在glassfish中实现url重定向?

如何在glassfish中实现url重定向?,glassfish,url-redirection,Glassfish,Url Redirection,我有一个在GlassFish3服务器上运行的应用程序。我需要将任何访问我的应用程序的用户重定向到另一个url。对于ex-abc.def.com:8080/abc/index.html到xyz.def.com:8080/abc/index.html,我尝试通过在Glassfish配置服务器配置>编辑虚拟服务器>添加属性名称=重定向_1 value=“from=abc.def.com:8080/abc/index.html url prefix=”中添加属性来实现这一点。 有人能建议如何创建这样的重

我有一个在GlassFish3服务器上运行的应用程序。我需要将任何访问我的应用程序的用户重定向到另一个url。对于ex-abc.def.com:8080/abc/index.html到xyz.def.com:8080/abc/index.html,我尝试通过在Glassfish配置服务器配置>编辑虚拟服务器>添加属性名称=重定向_1 value=“from=abc.def.com:8080/abc/index.html url prefix=”中添加属性来实现这一点。
有人能建议如何创建这样的重定向吗?或者还有其他方法吗?

我认为为时已晚,但这可以帮助其他人。 上周我也遇到了同样的问题,但就我而言,所有服务器都被重定向了。在本例中,我只创建一个缓存服务器过滤器。在我的例子中,我需要过滤器上的各种项目,但要仅重定向,您只需要“SC_永久移动”块。。。这是我的代码:

 @WebFilter("/faces/*")
public class CacheFilter implements Filter, Serializable {
  @Override
  public void init(FilterConfig config) throws ServletException{
    System.out.println("Cache Filter initated");
  }
  private boolean useFilter = false;
  private boolean useCache = false;
  @Override
  public void doFilter(final ServletRequest req, final ServletResponse res, final FilterChain chain) throws IOException, ServletException{
    final HttpServletRequest request = (HttpServletRequest)req;
    final HttpServletResponse response = (HttpServletResponse)res;
    if(!useCache){
      response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
      response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
      response.setDateHeader("Expires", 0); // Proxies.
    }
    final HttpSession session = request.getSession(true);// don't create if it doesn't exist
    System.out.println("session is " + session);
    if(session!=null&&!session.isNew()){
      chain.doFilter(request, response);
    }else{
      String url = "/"+Server.AMBIENTE.getName()+"/faces/prod/index.xhtml";
      System.out.println("url: " + url);
      boolean redirect = false;
      System.out.println("requested url: " + request.getRequestURI());
      if(!request.getRequestURI().equals(url) && redirect){
        //System.out.println("SEND REDIRECT");
        //response.sendRedirect(url);
        System.out.println("SEND REDIRECT TO ANOTHER SITE");
        response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
        response.setHeader("Location", "http://www.google.com.br/");
      }else{
        chain.doFilter(request, response);
      }
    }
//        } catch (final Exception ex) {
//            response.sendRedirect(request.getContextPath() + "/server/v4/template/expirated.xhtml");
//        }catch(final Throwable ex){
//            System.out.println("");
//        }
//        }
  }
  @Override
  public void destroy(){
    // If you have assigned any expensive resources as field of
    // this Filter class, then you could clean/close them here.
  }
}