java执行jsp文件_Java 在页面加载时从JSP文件调用servlet

本文介绍如何在Java中使用doGet()方法预处理请求,并将请求转发到JSP文件,以防止用户直接访问JSP。示例展示了在Servlet 3.0及以上版本中使用@WebServlet注解以及在Servlet 3.0之前版本中通过web.xml配置Servlet的方式。通过这些方法,可以确保通过Servlet控制JSP页面的访问。
摘要由CSDN通过智能技术生成

小编典典

你可以使用doGet()servlet 的方法来预处理请求并将请求转发到JSP。然后只需在链接和浏览器地址栏中指向servlet URL而不是JSP URL。

例如

@WebServlet("/products")

public class ProductsServlet extends HttpServlet {

@EJB

private ProductService productService;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

List products = productService.list();

request.setAttribute("products", products);

request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response);

}

}

...

${product.name}${product.description}${product.price}

请注意,JSP文件放置在/WEB-INF文件夹内,以防止用户无需调用servlet即可直接访问它。

还要注意,该@WebServlet功能仅在Servlet 3.0(Tomcat 7等)之后可用,另请参阅Tomcat 7的@WebServlet批注。如果你无法升级,或者由于某种原因需要使用web.xml与Servlet 3.0不兼容的,那么你需要web.xml按以下所示的旧方式手动注册Servlet,而不要使用批注:

productsServlet

com.example.ProductsServlet

productsServlet

/products

通过注解或XML正确注册servlet之后,现在你可以通过http:// localhost:8080 / context / products打开该文件,其中/contextwebapp的部署上下文路径/products是servlet的URL模式。如果你恰好在其中包含任何HTML

,则只需像这样将其POST到当前URL,然后将其添加doPost()到相同的servlet中即可执行后处理工作。继续下面的链接以获取更具体的示例。

2020-03-12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值