首页 > Java > java教程 > 如何在页面加载时从 JSP 调用 Servlet 以显示数据?

如何在页面加载时从 JSP 调用 Servlet 以显示数据?

Mary-Kate Olsen
发布: 2024-12-08 07:08:20
原创
708 人浏览过

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

如何在页面加载时从 JSP 调用 Servlet

在某些情况下,您可能需要从 JSP 文件调用 Servlet,而无需使用 HTML 表单。例如,在页面加载时在 HTML 表中显示数据库查询结果。

使用 doGet() 方法的解决方案

servlet 中的 doGet() 方法允许请求预处理并重定向到 JSP。实现方法如下:

  1. 在 Servlet 中实现 doGet():

    @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);
        }
    }
    登录后复制
  2. 访问 Servlet 中的数据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>
    登录后复制

通过这样做,JSP 文件可以访问 servlet 在其 doGet() 方法中设置的对象,从而实现动态内容生成。

阻止直接 JSP 访问

出于安全原因, JSP 文件应放置在 /WEB-INF 文件夹中,防止用户直接访问。

注意

@WebServlet 注解需要 Servlet 3.0 或更高版本。如果您使用的是旧版本,则必须在 web.xml 文件中手动注册 servlet。

参考文献

  • [Servlets Wiki 页面]( https://wiki.java.net/bin/view/Projects/Servlets)
  • [doGet 和 doPost 中Servlet](https://javarevisited.blogspot.com/2011/05/java-servlet-doget-and-dopost-method-example.html)
  • [如何避免 Java 代码JSP](https://stackoverflow.com/questions/5521006/ways-to-avoid-java-code-in-jsp-in-a-best-practice-manner)
  • [Servlet 返回“HTTP状态 404 请求的资源(/servlet)不可用"]

以上是如何在页面加载时从 JSP 调用 Servlet 以显示数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板