喔.真是不好意思,我的笔是不太行(表达能力).
forward是不能夸context转发的(例如:/context1/url 的不能用forward 转发到 /context2/url 中去),但是redirect就可以(因为它是浏览器端转发的,是服务器端发送一个http头部信息,浏览器根据这个信息再进行转发,但有一些情况要注意,例如是不同的端口号或者ip的url话,请用绝对url,不要用相对的,否则会出问题,自己想想吧).
如果是用forward转发的话,因为是内部(容器中)转发的,所以也就不用再经过过滤器(filter)的过滤了(如果要是再经过,可能会造成无限递归),但是redirect就要(因为它是多次向服务器请求).
在平时的时候,我们是不可以直接用url来访问WEB-INF目录下的资源的,但是用forward就可以访问得到或者用其它的办法(只要是在服务器执行就应该行了吧).
因为由于forward会屏蔽转发的url,所以呢,当你刷新时还是向原来的Url进行请求,所以要是insert数据的话,那就是insert again.
不知道这样子清楚了点吗??
其实上面是我个人的看法(有一些我都不太敢肯定)
希望大家指教..
forward是不能夸context转发的(例如:/context1/url 的不能用forward 转发到 /context2/url 中去),但是redirect就可以(因为它是浏览器端转发的,是服务器端发送一个http头部信息,浏览器根据这个信息再进行转发,但有一些情况要注意,例如是不同的端口号或者ip的url话,请用绝对url,不要用相对的,否则会出问题,自己想想吧).
如果是用forward转发的话,因为是内部(容器中)转发的,所以也就不用再经过过滤器(filter)的过滤了(如果要是再经过,可能会造成无限递归),但是redirect就要(因为它是多次向服务器请求).
在平时的时候,我们是不可以直接用url来访问WEB-INF目录下的资源的,但是用forward就可以访问得到或者用其它的办法(只要是在服务器执行就应该行了吧).
因为由于forward会屏蔽转发的url,所以呢,当你刷新时还是向原来的Url进行请求,所以要是insert数据的话,那就是insert again.
不知道这样子清楚了点吗??
其实上面是我个人的看法(有一些我都不太敢肯定)
希望大家指教..