3个答案 按时间排序 按投票排序
-
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请求。
下班了,回答忘记下班时间了.2011年3月23日 18:33
-
servlet 里面重定向 只能是get方式传参数。
之所有叫重定向就是因为这个。
如果重定向能够post传参的话,那么请求转发就没必要存在了。2011年3月23日 15:42
相关推荐
URL 传参** 另一种常见的传值方式是通过 URL 参数的形式传递数据给 Servlet。这种方式适用于简单的查询参数或少量的数据传递。 示例代码: ```jsp <a href="JspServlet?action=toServlet">click me ``` 在 Servlet...
`response.sendRedirect`是Servlet API中的一个方法,用于重定向浏览器到一个新的资源。当在JSP或Servlet中调用此方法时,它会发送一个302状态码给客户端,指示客户端重新发起请求到指定的URL。这种方法特别适合于...
相比之下,`response.sendRedirect("转的页面")`是Java Servlet API中的一个方法,它会告诉浏览器发送一个新的GET请求到指定的URL。这是一个客户端的跳转,服务器返回一个HTTP状态码302(暂时重定向)和Location头,...
处理完成后,可以使用`HttpServletResponse`对象将结果反馈给客户端,或者重定向到其他页面。 总结一下,Java中通过表单进行页面传值的基本步骤包括: 1. 创建HTML表单,设置`action`指向处理表单数据的Servlet,...
Struts2支持多种内置结果类型,如`dispatcher`(默认的,用于转发到JSP)、`stream`(用于处理文件下载)和`redirectAction`(用于重定向到另一个Action)。每个结果类型都有其特定的配置方式来传递参数。 1. **在...
<servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myServlet </...
上述配置中,第一条规则将`/oldpath/value1/value2`重定向至`/newpath?param1=value1¶m2=value2`,而第二条规则则将携带`param1`和`param2`参数的`/newpath`请求转换为`/value1/value2`。 五、运行实例 在`...
2. **响应重定向(Response.sendRedirect()):** 在JSP或Servlet中使用Java代码触发重定向。 ```java response.sendRedirect("target.jsp?参数名=参数值"); ``` **特点:** - **新请求:** 重定向时,客户端...
9.ModerDriven传参模式(不建议采用) 7 10.为什么要使用struts2代替struts1.x 7 二、struts.xml配置及例程 7 1.配置文件的优先级 7 2.配置形式 8 3.package配置相关 8 4.分工合作include:指定多个配置文件 10 5....
重定向到HelloWorld的demo:按'user’参数名指定传入参数:从URI中指定传入多个参数的情况:仅用于从服务器向浏览器返回一个字符串,注意字符编码问题:访问自己创建的Servlet:查看jsp生命周期函数调用的代码:查看...
函数通过`window.location`对象的`href`属性来改变当前页面的URL,从而实现页面重定向,并将参数附加到新的URL中。具体代码如下: ```javascript function tiao(id, fpxldm) { window.location = "${sbjkgl}/w/fp/...