/** * RequestDispatcher 接口具有请求转发(forward)和请求包含(include)两种方法 * 由于转发的是同一个request请求,所以可以在该请求中设置参数来传递数据 * 当前代码使用forward转发请求,由转发后的ResultServlet显示结果可知, * 请求转发forward会改变uri,queryString根据getRequestDispatcher()函数的方法而变。 * note:但是请求转发不会改变浏览器URL地址栏。 */ package cn.itcast.chapter04.request; import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; public class RequestForwardServlet extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); // 将数据存储到request对象中 request.setAttribute("company", "北京传智播客教育有限公司"); // 从request接口中获取请求调度类实例 RequestDispatcher dispatcher = request.getRequestDispatcher("/ResultServlet?p1=123"); dispatcher.forward(request, response); } public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException { doGet(request, response); } }