Servlet 重定向传参
来源:互联网 发布:淘宝csv导入怎么开发 编辑:程序博客网 时间:2024/06/05 10:20
servlet重定向一般采用response.sendRedirect()来处理,要明白其中的细节,还需了解HTTP协议的一些内容,简单点就是要了解HTTP请求报头、HTTP状态码、HTTP响应报头的一些参数。
sendRedirect()简单点就是做了两件事情:
设置HTTP响应报头中的Status为302;
设置HTTP响应报头中的Location值为指定的URL;
简单相当于这样:
- response.setStatus(302);
- response.setHeader("Location", "OtherServlet");
浏览器会根据状态码来作出相应的响应;
浏览器对相应的状态码的响应(这里只给出了几个3开头的)是:
302 作为HTTP1.0的标准,以前叫做Moved Temporarily ,现在叫Found. 现在使用只是为了兼容性的处理,response.sendRedirect()的默认Location重定向用的是302.
但是HTTP 1.1 有303 和307作为详细的补充,其实是对302的细化
303:对于POST请求,它表示请求已经被处理,客户端可以接着使用GET方法去请求Location里的URI。
307:对于POST请求,表示请求还没有被处理,客户端应该向Location里的URI重新发起POST请求。
浏览器对302的响应,默认情况下,使用HTTP协议的GET方法提交请求,最初请求的内容(比如 POST 参数)也就丢失了。
所以response.sendRedirect()是不能让浏览器来以post方法提交请求的。
你想在servlet中用post传参数,在浏览器支持HTTP1.1的情况下可以设置状态码为307:
- response.setStatus(307);
- response.setHeader("Location", "OtherServlet");
这样浏览器就会向Location里的URI重新发起POST请求。
0 0
- Servlet 重定向传参
- SERVLET中的重定向
- Servlet 重定向问题
- servlet重定向
- servlet重定向
- servlet重定向问题
- servlet重定向
- Servlet 重定向原理
- 在servlet重定向
- Servlet中的重定向
- Servlet重定向
- servlet备忘[重定向]
- Servlet-重定向
- Servlet 网页重定向
- Servlet请求重定向
- Servlet 重定向原理
- Servlet 网页重定向
- JSP/Servlet的重定向
- iphone开源的一些资料
- 基于共享存储nfs的kvm动态迁移
- 1032. Sharing (25)
- IOS之分析网易新闻存储数据(CoreData的使用,增删改查)
- php判断用户浏览器类型是否为微信浏览器
- Servlet 重定向传参
- jdbcTemplate的取值方法和注意事件
- 【iOS开发-120】在storyboard中如何使用Size Classes,其实就是设置多套AutoLayout
- iOS强制屏幕旋转
- HDU 2438 Turn the corner(三分枚举角度)
- android之GPS
- 关于UIScollectionView使用,字体打印,判断定位是否开启
- 闭包
- UVA Shoemaker's Problem