Servlet-请求转发和响应重定向
Servlet-请求转发和响应重定向
请求转发和响应重定向是web应用中间接访问项目资源的两种手段,也是Servlet控制页面跳转的两种手段
请求转发通过HttpServletRequest实现,响应重定向通过HttpServletResponse实现
请求转发*
- 请求转发通过HttpServletRequest对象获取请求转发器实现
- 请求转发是服务器内部的行为,对客户端是屏蔽的
- 客户端只发送了一次请求,客户端地址栏不变
- 服务端只产生了一对请求和响应对象,这一对请求和响应对象会继续传递给下一资源
- 因为全程只有一个HttpServletRequest对象,所以请求参数可以传递,请求域中的数据也可以传递
- 请求转发可以转发给其他Servlet动态资源,也可也转发给一些静态资源以实现页面跳转,但不可以是外部资源
- 请求转发可以转发给WEB-INF下受保护的资源 在转发路径中写(WEB-INF/路经),也是访问WEB-INF下资源的唯一方式
1 | |
Dispatcher中文释义:调度
响应重定向*
响应重定向通过HttpServletResponse对象的sendRedirect方法实现
响应重定向是服务端通过302响应码和路经,告诉客户端自己去找其他资源,是在服务端提示下的,客户端的行为
客户端发送多次请求,客户端地址栏是要变化的
服务端产生了多对请求和响应对象,且请求和响应对象不会传给下一个资源
因为全程产生多个HttpServletRequest对象,所以请求参数不可以传递,请求域中的数据也不可以传递
重定向可以是其他Servlet动态资源,也可以是一些静态资源以实现页面跳转,也可以跳转到外部资源
重定向不可以到WEB-INF下受保护的资源
void sendRedirect(String var1) throws IOException//1. 设置响应状态码 2.设置响应头location的值(本地路经)Redirect中文释义:重定向
重点:同样能够实现页面跳转,优先使用响应重定向
Servlet-请求转发和响应重定向
http://blog.170827.xyz/2024/04/15/Servlet-请求转发和响应重定向/