zoukankan      html  css  js  c++  java
  • Servlet和JSP的通信

    从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起作用了
  • 相关阅读:
    pyqt的setObjectName()/findChild()
    pyqt的多Button的点击事件的槽函数的区分发送signal的按钮。
    分布式存储
    QTableWidget的表头颜色设置
    QListView的子项的ViewMode
    QHeaderView的点击和双击事件
    LeetCode(63):不同路径 II
    LeetCode(62):不同路径
    LeetCode(61):旋转链表
    LeetCode(60): 第k个排列
  • 原文地址:https://www.cnblogs.com/Sherlock-J/p/12926047.html
Copyright © 2011-2022 走看看