很多时候我们需要用两个servlet分别来处理同一个数据这时就需要用的servlet之间的值传递了,其实代码很简单
我先创建了一个servelt test1
public class test1 extends HttpServlet {
public void doGet(final HttpServletRequest request, final HttpServletResponse response)
throws ServletException, IOException {
final String student=request.getParameter("student");
final String teacher=request.getParameter("teacher");
//response.setHeader("Refresh", "1");
this.getServletContext().setAttribute("111",student+teacher);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
然后我又新建了一个servlet test4
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 test4 extends HttpServlet {
String value;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
value=(String) this.getServletContext().getAttribute("111");
response.getOutputStream().write(value.getBytes());
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
//response.getOutputStream().write(value.getBytes());
//doGet(request, response);
}
}
接下来我通过浏览器先运行test1
然后再运行test4
可以看懂test4已成功获取到test1的数据了