a) 转发
i. 在服务器端进行的操作,由服务器向把请求发送给下一个servlet,所以浏览器端的地址不会改变,一个重点就是setAttribute()的值只在同一次请求里可以拿到,也就是在转发后其实还是同一个请求,所以是可以在另一个servlet里拿到这个值的。
b) 重定向
i. 在客户端进行的操作,在访问一个servlet后它响应返回一个要重定向到的位置,然后由浏览器进行访问,那么显然这是重新发送一个请求到另一个servlet所以在第一个servlet中setAttribute的值在这个servlet是拿不到的.(servelt中的sendRedirect()方法的本质就是设置响应头把状态码设置为302,location设置为要重定向到的项目位置,浏览器就会自动访问)
c) 有一个关键点是转发只可以转发到同一个web项目下的servlet,而重定向可以访问任何位置的资源.