图形理解请求转发原理(response)

请求转发原理:首先请求转发又分为跳转(forward)和包含(include),请求转发又称为服务器端的跳转。跳转的原理是当浏览器发送请求到Web服务器端时,Web服务器会将得到的内容传递给Web容器,Web容器在web.xml配置文件中找到相应的ServletA的配置文件的路径,找到之后,在开启一个线程,这时,ServletA就启动了一个进程,ServletA再将信息传递给ServletB,ServletB在得到信息之后就将得到的信息传给Web容器,web容器在传给Web服务器,最后,Web服务器再将信息通过解析在封装成对象响应给浏览器。基于这一原理也叫权利的完全移交。


请求转发中的包含原理:由浏览器发出请求到Web服务器,Web服务器再将得到的信息传给Web容器,web容器通过配置的web.xml文件中找到与Servlet1相匹配的路径,找到后,开启一个线程,于此同时Servlet1也将启动一个进程,并将信息传递给Servlet2,Servlet2在得到信息后,在次将信息返回给Servlet1,Servlet1再将信息返回给web容器,Web容器再将信息给Web服务器,最终Web服务器在将信息响应给浏览器。基于这一原理也叫权利的暂时移交。





转载于:https://my.oschina.net/win199176/blog/173211

请求转发和重定向都是HTTP协议中常用的两种跳转方式,它们的区别在于跳转的方式不同。请求转发是在服务器端进行的跳转操作,而重定向则是在客户端进行的跳转操作。下面我将分别介绍两种跳转方式的流程和原理。 ## 请求转发 请求转发是指在服务器端将一个请求转发给另一个资源进行处理。在这个过程中,浏览器只发起了一次请求,服务器端将这个请求转发给了另一个资源,并将处理结果返回给浏览器。 请求转发的流程如下: 1. 浏览器向服务器发送请求。 2. 服务器接收到请求后,根据请求的URL地址找到对应的Servlet或JSP。 3. Servlet或JSP处理请求,生成响应结果。 4. Servlet或JSP将响应结果转发给另一个Servlet或JSP进行处理。 5. 最后,另一个Servlet或JSP将处理结果返回给浏览器。 请求转发原理是通过request对象的forward()方法实现。具体来说,当Servlet或JSP处理请求时,可以通过request对象获取到ServletContext对象,通过ServletContext对象获取到RequestDispatcher对象,然后通过RequestDispatcher对象的forward()方法将请求转发给另一个Servlet或JSP进行处理。 ## 重定向 重定向是指在客户端浏览器中发起一个新的请求,请求的URL地址指向另一个资源。在这个过程中,浏览器会向服务器发送两次请求,第一次请求是原始请求,第二次请求是重定向后的请求。 重定向的流程如下: 1. 浏览器向服务器发送请求。 2. 服务器接收到请求后,根据请求的URL地址找到对应的Servlet或JSP。 3. Servlet或JSP处理请求,生成响应结果。 4. Servlet或JSP将响应结果返回给浏览器,并在响应头中设置Location属性,指向另一个资源。 5. 浏览器收到响应后,根据Location属性的值向服务器发送另一个请求,请求的URL地址指向重定向后的资源。 6. 服务器接收到新的请求后,根据请求的URL地址找到对应的资源。 7. 最后,服务器将处理结果返回给浏览器。 重定向的原理是通过response对象的sendRedirect()方法实现。具体来说,当Servlet或JSP处理请求后,可以通过response对象的sendRedirect()方法设置Location属性,然后将响应结果返回给浏览器。浏览器收到响应后,会根据Location属性的值向服务器发送另一个请求,请求的URL地址指向重定向后的资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值