RequestDemo7.java文件:
package com.neu;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*Request实现请求转发*/
//转发:源
//源和目标:共享请求范围中的数据
public class RequestDemo7 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("p", "ppp");
RequestDispatcher rd = getServletContext().getRequestDispatcher("/servlet/RequestDemo8");
//RequestDispatcher rd = request.getRequestDispatcher("/servlet/RequestDemo8");
rd.forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
RequestDemo8.java文件:
package com.neu;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//转发:目标
public class RequestDemo8 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String s = (String) request.getAttribute("p");
response.getWriter().write(s);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
运行:http://localhost:8080/Request/servlet/RequestDemo7
结果:浏览器中输出ppp
本文通过两个Java Servlet示例展示了如何使用request对象进行请求转发,并共享请求范围中的数据。源Servlet设置属性后转发到目标Servlet,后者读取并输出该属性。
3346

被折叠的 条评论
为什么被折叠?



