请求转发:一种在服务器内部的资源跳转方式:
步骤:
通过request对象获取请求发生器RequestDispather getRequestDispather(String path)
使用RequestDispatcher对象来进行转发:forward(ServletRequest request,ServletResponse response)
特点:
浏览器地址栏路径不发生变化
只能转发到当前的服务器内部资源中
@WebServlet("/requestDemo3")
public class requestDemo3 extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("deee....访问了");
/*
RequestDispatcher requestDispatcher = req.getRequestDispatcher("/requestDemo4");
requestDispatcher.forward(req,resp);
*/
//req.getRequestDispatcher("/requestDemo4").forward(req,resp);
req.getRequestDispatcher("http://www.itcat.com").forward(req,resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req,resp);
}
}

Request_请求共享数据
域对象:一个作用范围的对象可以用在,可以再范围呢共享数据
request域:代表一次请求的范围,一般用于请求转发的多个资源中共享数据方法︰
1. void setAttribute(string name,object obj):存储数据
2. object getAttitude(string name):通过键获取
3. void removeAttribute(string name):通过键移除键值对
package com.itheima.server; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/requestDemo3") public class requestDemo3 extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("deee....访问了"); /* RequestDispatcher requestDispatcher = req.getRequestDispatcher("/requestDemo4"); requestDispatcher.forward(req,resp); */ RequestDispatcher requestDispatcher = req.getRequestDispatcher("/requestDemo4"); requestDispatcher.forward(req,resp); req.setAttribute("msg","hello"); //req.getRequestDispatcher("/requestDemo4").forward(req,resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req,resp); } }
浙公网安备 33010602011771号