服务器内部转发的过程
服务器内部转发:
request.getRequestDispatcher (" ...") .forward(request, response)
`一次请求响应的过程,对于客户端而言,内部经过了多少次转发,客户端是不知道的
且浏览器地址栏没有变化
代码测试过程
package com.atguigu.servlets;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class life1 extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("life1");
//服务器端内部转发
request.getRequestDispatcher("life").forward(request,resp);
}
}
package com.atguigu.servlets;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
public class life extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("收到life应用开始执行");
}
}
确实发生了服务端内部的重定向过程而客户端不知道内部发生的过程
客户端重定向的过程
.
客户端重定向:
response.sendRedirect ("....") ;
两次请求响应的过程。客户端肯定知道请求url有变化,即浏览器地址栏会发生变化
代码测试
确实发生了跳转