Jsp中重定向包含两种:forward和sendredirect.
两者的主要区别:
Sendredirect | Forward |
客户端请求后, Sendredirect返回给客户端所指定的地址,然后客户端在去访问给定地址,再收到结果. | 客户端请求后, Forward直接把请求转到指定页面,页面处理后将结果返回到客户端 |
两个地址是不同的request | 虽然是不同的对象,但是可以取到上一个页面内容 |
地址栏有变换,变到转到的地址 | 地址栏没有变换 |
Sendredirect后的语句会继续执行,除非后面出现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);
并且只能以/开头 |
常用 | 常用 |