File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Servlets and the fly likes sendRedirect with passing some values. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "sendRedirect with passing some values." Watch "sendRedirect with passing some values." New topic

sendRedirect with passing some values.

Vinoth Thirunavukarasu
Ranch Hand

Joined: Dec 18, 2008
Posts: 164

I'm using a servlet to check whether the userName and password are exist if it is false I have to redirect to the login page with some message like "Invalid user name or password".
Now I used session.setAttribute("error",msg);
Is there any other way to pass error message to login page.

Java Best Practices
Linux Best Practices
Amortization Calculator

Bauke Scholtz
Ranch Hand

Joined: Oct 08, 2006
Posts: 2458
You can use a request parameter for that. You can just do a forward instead of redirect.
Steve Luke

Joined: Jan 28, 2003
Posts: 4181

You can pass the error to the next page as a url parameter:
String url = "/login?error="+URLEncoder.encode("Invalid Username or Password", "UTF-8");
The URLEncoder is needed to encode spaces so they don't break the URL.

A way to make passing the parameter easier is to store the possible errors in a central location with a lookup table. You would use a basic lookup value (like an integer) as a key for the lookup value, which simplifies the URL from:

Here is an example below. Note that I don't have the webapp where I used this with me and I haven't done servlet/jsp programming in a few months so I am likely making mistakes, so take it as a guideline.

Central store for the error messages

Somewhere early in the webapp, like a context listener

In the Servlet that detects the error and does the forward

In the JSP that displays the login form:

[ December 19, 2008: Message edited by: Steve Luke ]

Knaresh Gupta

Joined: Nov 22, 2008
Posts: 5
Hello you can simple write the HTML Code in else part like this
out.println("<li><i>we con't find the username/password provided by you</i></li>");

it simply display the message in browser and automatically come back.
I agree. Here's the link:
subject: sendRedirect with passing some values.
It's not a secret anymore!