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 :