请求转发:一种在服务器内部的资源跳转方式:
步骤:
通过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); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)