重定向(redirect)和转发(forward)
@RequestMapping("/updateitem.action")
public String updateItem(Items items) {//前台接收一个对象
int i = itemsService.updateById(items);//执行持久层的方法
//修改成功,跳转带商品列表页面
if (i > 0) {
//重定向不能重定向到jsp页面(因为jsp页面一般都放在WEB-INF下面),只能重定向到我们写好的方法
//WEB-INF下面的页面是不能直接访问的所以会报404
return "redirect:/item/itemList.action";//重定向写法(修改推荐使用重定向写法)
/*return "forward:/item/itemList.action";*/
} else {
//修改失败跳转到错误页面
return "reeor";
}
}
重定向(redirect)和转发(forward)的区别
1、请求转发是作用在服务器,是在服务器内部进行,重定向是作用在客户端,相当于客户端重新发送一次新的请求。
2、转发后地址栏不会改变,重定向后地址栏会发生改变。
3、转发后能获取到请求中的数据,重定向不能获取请求中的数据。
4、转发只能在服务器内部之间进行,重定向可以跳转到任何网络资源。
5、转发可以访问受保护的资源,重定向不能访文被保护的资源。