重定向
语法:response.sendRedirect("url");
特性:
- 会改变地址栏
- 属于服务器端跳转
- request不共享(重点)
注意:
- ssm中需要重定向,则要用"redirect:/xx"实现重定向,因为默认是forward转发。
转发
语法:request.getRequestDispatcher("/WEB-INF/jsp/xx.jsp").forward(request, response);
特性:
- 不会改变地址栏
- 属于客户端跳转
- request共享(重点)
注意:
- ssm中,controller用字符串返回的,经过视图解析器默认的是转发,就是forward。
- 跳转默认是到WebContent,所以都要加上“/WEB-INF/”。
选择
- 需要改变地址栏用重定向。
- 需要从一个servlet(controller)到其它的servlet(controller)用重定向。
- 简单跳转到一个页面,用转发。
例子:在servlet中,重定向到一个servlet,从而间接改变地址。重定向需要获得项目地址
例子:继上,重定向后,需要显示普通jsp页面,也就是简单的跳转到一个页面。