前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >javaweb-servlet中request请求转发

javaweb-servlet中request请求转发

作者头像
吃猫的鱼Code
发布2023-02-02 10:56:26
5210
发布2023-02-02 10:56:26
举报

servlet中request请求转发

请求转发是一种在服务器内部的资源跳转方式

1.通过request对象获取请求转发器对象 : RequestDispatcher getRequestDispatcher(String path) 2.使用RequestDispatcher对象来进行转发: forward(ServletRequest request, ServletResponse response)

下面是一个转发例子:

//例子一:
req.getRequestDispatcher("/此处填写需要转发的路径").forward(ServletRequest request, ServletResponse response)
//forward后面将当前的request和response传递过去

//例子二:
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/requestDemo6");
requestDispatcher.forward(request,response);

在request转发请求的时候, 注意: 浏览器地址栏路径不发生变化; 只能转发到当前服务器内部资源中; 转发是一次请求;

request.setAttribute("name",value);
//在转发路径的地方前面加上述的代码,可以实现转发数据共享,这样就可以在转发后的页面接受转发的数据

//在转发页面,可以使用request.getAttribute()接受上一个页面转发的数据
//例如
String name = request.getAttribute("name");
//如此做就可以接受到name这个键值

完整实例代码

/httpServlet09

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setAttribute("name", "fish9");//转发数据
        req.getRequestDispatcher("/httpServlet10").forward(req, resp);
    }

/httpServlet10

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String name = (String) req.getAttribute("name");//接受数据
        System.out.println(name);//输出转入过来的数据
        System.out.println("httpServlet10");
    }

本文共 261 个字数,平均阅读时长 ≈ 1分钟

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • servlet中request请求转发
  • 完整实例代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档