重定向
重定向作用于客户端,客户端发送请求给服务器后,服务器响应给客户端一个新的请求地址,客户端重新发送新的请求。
我们只需在调用业务逻辑的servlet代码里,response.sendRedirect("目标URI");
注意,URI是统一资源标识符,用来表示服务器中定位一个资源,是该资源在web项目中的路径
在这个流程中,我们发送了两次请求,得到了两次响应。
数据传递
重定向伴随着数据传递问题,在sendRedirect跳转时,地址栏改变,代表客户端发送的请求属于两次请求
同时response是没有作用域的,两次request请求中的数据无法共享
那此时怎么传递数据呢——通过URI的拼接进行数据传递,在URI处使用?进行分割传递key=value数据
获取数据则用之前所用的request.getParameter("key");
特别注意的是通过getParameter获得的数据都是string类型的数据结果,也就是说这种方式传递的数据只能是string类型(明文)
总结
•重定向是客户端行为
•重定向是浏览器做了至少两次的访问请求
•重定向后地址栏发生改变
•重定向后request作用域的信息将丢失
•重定向可以指向服务器的任意资源