JavaWeb学习——页面跳转方式
程序员文章站
2023-11-02 14:33:34
JavaWeb学习——页面跳转方式 摘要:本文主要学习了请求转发和响应重定向,以及两者之间的区别。 请求转发 相关方法 使用HttpServletRequest对象的 getRequestDispatcher(String path) 方法获取RequestDispatcher类型的转发器。 使用R ......
javaweb学习——页面跳转方式
摘要:本文主要学习了请求转发和响应重定向,以及两者之间的区别。
请求转发
相关方法
使用httpservletrequest对象的 getrequestdispatcher(string path) 方法获取requestdispatcher类型的转发器。
使用requestdispatcher转发器的 forward(servletrequest request, servletresponse response) 方法进行转发。
实例
1 @override 2 protected void doget(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { 3 req.getrequestdispatcher("/test.html").forward(req, resp); 4 }
响应重定向
相关方法
使用httpservletresponse对象的 sendredirect(string location) 方法进行重定向到其他资源。
实例
1 @override 2 protected void doget(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { 3 resp.sendredirect("/helloworld/test.html"); 4 }
请求转发和响应重定向的区别
发送次数
转发只发送一次请求。
重定向发送两次请求。
地址栏变化
转发地址栏没有变化,执行刷新相当于重新发送信息到原页面。
重定向地址栏有变化,执行刷新将发给新页面。
访问限制
转发可以访问web-inf下的资源。
重定向不可以访问web-inf下的资源。
发生位置
转发发生在服务器内部。
重定向发生在浏览器端。
跳转地址
转发不能跳转到本应用外的url。
重定向可以跳转到任意url。
访问属性
通过 request.setattribute(); 设置的属性,如果让下一个页面访问,只能通过转发。
通过 session.setattribute(); 设置的属性,如果让下一个页面访问,转发和重定向都可以,建议使用转发。
下一篇: 血燕是什么?是出血的燕子?