In this tutorial you will learn about how to use the setAttribute() & getAttribute() method in servlet.

Servlet setAttribute & getAttribute method example
In this tutorial you will learn about how to use the setAttribute() & getAttribute() method in servlet.
In the example given below I want to carry some information from one servlet to another servlet. For this solution first I created two servlet in one of which I used the setAttribute() method to set the value which I have to carry on an another servlet. In the other servlet I have used the getAttribute() method which will fetch the value set in the first servlet using setAttribute() method. These methods can be used with ServletConfig, HttpSession, ServletRequest etc. references.
Syntax :
setAttribute("String str", Object obj);
Value in setAttribute() method is set in the key-value pair as the value is set in Map. The first argument is a string which act as a 'key' value and the second argument is an Object type variable which act as 'value' of that 'key'.
getAttribute("String str");
getAttribute() method fetches the value set in setAttribute() method. Argument of this method is act as a 'key' which contains the value and the variable should be the same as of the first argument of setAttribute() method.
Example :
loginSetAttribute.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Login Page</title> </head> <body> <form method="get" action="SetAttributeExample"> <p>Give the following details</p> Name <input type="text" name="name"/><br> <input type="submit" value="submit"/> </form> </body> </html>
SetAttributeExample.java
package roseindia.setAttribute;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/SetAttributeExample")
public class SetAttributeExample extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String name= request.getParameter("name");
request.setAttribute("Name", name);
ServletContext context= getServletContext();
RequestDispatcher rd= context.getRequestDispatcher("/GetAttributeExample");
rd.forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}
GetAttributeExample.java
package roseindia.setAttribute;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/GetAttributeExample")
public class GetAttributeExample extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out= response.getWriter();
if(request.getAttribute("Name").equals("bipul"))
{
out.println("Valid user");
}
else
{
out.println("Invalid user");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}
Output :
When you will execute the above example you will get the output as :

When you will enter the value in the textfield "bipul" because I have manually fix the value the output will be as :

After that when you will click on submit button you will get the output as :
If you will enter the value in textfield other than the "bipul" you will get the output as :
