Home > Java > javaTutorial > How to Call a Servlet from a JSP on Page Load to Display Data?

How to Call a Servlet from a JSP on Page Load to Display Data?

Mary-Kate Olsen
Release: 2024-12-08 07:08:20
Original
729 people have browsed it

How to Call a Servlet from a JSP on Page Load to Display Data?

How to Call a Servlet from JSP on Page Load

In certain scenarios, you may need to invoke a servlet from a JSP file without using an HTML form. For instance, to display database query results in an HTML table upon page load.

Solution Using doGet() Method

The doGet() method in a servlet allows for request preprocessing and redirection to the JSP. Here's how you can implement this:

  1. Implement doGet() in Servlet:

    @WebServlet("/products")
    public class ProductsServlet extends HttpServlet {
        ...
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            ...
            request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response);
        }
    }
    Copy after login
  2. Access Servlet Data in JSP:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    ...
    <table>
        <c:forEach items="${products}" var="product">
            <tr>
                <td>${product.name}</td>
                <td>${product.description}</td>
                <td>${product.price}</td>
            </tr>
        </c:forEach>
    </table>
    Copy after login

By doing this, the JSP file can access the objects set by the servlet in its doGet() method, enabling dynamic content generation.

Preventing Direct JSP Access

For security reasons, the JSP file should be placed within the /WEB-INF folder, preventing direct access by users.

Note

The @WebServlet annotation requires Servlet 3.0 or higher. If you're using an older version, you must register the servlet manually in the web.xml file.

References

  • [Servlets Wiki Page](https://wiki.java.net/bin/view/Projects/Servlets)
  • [doGet and doPost in Servlets](https://javarevisited.blogspot.com/2011/05/java-servlet-doget-and-dopost-method-example.html)
  • [How to avoid Java code in JSP](https://stackoverflow.com/questions/5521006/ways-to-avoid-java-code-in-jsp-in-a-best-practice-manner)
  • [Servlet returns "HTTP Status 404 The requested resource (/servlet) is not available"]

The above is the detailed content of How to Call a Servlet from a JSP on Page Load to Display Data?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template