100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 总结:原生servlet请求转发url与请求重定向url的使用区别

总结:原生servlet请求转发url与请求重定向url的使用区别

时间:2020-01-08 05:55:06

相关推荐

总结:原生servlet请求转发url与请求重定向url的使用区别

总结:原生servlet请求转发url与请求重定向url的使用区别

一·演示前提:1.演示案例的项目架构如图:2.设置web应用的映射根目录:/lmf,当然也可以不设置。 二·什么叫请求转发、请求重定向?1.请求转发解释图2. forward(转发)概念解释:3.请求重定向解释图4. redirect(重定向)概念解释: 三·请求转发url的使用:1.使用绝对路径url:报异常结论:请求转发完后,生成的最终访问url = IP地址 + 端口 + 应用映射的根目录 + 自定义的绝对路径(这样必然报错)2.使用相对路径url:分两种情况2-1 使用斜杠开头的相对路径:结论:(1)服务端路径 = IP地址+端口+应用映射根目录(2)斜杠在这里会被解释为:服务端路径(3)请求转发完后,生成的最终访问url = IP地址 + 端口 + 应用映射的根目录 + 以斜杠开头的相对路径 2-2 使用非斜杠开头的相对路径结论:(1)服务端路径 = IP地址+端口+应用映射根目录(2)默认以服务端路径为基础,再拼接上自定义相对路径,生成最终的url(3)请求转发完后,生成的最终访问url = IP地址 + 端口 + 应用映射的根目录 + 非斜杠开头的相对路径 四·请求重定向url的使用:1.使用绝对路径url:结论:请求重定向完后,生成的最终url = 自定义绝对路径2.使用相对路径url:分两种情况2-1 使用斜杠开头的相对路径url结论:(1)客户端路径 = IP地址+端口(2)斜杠在这里会被解释为:客户端路径(3)请求转发完后,生成的最终访问url = IP地址 + 端口 + 以斜杠开头的相对路径(这样的url很可能会报错) 2-2 使用非斜杠开头的相对路径url结论:(1)服务端路径 = IP地址+端口 + 应用映射的根目录(2)默认以服务端路径为基础,再拼接上自定义相对路径,生成最终的url(3)请求重定向后,生成的最终访问url = IP地址 + 端口 + 应用映射的根目录 + 非斜杠开头的相对路径 五·综上所述:1.请求转发的url不能使用绝对路径,否则报异常2.请求转发的url可以使用相对路径,且无论是不是以斜杠开头,都是以服务端路径为基础,然后进行拼接生成的最终url3.请求重定向url可以使用绝对路径,且绝对路径就是最终url4.请求重定向url可以使用相对路径,但是区别是否以斜杠开头的相对路径。详情参考上文所述。 六·请求转发与请求重定向的友情链接:1.请求转发(Forward)和重定向(Redirect)的区别2.解决:为什么“请求重定向“可以防止浏览器通过刷新重复提交表单?而请求转发不行?

一·演示前提:

1.演示案例的项目架构如图:

2.设置web应用的映射根目录:/lmf,当然也可以不设置。

应用映射根目录作用:也称为“应用上下文”,规定访问该应用的任何映射接口都得加上“/lmf”前缀,否则就会报404。(如果没有设置应用映射根目录,则可以省略)即,访问一个应用的接口,完整URL格式为:协议://IP地址:端口号/应用映射根目录/具体接口映射的url路径例如:http://127.0.0.1:8080/lmf/.......

二·什么叫请求转发、请求重定向?

1.请求转发解释图

2. forward(转发)概念解释:

是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程实在服务器实现的,并不是在客户端实现的所以客户端并不知道这个跳转动作,所以它的地址栏还是原来的地址

3.请求重定向解释图

4. redirect(重定向)概念解释:

是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL

三·请求转发url的使用:

1.使用绝对路径url:报异常

(1)找一个浏览器可以直接访问的绝对路径:http://127.0.0.1/8080/lmf/page/view1.jsp

(2)源代码:

(3)测试结果:报错

结论:请求转发完后,生成的最终访问url = IP地址 + 端口 + 应用映射的根目录 + 自定义的绝对路径(这样必然报错)

2.使用相对路径url:分两种情况

2-1 使用斜杠开头的相对路径:

源代码:

测试结果:成功访问

结论:

(1)服务端路径 = IP地址+端口+应用映射根目录

(2)斜杠在这里会被解释为:服务端路径

(3)请求转发完后,生成的最终访问url = IP地址 + 端口 + 应用映射的根目录 + 以斜杠开头的相对路径

2-2 使用非斜杠开头的相对路径

源码:

测试结果:成功

结论:

(1)服务端路径 = IP地址+端口+应用映射根目录

(2)默认以服务端路径为基础,再拼接上自定义相对路径,生成最终的url

(3)请求转发完后,生成的最终访问url = IP地址 + 端口 + 应用映射的根目录 + 非斜杠开头的相对路径

四·请求重定向url的使用:

1.使用绝对路径url:

源码:

测试结果:成功

结论:请求重定向完后,生成的最终url = 自定义绝对路径

2.使用相对路径url:分两种情况

2-1 使用斜杠开头的相对路径url

源码:

测试结果:最终的url由于缺少“应用映射的根目录”,导致404

结论:

(1)客户端路径 = IP地址+端口

(2)斜杠在这里会被解释为:客户端路径

(3)请求转发完后,生成的最终访问url = IP地址 + 端口 + 以斜杠开头的相对路径(这样的url很可能会报错)

2-2 使用非斜杠开头的相对路径url

源码:

测试结果:成功

结论:

(1)服务端路径 = IP地址+端口 + 应用映射的根目录

(2)默认以服务端路径为基础,再拼接上自定义相对路径,生成最终的url

(3)请求重定向后,生成的最终访问url = IP地址 + 端口 + 应用映射的根目录 + 非斜杠开头的相对路径

五·综上所述:

1.请求转发的url不能使用绝对路径,否则报异常

2.请求转发的url可以使用相对路径,且无论是不是以斜杠开头,都是以服务端路径为基础,然后进行拼接生成的最终url

3.请求重定向url可以使用绝对路径,且绝对路径就是最终url

4.请求重定向url可以使用相对路径,但是区别是否以斜杠开头的相对路径。详情参考上文所述。

六·请求转发与请求重定向的友情链接:

1.请求转发(Forward)和重定向(Redirect)的区别

/Qian123/p/5345527.html

2.解决:为什么“请求重定向“可以防止浏览器通过刷新重复提交表单?而请求转发不行?

/weixin_48033662/article/details/117706628

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。