(URL转跳)forward跟sendredirect的区别
(URL转跳)forward和sendredirect的区别
response.sendRedirect("URL") 相当于服务器要客户端在IR重输入一串地址然后点转向,既客户端的重定向 并且URL会改变 注意:1.这个JSP后面的内容会继续执行,并不会中断 2.前一个JSP页面得到的参数全部丢失 <jsp:forward page="URL" /> 是服务器内部的重定向,服务器内部可以有多个转换,而现实在客户端上的则只有一个页面url也不会改变 他可以传递参数 例: <jsp:forward page="forforward1.jsp"> <jsp:param name="name" value="m" /> <jsp:param name="oldName" value='<%=request.getParameter("name")%>' /> <jsp:param name="roles" value="manager" /> </jsp:forward> forward和sendredirect的区别 Sendredirect Forward 是不同的request 虽然是不同的对象,但是,可以取到上一个页面的内容 send后的语句会继续执行,除非return forward后的语句不会继续发送给客户端 速度慢 速度快 需要到客户端的往返,可以转到任何页面, 服务器内部转换, 地址栏有变化 地址栏没有变化 可以传参数,直接写在url后面 可以传参数 /代表的是http://127.0.0.1/ <%response.sendRedirect("/test/ServletToJSP");%> <form action="/test/ServletToJSP"> <a href="/test/ServletToJSP">test</a> /代表的是http://127.0.0.1/test this.getServletContext().getRequestDispatcher ("/servlet_jsp/ServletUseJsp.jsp") .forward(req, resp); 并且只能以/开头 常用 常用