* 或者通过sendRedirect
* 从Servlet调用JSP使用
* RequestDispatcher接口的forward(req, res)方法
* 请求信息需要显式传递(在req、res参数中)
* 或者通过sendRedirect
* 例如:
* FromJspToServlet.jsp / ServletToJsp.java / ServletUseJsp.jsp
* forward可以用 ”/” 路径, 是指web app的根路径, servlet forward jsp的时候一定要用 “/”开头
* jsp sendRedirect到servlet应该用相对路径,因为这里”/”指网站的根路径
* servlet sendRedirect jsp也是
* request.getContextPath起作用了
ServletToJSP.java
import javax.servlet.*; import javax.servlet.http.*; public class ServletToJSP extends HttpServlet { public void doGet (HttpServletRequest req,HttpServletResponse resp) { try { // 设置属性并将它提交给ServletUseJsp.jsp resp.setContentType("text/html;charset=gb2312"); req.setAttribute ("servletName", "ServletToJsp"); //forward //getServletConfig().getServletContext().getRequestDispatcher("/servlet_jsp/ServletUseJsp.jsp").forward(req, resp); //sendredirect System.out.println(req.getContextPath()); resp.sendRedirect(req.getContextPath() + "/servlet_jsp/ServletUseJsp.jsp"); }catch (Exception e){ e.printStackTrace (); } } }FromJspToServlet.jsp
<html> <body bgcolor="green"> <!-- Forward to a servlet,这个servlet存放在web-inf的servlet目录下 --> <jsp:forward page="/servlet/ServletToJSP" /> </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>ServletToJsp.jsp
import javax.servlet.*; import javax.servlet.http.*; public class ServletToJSP extends HttpServlet { public void doGet (HttpServletRequest req,HttpServletResponse resp) { try { // 设置属性并将它提交给ServletUseJsp.jsp resp.setContentType("text/html;charset=gb2312"); req.setAttribute ("servletName", "ServletToJsp"); //forward //getServletConfig().getServletContext().getRequestDispatcher("/servlet_jsp/ServletUseJsp.jsp").forward(req, resp); //sendredirect System.out.println(req.getContextPath()); resp.sendRedirect(req.getContextPath() + "/servlet_jsp/ServletUseJsp.jsp"); }catch (Exception e){ e.printStackTrace (); } } }