RequestDispatcher我不是很理解
本人不太了解if(b){forward="success.jsp";}else{forward="failure.jsp";}//将请求转发到forward这个页面Req...
本人不太了解
if(b){
forward = "success.jsp";}
else{
forward = "failure.jsp";}
//将请求转发到forward这个页面
RequestDispatcher rd = request.getRequestDispatcher(forward);
rd.forward(request, response);
中
RequestDispatcher rd = request.getRequestDispatcher(forward);
rd.forward(request, response);
上面两句的意思。
满足条件后跳转,不是已经在if else中判断分别去了那个JSP么? 剩下这句的意思和目的是?
还有“重定向”和“跳转”的关系是? 貌似跳转有很多种,问action这种算是其中一种么?貌似像上文中的,是在servlet中有跳转的功能(我本人理解的跳转就是页面的上的跳转,不知道这样理解对不?)
但是平常在又看到forward这种跳转。貌似很多。
再者关于doGet和doPost是处理服务器端“得到的”和“发出的”的响应么? 是以服务器的角度出发去看这两个函数么么?
之所以疑惑是我看到经常看到doGet函数中,有response的对象,我就纳闷了,response不是响应的意思么?为什么出现在doGet(服务器得到信息)的函数中处理。有点混 展开
if(b){
forward = "success.jsp";}
else{
forward = "failure.jsp";}
//将请求转发到forward这个页面
RequestDispatcher rd = request.getRequestDispatcher(forward);
rd.forward(request, response);
中
RequestDispatcher rd = request.getRequestDispatcher(forward);
rd.forward(request, response);
上面两句的意思。
满足条件后跳转,不是已经在if else中判断分别去了那个JSP么? 剩下这句的意思和目的是?
还有“重定向”和“跳转”的关系是? 貌似跳转有很多种,问action这种算是其中一种么?貌似像上文中的,是在servlet中有跳转的功能(我本人理解的跳转就是页面的上的跳转,不知道这样理解对不?)
但是平常在又看到forward这种跳转。貌似很多。
再者关于doGet和doPost是处理服务器端“得到的”和“发出的”的响应么? 是以服务器的角度出发去看这两个函数么么?
之所以疑惑是我看到经常看到doGet函数中,有response的对象,我就纳闷了,response不是响应的意思么?为什么出现在doGet(服务器得到信息)的函数中处理。有点混 展开
2个回答
展开全部
先和你说转发和重定向的区别吧
转发是地址不变,数据保存
重定向是地址变了,数据丢失
你用的requestDispatch获取一个地址,然后用forward方法将用户请求和响应都用参数带入到你要转发的地址中去了。
doGet和doPost只是表示你表单提交的form标签里的method是post还是get
一般doPost和doGet做的事情都一样 转了字符码就调用另外一个方法
比方说doPost写了要做的事,doGet没写 那我用doGet转了字符码就直接调用doPost就行了
都是得到请求作出响应的
转发是地址不变,数据保存
重定向是地址变了,数据丢失
你用的requestDispatch获取一个地址,然后用forward方法将用户请求和响应都用参数带入到你要转发的地址中去了。
doGet和doPost只是表示你表单提交的form标签里的method是post还是get
一般doPost和doGet做的事情都一样 转了字符码就调用另外一个方法
比方说doPost写了要做的事,doGet没写 那我用doGet转了字符码就直接调用doPost就行了
都是得到请求作出响应的
追问
请说主语,我发现有时候听他人解释问题,尤其是程序问题,他们不喜欢说注意。
如:转发是“who”地址不变。“who”数据丢失 。 如果没有特定的主语就举个例子。谢谢~
追答
下面的回答清楚很多,转发是服务器内部动作,重定向是对新地址发出请求
舒仕福
2023-07-11 广告
2023-07-11 广告
eor有以下两种含义:1. eor是计算机术语,表示二进制异或运算。在计算机逻辑运算中,算术逻辑执行二进制按位异或运算,两数执行异或后相同位结果为0,不同位结果为1。2. eor也表示在任何时期,向地层中注入流体、能量,以提高产量或采收率的...
点击进入详情页
本回答由舒仕福提供
2012-03-31
展开全部
RequestDispatcher rd = request.getRequestDispatcher(forward);
rd.forward(request, response);
if else结构只是判断决定具体的跳转目标,上面这两句是具体做跳转操作的语句。
重定向redirect与跳转forward的区别是:
重定向操作需要服务器端与客户端交互,服务器端会给浏览器返回一个状态码和响应的重定向地址,由客户端重新对这个新重新定地址发出请求,所以重定向伴随的是你的浏览器URL地址栏的地址会发生变化。
而forward操作是纯粹的服务器端动作,你可以理解为第一个Servlet在调用第二个Servlet,因为forward前后的Servlet的request等上下文对象都是共享的。
rd.forward(request, response);
if else结构只是判断决定具体的跳转目标,上面这两句是具体做跳转操作的语句。
重定向redirect与跳转forward的区别是:
重定向操作需要服务器端与客户端交互,服务器端会给浏览器返回一个状态码和响应的重定向地址,由客户端重新对这个新重新定地址发出请求,所以重定向伴随的是你的浏览器URL地址栏的地址会发生变化。
而forward操作是纯粹的服务器端动作,你可以理解为第一个Servlet在调用第二个Servlet,因为forward前后的Servlet的request等上下文对象都是共享的。
追问
1那我能理解我们平常上网 使用重定向的机会多余forward么?
2
RequestDispatcher rd = request.getRequestDispatcher(forward);
rd.forward(request, response);
以上这句属于重定向还是请求转发呢?
追答
forward属于服务器端转发。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询