* 或者通过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 ();
}
}
}