重定向的学习
原因: ①使用重定向进行Servlet之间的相互联系处理 但是浏览器存储的URL地址还是最原始的地址,所以刷新之后导致重新发出请求,表单数据重复提交 。 ② 遇到请求 Servlet无法处理 比如淘宝买东西 发送结账请求 淘宝看到后发现处理不了 就要重定向给支付宝处理
作用: 避免表单数据重复提交 并且解决了当前请求无法处理的问题
代码意思表示查询用户名 密码后判断 如果正确 重定向到main 这个servlet中 浏览器进行了 两次请求 第一次调用了登录请求 另一个调入了main的请求
请求转发与重定向
请求转发 地址栏不变 所有servlet公用一个request
重定向 地址栏改变 有多少个servlet就有多少个requset
如果请求中有表单数据 并且数据比较作用 不能重复提交 建议用重定向
如果要求被servlet接收无法处理 建议用重定向
请求转发可以通过设置requeset实现数据的共享 但是 重定向是两个requset之间的数据共享 这就涉及到了cookie session