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);
并且只能以/开头
常用
常用
(URL转跳)forward和sendredirect的区别
最新推荐文章于 2021-01-28 09:51:29 发布