The method response.sendRedirect() is not working in my program.
The code go through and sucessfully print out.println("wrong user");
, but the redirect to the google paged doesn't work.
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);
}
Any answers?
You should return
after redirecting.
response.sendRedirect("http://www.google.com");
return;
It does not return automatically after calling sendRedirect().
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;
Try this
<% response.sendRedirect("http://www.google.com/"); %>
Try providing the protocol.
response.sendRedirect("http://www.google.com");
return;