response.sendRedirect无效

时间:2012-04-05 04:28:57

标签: jsp jdbc response

方法response.sendRedirect()在我的程序中无效。

代码经过并成功打印out.println("wrong user");,但重定向到google分页不起作用。

String id="java";

try 
{
    query = "select Id from Users where Id= ?";
    ps  =Database.getConnection().prepareStatement(query);
    ps.setString(1, id);
    rs  =   ps.executeQuery();

    if(rs.next())
    {
        out.println(rs.getString(1));
    }
    else 
    {
        out.println("wrong user");
        response.sendRedirect("www.google.com");
    }
    rs.close();
}
catch(Exception e)
{
    //e.printStackTrace();
    System.out.print(e);
}   

有什么答案吗?

4 个答案:

答案 0 :(得分:15)

重定向后您应该return

response.sendRedirect("http://www.google.com");
return;

调用sendRedirect()后,它不会自动返回。

答案 1 :(得分:4)

HttpServletResponse.sendRedirect()的工作方式如下:

  • 如果网址为绝对http://www.google.com,则会重定向到http://www.google.com
  • 如果网址不是绝对网址,则会相对于当前网址重定向。 如果URL以/开头,则相对于上下文根重定向, 否则,它会重定向到当前网址

基于上述规则in your case it redirects to http://currenturl/www.google.com

而是像这样修改您的代码

response.sendRedirect("http://www.google.com");
return;

答案 2 :(得分:1)

试试这个

<% response.sendRedirect("http://www.google.com/"); %>

答案 3 :(得分:-1)

尝试提供协议。

response.sendRedirect("http://www.google.com");
return;