(URL转跳)forward和sendredirect的区别



response.sendRedirect("URL")

相当于服务器要客户端在IR重输入一串地址然后点转向,既客户端的重定向
并且URL会改变

注意:1.这个JSP后面的内容会继续执行,并不会中断
2.前一个JSP页面得到的参数全部丢失



是服务器内部的重定向,服务器内部可以有多个转换,而现实在客户端上的则只有一个页面url也不会改变

他可以传递参数

例:







forward和sendredirect的区别

Sendredirect


Forward

是不同的request


虽然是不同的对象,但是,可以取到上一个页面的内容

send后的语句会继续执行,除非return


forward后的语句不会继续发送给客户端

速度慢


速度快

需要到客户端的往返,可以转到任何页面,


服务器内部转换,

地址栏有变化


地址栏没有变化

可以传参数,直接写在url后面


可以传参数

/代表的是http://127.0.0.1/

<%response.sendRedirect("/test/ServletToJSP");%>



test


/代表的是http://127.0.0.1/test

this.getServletContext().getRequestDispatcher ("/servlet_jsp/ServletUseJsp.jsp")
.forward(req, resp);

并且只能以/开头

常用


常用





你可能感兴趣的:(JAVA,JSP,Servlet)