如何在页面加载时从 JSP 调用 Servlet
在某些情况下,您可能需要从 JSP 文件调用 Servlet,而无需使用 HTML 表单。例如,要在页面加载时在 HTML 表中显示数据库查询结果。
使用 doGet() 方法的解决方案
servlet 中的 doGet() 方法允许请求预处理并重定向到 JSP。实现方法如下:
在 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); } }
在JSP中访问Servlet数据:
...
${product.name} | ${product.description} | ${product.price} |
通过这样做,JSP 文件可以访问 servlet 在其 doGet() 方法中设置的对象,从而实现动态内容生成。
防止直接 JSP 访问
出于安全原因,JSP 文件应放置在 /WEB-INF 文件夹中,防止直接访问users.
注意
@WebServlet注释需要Servlet 3.0或更高版本。如果您使用的是旧版本,则必须在 web.xml 文件中手动注册 servlet。
参考文献
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3