response.sendRedirect是不工作(response.sendRedirect no

2019-06-23 10:19发布

该方法response.sendRedirect是()不是在我的计划工作。

该代码经历和成功地打印out.println("wrong user"); ,但重定向到谷歌分页不起作用。

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);
}   

任何答案?

Answer 1:

你应该return重定向后。

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

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



Answer 2:

HttpServletResponse.sendRedirect() works like this:

  • if the URL is absolute http://www.google.com , it redirects to http://www.google.com.
  • If the URL is not absolute , it redirects relative to the current URL. If the URL starts with / it redirects relative to the context root, Else it redirects to the current url

Based on above rules in your case it redirects to http://currenturl/www.google.com.

Instead modify your code like this

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


Answer 3:

试试这个

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


Answer 4:

请尝试提供的协议。

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


文章来源: response.sendRedirect not working