JSP 响应,sendRedirect无法工作

2guxujil  于 2023-01-03  发布在  其他
关注(0)|答案(4)|浏览(157)

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

有答案吗?

mqkwyuun

mqkwyuun1#

重定向后您应该return

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

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

qlfbtfca

qlfbtfca2#

HttpServletResponse.sendRedirect()的工作原理如下:

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

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

改为如下修改代码

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

o7jaxewo3#

试试这个

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

mgdq6dx14#

尝试提供协议。

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

相关问题