Open In App
Related Articles

getAttribute() – Passing data from Server to JSP

Like Article
Save Article
Report issue
Suppose some data at the Server side has been created and now in order to pass that information in a JSP page, there is a need of request.getAttribute() method. This, in fact differentiates the getAttribute() and getParameter() methods. The latter is used to pass Client side data to a JSP. Implementation 1) First create data at the server side and pass it to a JSP. Here a list of student objects in a servlet will be created and pass it to a JSP using setAttribute(). 2) Next, the JSP will retrieve the sent data using getAttribute(). 3) Finally, the JSP will display the data retrieved, in a tabular form. Servlet to create data and dispatch it to a JSP :
package saagnik;
import java.util.ArrayList;
import javax.servlet.*;
import javax.servlet.http.*;
public class StudentServlet extends HttpServlet {
  protected void processRequest(HttpServletRequest request,
                                HttpServletResponse response)
    throws ServletException, IOException
     try (PrintWriter out = response.getWriter()) {
       out.println("<!DOCTYPE html>");
       out.println("<title>Servlet StudentServlet</title>");
       // List to hold Student objects
       ArrayList<Student> std = new ArrayList<Student>();
       // Adding members to the list. Here we are 
       // using the parameterized constructor of 
       // class ""
       std.add(new Student("Roxy Willard", 22, "B.D.S"));
       std.add(new Student("Todd Lanz", 22, "B.Tech"));
       std.add(new Student("Varlene Lade", 21, "B.B.A"));
       std.add(new Student("Julio Fairley", 22, "B.Tech"));
       std.add(new Student("Helena Carlow", 24, "M.B.B.S"));
       // Setting the attribute of the request object
       // which will be later fetched by a JSP page
         request.setAttribute("data", std);
       // Creating a RequestDispatcher object to dispatch
       // the request the request to another resource
         RequestDispatcher rd = 
       // The request will be forwarded to the resource 
       // specified, here the resource is a JSP named,
       // "stdlist.jsp"
          rd.forward(request, response);
    /** Following methods are used to handle
        requests coming from the Http protocol request.
        Inspects method of HttpMethod type
        and if the request is a POST, the doPost() 
        method will be called or if it is a GET,
        the doGet() method will be called. 
    protected void doGet(HttpServletRequest request,
                        HttpServletResponse response)
        throws ServletException, IOException
        processRequest(request, response);
    protected void doPost(HttpServletRequest request,
                        HttpServletResponse response)
        throws ServletException, IOException
        processRequest(request, response);
    public String getServletInfo()
        return "Short description";

JSP to retrieve data sent by servlet “” and display it : stdlist.jsp
<%@page import="saagnik.Student"%>
<%@page import="java.util.ArrayList"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <title>Student List</title>
      <h1>Displaying Student List</h1>
      <table border ="1" width="500" align="center">
         <tr bgcolor="00FF7F">
          <th><b>Student Name</b></th>
          <th><b>Student Age</b></th>
          <th><b>Course Undertaken</b></th>
        <%-- Fetching the attributes of the request object
             which was previously set by the servlet 
        <%ArrayList<Student> std = 
        for(Student s:std){%>
        <%-- Arranging data in tabular form

The class
package saagnik;
public class Student {
    private int age;
    private String name;
    private String crs;
    // Parameterized Constructor to set Student
    // name, age, course enrolled in.
    public Student(String n, int a, String c)
    { = n;
        this.age = a; = c;
    // Setter Methods to set table data to be
    // displayed
    public String getName() { return name; }
    public int getAge() { return age; }
    public String getCrs() { return crs; }

Running the application 1) Run the servlet “”, which will pass student data to JSP page “stdlist.jsp”. 2) The JSP page “stdlist.jsp” retrieves the data and displays it in a tabular form. Note : Entire application has been developed and tested on NetBeans IDE 8.1 Output Displaying Student Data : stdlist.jsp Displaying Student data

Last Updated : 03 Dec, 2018
Like Article
Save Article
Share your thoughts in the comments
Similar Reads