一、RequestDispatcher接口信息
1.1、定义
一个可以将客户端的请求转发到当前服务器中其他资源(Servlet、JSP、HTML),让这些资源对请求进行响应
1.2、方法
方法一:使用forward()方法进行转发,只是用转发的那个Servlet、JSP、HTML进行响应。不能包括当前的Servlet或者是其他的Servlet的响应
forward(HttpServletRequest request,HttpServletRequest response)
方法二:使用include方法进行转发,可以包含当前的Servlet的输出流输出结果,和转发后的Servlet、JSP、HTML的响应结果
include(HttpServletRequest request,HttpServletRequest response)
二、获取RequestDispatcher方式
2.1使用HttpServletRequest获取
RequestDispatcher dispatcher = HttpServletRequest.getRequestDispatcher(资源路劲/文件名);
2.2使用ServletContext获取
RequestDispatcher dispatcher = ServletContext.getRequestDispatcher(资源路劲/文件名);
三、如何在Servlet之间共享属性
3.1使用HttpServletRequest的setAttribute和getAttribute方法
request.setAttribute("paramName",paramValue);
Object object = request.getAttribute("paramName",paramValue);
3.1使用ServletContext的setAttribute和getAttribute方法
servletContext.setAttribute("paramName",paramValue);
Object object = servletContext.getAttribute("paramName",paramValue);
4、实验
4.1由HttpServletRequest获取RequestDispatcher,通过include()方法进行转发
在浏览器中输入http://localhost:8088/request_dispatcher.html
request_dispatcher.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/request_dispatcher" method=