如何在glassfish中实现url重定向?
我有一个在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=”中添加属性来实现这一点。如何在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=”中添加属性来实现这一点。 有人能建议如何创建这样的重
有人能建议如何创建这样的重定向吗?或者还有其他方法吗?我认为为时已晚,但这可以帮助其他人。 上周我也遇到了同样的问题,但就我而言,所有服务器都被重定向了。在本例中,我只创建一个缓存服务器过滤器。在我的例子中,我需要过滤器上的各种项目,但要仅重定向,您只需要“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.
}
}