zoukankan      html  css  js  c++  java
  • [Jweb] JSP-编程 07 Servlet和JSP的通信

    * 从JSP调用Servlet可用<jsp:forward> 请求信息自动传递到Servlet
      * 或者通过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 ();
            }
        }
    }
    




  • 相关阅读:
    团队作业6——复审与事后分析
    Alpha阶段项目复审
    测试与发布( Alpha版本 )
    测试与发布(Alpha版本)
    团队作业4——项目冲刺
    第 1 篇 Scrum 冲刺博客
    第 7篇 Scrum 冲刺博客
    第 6篇 Scrum 冲刺博客
    第 5篇 Scrum 冲刺博客
    第 4篇 Scrum 冲刺博客
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786858.html
Copyright © 2011-2022 走看看