Servlet和JSP的通信

来源:互联网 发布:touch id解锁mac 编辑:程序博客网 时间:2024/06/14 22:32

从JSP调用Servlet:

可用<jsp:forward> 请求信息自动传递到Servlet或者通过sendRedirect



从Servlet调用JSP使用:
RequestDispatcher接口的forward(req, res)方法
请求信息需要显式传递(在req、res参数中)

<html>    <body bgcolor="green">        <!-- Forward to a servlet, 这个servlet存放在web-inf的servlet目录下 -->        <jsp:forward page="/servlet/ServletToJSP" />    </body></html> 


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 {     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {                // 设置属性并将它分发给/servlet_jsp/ServletUseJsp.jsp处理        resp.setContentType("text/html;charset=gb2312");        req.setAttribute("servletName", "ServletToJSP");        // RequestDispatcher getRequestDispatcher(String path):        // Returns a RequestDispatcher object that acts as a wrapper for the resource located at the given path.         getServletConfig().getServletContext().getRequestDispatcher("/servlet_jsp/ServletUseJsp.jsp").forward(req, resp);    } }
或者通过sendRedirect



forward可以用 ”/” 路径, 是指web app的根路径, servlet forward jsp的时候一定要用 “/”开头
jsp sendRedirect到servlet应该用相对路径,因为这里”/”指网站的根路径
servlet sendRedirect jsp也是
request.getContextPath起作用了
0 0
原创粉丝点击