首页 > 编程知识 正文

javaweb重定向和跳转,java重定向怎么写

时间:2023-05-04 12:58:00 阅读:42897 作者:516

response.sendredirect (http://www.foo.com/path/error.html );

重定向和传输有重要的区别。 使用传输时,JSP容器使用内部方法调用目标页,新页继续处理相同的请求。 浏览器不识别这个过程。 相反,重定向方案的含义是第一页通知浏览器发送新的页面请求。 这是因为,如果ngdqz使用重定向,则浏览器中显示的URL将成为新页面的URL,而如果使用传输,则该URL不会更改。 重定向比传输慢。 因为浏览器必须提出新的要求。 另外,由于重定向方法导致了新的请求,重定向后request中的对象将不再可用。

如何选择是重定向还是转发? 他是第一选择,因为传输通常很快,并且可以保留请求中的对象。 但是,传输后,浏览器中的URL仍然指向起始页,因此重新加载当前页时,将再次调用起始页。 如果不想看到这种情况,请选择转发。

传输和重定向的区别

不要仅使用session范围将变量传递到下一页。 那会无缘无故地增大变量的范围。 传输可能有助于解决这个问题。

重定向:以前保存在request中的所有变量都将无效,并进入新的request范围。

传输:以前存储在request中的变量就像将两个页面放在一起一样,不会被禁用。

正文开始:

首先看起来不一样。 他们的调用分别如下。

request.getrequest dispatcher (apage.JSP ).forward ) request,response ); 转发到apage.jsp

response.sendredirect (apage.JSP ); 重定向至apage.jsp

在jsp页中,还可以看到正在通过以下方法进行传输:

我第一次学习jsp的时候,这两个概念非常模糊,看到别人的例子时,也不知道什么时候用哪个好。 我希望下面的解说对你有帮助。

当提到传输和重定向时,必须提到请求范围。 很多初学者都知道在提交表格时已经创建了新的请求。 实际上,点击链接后,也创建了新的请求。 那么,一个要求的作用有多大呢? 例如,页面a.jsp上有一个链接。 这是到b的链接,还带有参数。 单击此连接时,将发出请求。 为了清楚起见,我们将其称为requestA-B。 现在,您可以在b.jsp页面上从此请求中获取信息。 b.jsp允许写入out.println (request.getparameter )进行测试。 再复杂一点,在b.jsp页上添加以下语句。

request.setattribute('name ',' funcreal ' );

out.println (request.getattriblute (' name ) ); name变量的值已成功显示。

现在向b.jsp添加另一个链接。 这是到c的链接,也有参数。 单击此连接将发出新的请求。 此时,requestA-B也将安息。 新请求称为请求B- c。 同样,在c.jsp中,我们只能访问age变量。 因为id、name这两个变量属于requestA-B,所以此时他已经不存在了。 源代码如下:

答. JSP

b .指向JSP,还具有参数id=1。 requestA-B诞生了

b.jsp

out.println (id=' request.getparameter ) ) id );

request.setattribute('name ',' Func Real ' );

out.println (' name=' request.getattribute ) ' name );

%

requestA-B已经结束了。 c .指向JSP,也具有参数age=23

c.jsp

out.println (id=' request.getparameter ) ) id );

out.println (' name=' request.getattribute ) ' name );

out.println (age=' request.getparameter ) ) age );

%

那么传输是什么意思呢? 当前添加了一个名为d.jsp的页面,位于c.jsp上

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。