栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

请求转发解决方案

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

请求转发解决方案

请求转发解决方案 1. 工作原理

工作原理:用户第一次通过手动方式要求浏览器访问 OneServlet,OneServlet工作完毕后,通过当前的“请求对象”代替浏览器向 Tomcat 发送请求,申请调用 TwoServlet,Tomcat 在接收到这个请求之后,自动调用 TwoServlet 来完成剩余的任务。

2. 实现命令

OneServlet 类

package org.example;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class OneServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("OneServlet 实施麻醉 ......");
        // 1. 通过当前“请求对象”生成资源文件申请报告对象
        RequestDispatcher report = req.getRequestDispatcher("/two");
        // 2. 将报告对象发送给 Tomcat
        report.forward(req, resp);
    }
}

TwoServlet 类

package org.example;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TwoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
        System.out.println("TwoServlet 实施包皮手术 ......");
    }
}
3. 优点
  1. 无论本次请求涉及到多少个 Servlet,用户只需要手动通过浏览器发送一次请求。
  2. Servlet 之间调用发生在服务端计算机上,节省了服务端与浏览器之间往返的次数,增加了处理服务的速度。
4. 特征
  1. 请求次数

    在请求转发的过程中,浏览器只发送一次请求。

  2. 请求地址

    只能向 Tomcat 服务器申请调用当前网站下的资源文件地址。

    req.getRequestDispatcher("/资源文件名") // 不要写网站名
    
  3. 请求方式

    在请求转发过程中,浏览器只发送了一个 HTTP 请求协议包,参加本次请求的所有 Servlet 共享同一个请求协议包,因此,这些 Servlet 接收的请求方式与浏览器发送的请求方式保持一致。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/961795.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号