sendRedirect VS requestDispatcher.forward用于错误页面?

时间:2015-08-04 23:48:28

标签: java jsp servlets redirect forward

所以有一个 error.jsp 页面,我想让用户在他/她输入无效数据后出现在这个页面上。 使用 sendRedirect requestDispatcher.forward 重定向到错误页面会更好吗?

我知道,这可能取决于我是否要将某些属性放入请求对象等等。我更喜欢使用 requestDispatcher.forward ,但是它安全吗?在这种情况下,在页面刷新数据后将再次发送到服务器。是的,它没有对数据库产生任何影响(插入,更新,删除),因为数据无效,因此用户再次出现在错误页面上。但是...... idk,我觉得使用 requestDispatcher.forward 的方法出了问题,即使它是一种幂等行为。

那你觉得怎么样?

1 个答案:

答案 0 :(得分:2)

重要的区别是:

函数- (void)setText:(NSString *)str { strUpperCase= uppercase code _str = strUpperCase;// or str = strUpperCase; // One of this } 将向浏览器发送302响应代码,然后浏览器将再次向服务器发送另一个请求

https://en.wikipedia.org/wiki/HTTP_302

但是函数sendRedirect是服务器内部重定向,浏览器对它没有任何感觉!