http://blog.csdn.net/lihan6415151528/archive/2009/02/17/3898307.aspx
基础的东西,还是要打牢固的
response.sendRedirect(url)和request.getRequestDispatcher(url).forward(request,response)
response.sendRedirect(url) -- 重定向到指定URL
request.getRequestDispatcher(url).forward(request,response) -- 请求转发到指定URL
比如说有人打电话给公司前台找小王,这时候,公司的前台会有两种选择
一:通过转接的方式把电话转到小王那里(forward)
二:通过告诉对方小王的电话号码的方式让对方打给小王(sendRedirect)
涉及到电话挂断不挂断的问题
就像程序里面一样,请求是否有中断,决定参数是否能传递
response.sendRedirect(url)跳转到指定的URL地址,产生一个新的request,所以要传递参数只有在url后加参数,如:
url?id=1.
request.getRequestDispatcher(url).forward(request,response)是直接将请求转发到指定URL,所以该请求能够直接获得上一个请求的数据,也就是说采用请求转发,request对象始终存在,不会重新创建。而sendRedirect()会新建request对象,所以上一个request中的数据会丢失。
2....
redirect 会首先发一个response给浏览器, 然后浏览器收到这个response后再发一个requeset给服务器, 然后服务器发新的response给浏览器. 这时页面收到的request是一个新从浏览器发来的.
forward 发生在服务器内部, 在浏览器完全不知情的情况下发给了浏览器另外一个页面的response. 这时页面收到的request不是从浏览器直接发来了,可能己经放了数据.
分享到:
相关推荐
request.getRequestDispatcher("/admin/register.jsp").forward(request,response); return; } //2.调用业务层完成注册操作并返回结果 User user = new User(userId,realName,pwd,age, Arrays.toString...
而sendRedirect方法可以让你重定向到任何URL。 表单form的action="/uu";sendRedirect("/uu");表示相对于服务器根路径。如http://localhost:8080/Test应用(则提交至http://localhost:8080/uu); Forward代码中的"/uu...
转发和重定向的区别 forward和redirect的区别 request.getRequestDispatcher()..forward(request,response);和 response.sendRedirect();的区别详解
if (session.getAttribute("person") == null) { if (null != request.getQueryString()){ // session.setAttribute("redirectUrl", ... request.getRequestDispatcher("fall.jsp").forward(request, response); }
rd.forward(request, response); } 通常在servlet中使用,不在jsp中使用。 2.response.sendRedirect() 是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它...
request.getRequestDispatcher("providerAddxiugai.jsp").forward(request, response); }else if(canshu.equals("xiugaiok")){ int gysid=Integer.parseInt(request.getParameter("gysid")); String ...
//request.getRequestDispatcher("student.jsp").forward(request, response); response.sendRedirect("student.jsp"); } else if (uc == 2) { //request.getRequestDispatcher("teacher.jsp").forward(request,...
RequestDispatcher rd = request.getRequestDispatcher("userlist.jsp"); rd.forward(request,response); sendRedirect方式使用response对象的方法sendRedirect方法完成,代码如下: response.sendRedirect(...
1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ;response.sendRedirect()是重新定向,前后页面不是一个request。 2.RequestDispatcher.forward()是在服务器端运行;HttpServletResponse....
request.getRequestDispatcher("list").forward(request,response); //参数传递 J2EE1.4以下就是将引用直接拷贝过去 J2EE拷贝的是副本 //如果在doPost方法中写转发就会进入对方的doPost() 方法 包含转发的方法是...
request.getRequestDispatcher("index.jsp").forward(request, resposne); 外部跳转: response.sendRedirect("index.jsp"); 内部跳转是一次请求和一次响应 外部跳转是两次请求和两次响应 ServletContext:Servlet上...
本文实例总结了jsp和servlet中实现页面跳转的方式。分享给大家供大家参考,具体如下: ... rd.forward(request, response); %> 2. response.sendRedirect 重定向 <% response.sendRedire
转载在Servlet中进行服务端跳转的方式:request.getRequestDispatcher("success.html").forward(request response);在Servlet中进行客户端跳转的方式: response.sendRedirect("fail.html");
request.getRequestDispatcher("/listUser.jsp") .forward(request, response); } } import="java.util.*,java.util.*,com.sshmvc.*,com.sshmvc.ljl.pojo.*" pageEncoding="utf-8"%> String path = ...
response_sendRedirect和request_getRequestDispatcher()_forward的区别.
Encodes the specified URL for use in the sendRedirect method or, if encoding is not needed, returns the URL unchanged. encodeUrl(String) - Method in class javax.servlet....
页面之间的跳转可以通过两种方式实现:forward和sendRedirect。 forward:可以在JSP页面中使用,可以在Servlet中实现。 在JSP页面中使用”目标文件”/>,例如要跳转到userlist.jsp,可以写: 代码如下: ”userlist...
protected void doPost HttpServletRequest request HttpServletResponse response throws ServletException IOException { String action request getParameter "action" ; Teacher t new Teacher ; ...
11 URL getResource(String path) 返回指定资源(文件及目录)的URL路径 12 InputStream getResourceAsStream(String path) 返回指定资源的输入流 13 RequestDispatcher getRequestDispatcher(String uripath) ...