1、从JSP调用Servlet可用<jsp:forward>请求信息自动传递到Servlet,或者调用sendRedirect
2、从Servlet调用JSP使用:
RequestDispatcher接口的forward(req,res)方法
请求信息需要显示传递(在req、res参数中)
或者通多sendRedirect
示例:
servlet程序:
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 ServletToJSP extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置属性并将它提交给ServletUseJsp.jsp
try {
response.setContentType("text/html;charset=gb2312");
request.setAttribute("servletName", "ServletToJSP");
getServletConfig().getServletContext().getRequestDispatcher("/servlet_jsp/ServletUseJsp.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
JSP程序:
FromJspToServlet.jsp
<html>
<body bgcolor="green">
<!--Forward to a servlet,这个servlet存放在web-inf的servlet目录下-->
<jsp:forward page="/servlet/ServletToJSP" />
</body>
</html>
ServletUseJsp.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<meta context="text/html;charset=gb2312">
<head>
<title>Servlet使用JSP</title>
</head>
<body bgcolor="gray">
<h2>Servlet使用JSP的例子:</h2>
<h2>
这个页面是被
这个Servlet调用的
</h2>
</body>
</html>