请求转发与重定向
目录
1. 什么时间会用到请求转发和重定向呢?
2.请求转发是什么?
2.1 请求转发的特点:
2.2 请求转发的代码
3. 重定向
3.1 重定向的特点:
3.2 重定向的代码
4. request对象和response对象的生命周期
5. 发起一次请求后,内部的执行流程是什么?
注意:
1. 什么时间会用到请求转发和重定向呢?
答:当一些业务的实现,需要多个Servlet协同处理,倘若一直让用户输入地址,不仅显得有些麻烦,且用户输入地址也有很大的可能会出错,这个时候,就会考虑使用请求转发和重定向,来减少用户的地址输入。
2.请求转发是什么?
答:请求转发是服务器内部调用的地址请求。所以当你发起一个请求的时候,如果这个请求的后续操作需要进行请求转发,那么服务器内部就会根据此次的请求方式,在服务器内部也使用同样的请求方式进行请求转发。
2.1 请求转发的特点:
- 能减少两次请求之间的响应时间。
- 只能访问当前服务器内部的资源,不能访问服务器外部的资源,如百度等。
- 只发起了一次请求。
2.2 请求转发的代码
request.getRequestDispatcher("/路径").forward(reques,response)
其中:request.getRequsetDispatche会返回一个对象,这个对象是:资源文件申请报告对象。
请求转发会继续使用本次请求的请求对象和响应对象。
3. 重定向
重定向其实很简单,他等同于发起了两次请求,是等于是用户发起了新的一次请求。通常用在,我们执行了一些操作后,跳转到一个新的页面的情况下。
3.1 重定向的特点:
- 地址栏会发生变化
- 发送了两次请求
3.2 重定向的代码
response.sendRedirect("/项目名/资源名");
4. request对象和response对象的生命周期
答:在请求包发送之后,请求对象就会死去。
在响应包推送之后,响应对象就会死去。
5. 发起一次请求后,内部的执行流程是什么?
注意:
- 一次请求,只会对应一个响应对象。用完即死,再用的话,就会再次创建。
- 有请求发送,一定会有响应。哪怕是返回404,也是一种响应方式,只不过404是一种不正常的响应。
!!!!!!
下面的文字一个也不用看,全是废话,仅仅是为了满足发文的字数要求,否则这篇文章就不会通过发表。
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体,陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰能,是以众议举宠为督。愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。