客户端重定向和服务器端请求转发

客户端重定向和服务器端请求转发,第1张


前言

在学习javaweb的过程中,对于掌握梳理Servlet的客户端重定向和服务器端请求转发的知识点笔记。

一 1.客户端重定向

客户端重定向是发生在客户端的过程中,进行重定向的过程是地址栏中url会发生改变,首先的url是第一次请求的路径,变化的路径是服务器端给客户端进行响应后,发送给客户端的路径地址,客户端会立即进行请求新的路径地址。地址栏的路径也会修改为新请求路径的url,同时新访问的组件也会给客户端进行响应。

发生的过程如图所示:

 

代码如下(示例):

public class Demo4Servlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //客户端重定向
        //在客户端首先请求Demo4Servlet时,服务器端会进行响应回复,让客户端去访问另一个路径
       resp.sendRedirect("Demo3Servlet");
    }
2.服务器端请求转发

服务器端请求转发是发生在服务器中的过程,客户端第一次先服务器端进行请求时,服务端中的组件,又将这个请求转发给了服务器中的另外一个组件。另外一个组件在将客户端的请求进行响应发送给客户端。这个过程客户端是不知道,整个转发的流程均在服务器端中进行完成。所以客户端中地址栏中的内容也是没有发生修改,与第一次请求路径的url一致。

 

代码如下(示例):

public class Demo3Servlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //请求转发,在服务器内部将请求的路径,转发给Demo4Servlet,在由转发的路径Servlet,进行将响应发给客户端
        //服务器内部转发,转发的过程是发生在服务器内部种进行的,在客户端种是无法查看到转发路径的相应流程
        req.getRequestDispatcher("Demo4Servlet").forward(req,resp);
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/788244.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-05
下一篇2022-05-05

发表评论

登录后才能评论

评论列表(0条)