1. 转发
1.1 什么是请求的转发
- 请求的转发,是指服务器收到请求后,从一个服务器端资源跳转到同一个服务器端另外一个资源的操作
1.2 转发的操作步骤
- 首先要有两个的Servlet
- 第一步: 设置转发的目标Servlet路径
//设置Servlet01转发的路径 目标Servlet02的请求地址是 servlet02
RequestDispatcher rd = req.getRequestDispatcher("servlet02");
- 第二步:执行转发操作
//执行转发操作 rd>>>RequestDispatcher
rd.forward(req, resp);
1.3 请求的转发示例
-
项目文件目录结构
-
Servlet01.java
package com.lchh.servlet;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class Servlet01 extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("servlet01 doGet");
//Servlet01获取浏览器发出的请求参数
String username = req.getParameter("username");
System.out.println("servlet01 username="+username);
//设置Servlet01要转发给Servlet02的参数
req.setAttribute("key01", "123456");
//设置Servlet01转发的路径
RequestDispatcher rd = req.getRequestDispatcher("servlet02");
//执行转发操作
rd.forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPost");
}
}
- Servlet02.java