这几天在学习Web开发时候跳转是最常见的,看了好几位大佬的博客
鸣谢:ID:uk8692,ID:超级罐罐 以及CSDN论坛:https://bbs.csdn.net/topics/391045457
--------------------------------------------------分割线-------------------------------------------------------------------------------
第一个内部转发:
request.getRequestDispatcher( “url”).forword(request,getAttribute);
过程:客户端发送请求到服务器,服务器调用匹配到的servlet,并指定这个servlet执行,执行完成之后,再使用
getRequestDispatcher( “url”)方法,把请求转发给指定的.jsp,所以可以通过getAttribute把结果都取出来,取出结果过后返回给客户端
总结
1、一次请求,地址不变,是当前文件的地址,
2、都在当前服务器完成的
第二个重定向
response.sendRedirect()
客户端发送请求到服务器,服务器匹配servlet,服务器处理完 ,调用sendRedirect()方法,这个是response方法,所以,当这个servlet处理完之后,response.sendRedirect()方法向客户端发送响应,响应再让客户端发送请求给.jsp,两个请求相互独立,在前面request在里面都获取不了,
重定向是客户端行为,两次请求,地址改变,使目标文件的地址
对数据进行修改、删除、添加操作的时候,应该用response.sendRedirect()。执行一次