JavaWeb学习——页面跳转方式

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(); 设置的属性,如果让下一个页面访问,转发和重定向都可以,建议使用转发。

原文地址:https://www.cnblogs.com/shamao/p/12069037.html

时间: 2024-10-09 22:46:26

JavaWeb学习——页面跳转方式的相关文章

页面跳转方式的总结

个人经常用到的页面跳转方式: 凡是js用到的跳转方式,php基本都可以用 1.通过js自身的window.open打开非模态窗口 top.window.open("alarm_add_con.php?wd_id=40&wd_name='hello'"); 关闭子窗口,并刷新父窗口,刷新父窗口不清除父窗口的临时变量 echo "<script>"; echo "opener.location.reload();"; //刷新父窗

(转)JSP三种页面跳转方式的比较

使用JSP大约有下列三种跳转方式: 1. response.sendRedirect(); 2. response.setHeader("Location",""); 3. <jsp:forward page="" /> 经过试验得到下面的一些规则: 一. response.sendRedirect() 此语句前不允许有out.flush(),如果有out.flush(),会有异常: java.lang.IllegalStateExc

VUE学习--路由跳转方式||路由跳转携带参数方式||目标路由接受参数方式

跳转方式1:.使用便签跳转, <router-link to="{path:'路由地址',params:{传的数据},query:{传的参数}" >:跳转方式2:导航跳转,{在路由内 (路由对象) router.push({ path:'路径',//具有导航功能 name:‘路由名称’,,//同样具有导航功能 params:{传的数据}, query:{传的参数}"});在组件内 (路由对象)this.$router.push(参数同上); 传参方式1:query

Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面

一.看下内部原理 简化后的认证过程分为7步: 用户访问网站,打开了一个链接(origin url). 请求发送给服务器,服务器判断用户请求了受保护的资源. 由于用户没有登录,服务器重定向到登录页面 填写表单,点击登录 浏览器将用户名密码以表单形式发送给服务器 服务器验证用户名密码.成功,进入到下一步.否则要求用户重新认证(第三步) 服务器对用户拥有的权限(角色)判定: 有权限,重定向到origin url; 权限不足,返回状态码403("forbidden"). 从第3步,我们可以知道

.net 页面跳转方式【转】

1 Response.Redirect这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护.但速度慢是其最大缺陷!Redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端.需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session. 2 Server.Transfer速度快,只需要一次postback

C#页面跳转方式

1.Response.Redirect("http://www.hao123.com",false); 目标页面和原页面可以在2个服务器上,可输入网址或相对路径.后面的bool值为是否停止执行当前页.跳转向新的页面,原窗口被代替.浏览器中的URL为新路径.Response.Redirect方法导致浏览器链接到一个指定的URL.当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代码302(表示目标已经改变)以及新的目标URL.浏览器从服务器收到该应

jsp页面跳转方式

1. RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递. 但forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,

mui几种页面跳转方式对比

[几种打开页面的方式] 1.初始化时创建子页面 2.直接打开新页面 3.预加载页面 [示例] 1.初始化时创建子页面 mui.init({       subpages: [{           url: your - subpage - url, //子页面HTML地址,支持本地地址和网络地址           id: your - subpage - id, //子页面标志           styles: {               top: subpage - top - po

三种页面跳转方式

1.<meta>跳转 <meta http-equiv="refresh" content="5;url=helloword.html"> 5秒后 跳转到helloword.html页面 2.javascript跳转 slef.location='helloword.html://直接跳转 setTimeout("javascript:location.herf='helloword.html',5000");//定时跳转