一、getRequestDispatcher()
getRequestDispatcher()包含两个方法,分别是请求转发和请求包含。
- 请求转发:req.getRequestDispatcher("/WEBINF/view/loge.jsp").forward(req,resp);
- 请求包含:req.getRequestDispatcher("/WEB-INF/view/loge.jsp")include(req,resp);
- 请求转发:由下一个Servlet完成响应体!当前Servlet可以设置响应头
- 请求包含:由两个Servlet共同完成响应体
无论是请求转发还是请求包含,都在一个请求范围内!使用同一个request和response
二request域
同一个请求范围内使用request.setAttribute()和request.getAttribute()来传值!前一个Servlet调用setAttribute()保存值,后一个Servlet调用getAttribute()获取值;
第一种方法
servlet中传递值
String s= "数据";
request.setAttribute( "value",s);
request.getRequestDispatcher( "网址/jsp页面 ").forward(request,response);
jsp中获取值
<%
String ss =(String)request.getAttribute( "value");
%>
第二种方法
servlet中传递值
String s="测试"
ServletContext sc=getServletContext();
sc.setAttribute("value", s);
jsp中获取值
<% String ss=(String)application.getAttribute("value"); %>