Search code examples
javajspservletselresultset

Passing ResultSet from Servlet to JSP


I want to pass result set from Servlet to JSP page and have its value there in my JSP page.

Here is the code of the Servlet:

protected void doPost (HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException
{
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    PrintWriter out = response.getWriter();
    Data select = new Data(username,password);
    try {
        Boolean result = select.Select(username, password);
        if (result) {
            ResultSet rset=select.SelectAll(username,password);
            request.setAttribute("user",rset);
            getServletConfig().getServletContext()
                    .getRequestDispatcher("/dashboard.jsp")
                    .forward(request,response);

        } else
            out.print("Please check your username and password");        
    } catch (Exception e) {
        out.print("There seems to be a exception" + e);
    }
}

The two function called here returns boolean value and ResultSet values respectively Select function returns boolean value where as SelectAll returns ResultSet.

My JSP code looks like this:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Username: <c:out value="$(user.username)"/> <br/>
Email:    <c:out value="$(user.email)"/>    <br/>
Contact:  <c:out value="$(user.contact)"/>  <br/>

Solution

  • To proceed with the resultset initialize the object User, that should have getters and setters

    ResultSet rset=select.SelectAll(username,password);
    if (rset.next()){
      User user = new User();
      user.setUsername(rset.get("username"));
      user.setEmail(rset.get("email"));
      user.setContact(rset.get("contact"));
      request.setAttribute("user",user);
      getServletContext().getRequestDispatcher("/dashboard.jsp")
                        .forward(request,response);
    }