您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
17_Request_共享数据(域对象)
发布时间:2022-08-12 21:33:47编辑:雪饮阅读()
request共享数据就是说,可以在request进行请求转发的时候,则目标路径类中能够获取到转发发起者所在类中设置的一些数据。
如Movie.java:
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.BufferedReader;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Map;
import java.util.Set;
@WebServlet("/Movie")
public class Movie extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("k_movie","kasumi versus gjp");
request.getRequestDispatcher("/Music").forward(request,response);
}
}
然后向Music.java中转发,Music.java接收处理逻辑如:
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("/Music")
public class Music extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Object movie_data=request.getAttribute("k_movie");
System.out.println("Music获取到movie所设置的数据:"+movie_data);
}
}
需要注意的是,这两个类中共享的这点数据只在request请求周期内可以在目标url所指示的类中获取。
比如你在Movie中设置了共享的值后,并没有进行转发请求,则虽然你先访问了Movie,然后又手动访问了Music会发现Music中该值就是null了。
关键字词:Request,共享数据,域对象