最好能给个示例。 如何从将一个HTTP请求从一个servlet发送到另一个servlet. 如何使用forware()以及include()方法?
转发请求的例子 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页面需要编写代码检查这种情况。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。