关于JavaWeb重定向和转发问题

1.转发 request.getRequestDispatcher("/pages/sj-makeFriends-index.jsp").forward(request, response);

2.重定向 response.sendRedirect(request.getContextPath()+"/pages/sj-person-homepage.jsp");

        转发和重定向都可以使得浏览器请求转向,首先转发是服务器内部的转发,所以在写目标路径是不需要工程名字,

如1,并且转发后,浏览器的地址栏隐藏了转发的目标地址,增强了网站的安全性,通过转发传递资源时可以使用

request.getRequestDispatcher("/pages/sj-makeFriends-index.jsp?method=type").forward(request, response);这种拼接

的方式传递参数,也可以通过,向request域中添加属性的方式传递参数,request.setp....("method",methodValue)这种形式传递。

        重定向是服务器告诉浏览器去访问那个资源,因此浏览器地址栏会改变,而且不能利用向request域添加属性的方式传递参数

request.setp....("method",methodValue),request对象生命周期是一次请求,因此重定向会丢掉添加的属性,这是一种直接

访问目标资源的方式。

猜你喜欢

转载自blog.csdn.net/fbw668859/article/details/80977392
今日推荐