response对象转发重定向
Posted twinkle-star
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了response对象转发重定向相关的知识,希望对你有一定的参考价值。
1.response:响应。
该对象是用来响应用户请求后的结果。
2.response中的常用方法:
response.setCharacterEncoding();该方法用来处理响应时的字符集编码问题。
response.sendRedirect("要跳转的url地址").该方法用来重定向页面。浏览器的地址栏地址会发生改变
3.转发:
a.为什么要使用转发?
因为request请求到服务器后,该request中的数据会失效,那么无法将请求数据传递到其它页面,所以,使用转发进行处理。
转发对象使用request进行创建:
RequestDispatcher rd = request.getRequestDispatcher("转发到的地址");
rd.forward(request,response);
//注意:请求成功后,request对象的数据不存在了,所以在转发对象创建前,
使用request.setAttribute("",object)将要转发的数据放入 request作用域。然后进行转发操作。
1 <body> 2 <% 3 //获取用户提交的登录信息(获取请求信息使用request对象中的getParameter()) 4 String name = request.getParameter("uname"); 5 String pwd = request.getParameter("upwd"); 6 if("jack".equalsIgnoreCase(name)&&"000000".equalsIgnoreCase(pwd)){ 7 //登录成功页面重定向 8 //response.sendRedirect("main.jsp"); 9 //如果需要将该页面的数据在页面跳转页面的同时一并进行传递时,用转发 10 //将要转发的数据放入request作用域 11 request.setAttribute("uname", name); 12 //创建转发对象 13 RequestDispatcher rd = request.getRequestDispatcher("main.jsp"); 14 rd.forward(request, response); 15 } 16 %> 17 <%="姓名:"+name+",密码:"+pwd %> 18 </body>
1 <% 2 //从request作用域中获取setAttribute()中的数据 3 String name = String.valueOf(request.getAttribute("uname")); 4 %> 5 <%="欢迎:"+name+",登录" %>
以上是关于response对象转发重定向的主要内容,如果未能解决你的问题,请参考以下文章
JSP内置对象request对象的转发与response对象的重定向
ServletRequest的请求转发和Response重定向的不同
request重定向或者是response转发请求后面的代码依然执行
response.sendRedirect()和request.getRequestDispatcher().forward(request,response)使用