开发者社区> 问答> 正文

servlet之间的通信方法有哪些?如何具体实现?

最好能给个示例。 如何从将一个HTTP请求从一个servlet发送到另一个servlet. 如何使用forware()以及include()方法?

展开
收起
小黄鸭哈哈哈 2021-09-28 15:59:02 408 0
1 条回答
写回答
取消 提交回答
  • 转发请求的例子 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String operation = request.getParameter("operation"); if (operation == null) { operation = "unknown"; } String address; if (operation.equals("order")) { address = "/WEB-INF/Order.jsp"; } else if (operation.equals("cancel")) { address = "/WEB-INF/Cancel.jsp"; } else { address = "/WEB-INF/UnknownOperation.jsp"; } RequestDispatcher dispatcher = request.getRequestDispatcher(address); dispatcher.forward(request, response); } 差别:使用sendRedirect时 – 用户可以看到JSP的URL(使用 RequestDispatcher.forward时用户只能看到servlet的 URL) – 客户程序要经过两次往返(而forward只需一次) • sendRedirect的优点 – 用户可以单独访问JSP页面 • 用户能够保存JSP页面的地址 • sendRedirect的缺点 – 由于用户可以在不首先经过servlet的情况下访问JSP页 面,所以,JSP页面所需的数据有可能不存在。 • 因此,JSP页面需要编写代码检查这种情况。

    2021-09-28 20:36:21
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
从“连接”到“交互” 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载