package cn.edu;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//通过ServletContext实现请求转发
public class ServletDemo8 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String data="ABCDEFG";
//把数据带给1.JSP(不能通过Context域,要通过request域)
this.getServletContext().setAttribute("data", data);
//获取请求分派器
RequestDispatcher rd=this.getServletContext().getRequestDispatcher("/1.jsp");
//将请求转发到指定资源
rd.forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
前台显示页面:1.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP '1.jsp' starting page</title>
</head>
<body>
<h1>
<font color="red">
<%
String value=(String)application.getAttribute("data");
out.write(value);
%>
</font>
</h1>
</body>
</html>