java - JSP重定向到不同的URL

标签 java jsp

在我的应用程序中,用户可以订阅不同的俱乐部,例如 child 俱乐部、青年俱乐部、成人俱乐部和老年人俱乐部。现在,假设如果用户已经在 2012 年 10 月 7 日订阅了 child 俱乐部,并且如果他在 2012 年 11 月 2 日再次尝试订阅同一俱乐部“ child 俱乐部”,那么我们会尝试将该用户重定向到另一个俱乐部,例如青年俱乐部或成人俱乐部或老年俱乐部。每个俱乐部都有自己的域名,例如(例如)

Kid club = kidclub.google.mobi
Youth Club = youthclub.yahoo.mobi
Adult Club=adult.godaddy.mobi
Elderly Club = elderly.google.mobi

以下是重定向的示例代码,但这不是重定向到不同的域 URL。是因为sendRedirect()方法吗?这个应用程序中没有使用Servlet。 Apache Tomcat 服务器中仅使用 JSP 和 MySQL 数据库,请尽快提出建议。

 void doRedirect(HttpServletResponse response, String url)
    {
    try 
    {
    response.sendRedirect(url);
    }
    catch (Exception e) 
    {
    e.printStackTrace()
    }
    }

    void redirectReturningUser( HttpServletRequest request, HttpServletResponse
    response, ClubDomain currentDomain )
    {
    String redirectToUrl = currentDomain.getDefaultUrl();

    if( "kidclub.google.mobi".equals( currentDomain.getDefaultUrl() ) )
    redirectToUrl = "youthclub.yahoo.mobi";
    else if( "adult.godaddy.mobi".equals( currentDomain.getDefaultUrl() ) )
    redirectToUrl = "kidclub.google.mobi";
    else if( "youthclub.yahoo.mobi".equals( currentDomain.getDefaultUrl() ) )
    redirectToUrl = "adult.godaddy.mobi";
    else if( "adult.godaddy.mobi".equals( currentDomain.getDefaultUrl() ) )
    redirectToUrl = "elderly.google.mobi";
    else if( "elderly.google.mobi".equals( currentDomain.getDefaultUrl() ) )
    redirectToUrl = "adult.godaddy.mobi";

    doRedirect(response, "http://"+redirectToUrl );
    }

提前致谢

最佳答案

response.sendRedirect(url); 适用于相对(不带 http:)和绝对 URL,因此问题一定出在其他地方。

最常见的问题原因是其他一些代码已经开始使用 getOutputStream()getWriter() 将输出写入响应:一旦第一个byte 以这种方式写入,将生成 HTTP header (其中包含重定向信息)并将其发送到浏览器。

因此您应该查看catalina.out,因为可能调用了e.printStackTrace()

您可能还想检查 currentDomain.getDefaultUrl() 返回的内容;也许上面的 if 根本不匹配。

关于java - JSP重定向到不同的URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13310593/

相关文章:

java - 为什么父类的字段在其他类中使用时具有空值(Java/apache sling)

具有多个复选框 "All of the above"选项的 Java/HTML 表单

html - 我如何在html中包含jsp页面?

java - 使用open smpp 3.4发送短信

java - 在 Java 中将 ANSI 字符转换为 UTF-8

java - Jboss jsp 问题 <> 运算符对于低于 1.7 的源级别是不允许的

jsp - 在jsp中的div中包含外部网站

javascript - jquery 动态创建 iframe 并将这些 iframe 填充到特定的 div

java - Hibernate 5.4.4 中的 StandardQueryCache 替代方案是什么

java - 如何使用 opencsv 构建(工作)自定义转换器