获得数据Servlet:
package com.example.demo.learn.servlet.forward;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** 获得数据的Servlet*/
@WebServlet("/GetDataServlet")
public class GetDataServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String name = (String) req.getAttribute("name");System.out.println("获取的name是: " + name);}
}
转发 :
package com.example.demo.learn.servlet.forward;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** 转发请求* 跳转有两种方式,一是转发,一个是重定向*/
@WebServlet("/ForwardServlet")
public class ForwardServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setAttribute("name", "song");// 转发时将request对象传过去了req.getRequestDispatcher("/GetDataServlet").forward(req,resp);}
}
重定向:
package com.example.demo.learn.servlet.forward;import com.sun.deploy.net.HttpResponse;
import org.springframework.http.HttpStatus;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** servlet重定向* 返回302状态,客户端接收后,再次发送请求,原先的request域内容也无法获取*/
@WebServlet("/RedirectServlet")
public class RedirectServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setAttribute("name", "song");// resp.sendRedirect(this.getServletContext().getContextPath() + "/GetDataServlet");// 手动实现重定向resp.setStatus(HttpServletResponse.SC_FOUND);resp.setHeader("Location",this.getServletContext().getContextPath() + "/GetDataServlet");}
}