<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    JSP基礎

    JSP(JavaServer Pages) 是與 PHPASPASP.NET 等類似的腳本語言,JSP是為了簡化Servlet的處理流程而出現的替代品,早期的Java EE因為只能使用Servlet來處理客戶端請求而顯得非常的繁瑣和不便,使用JSP可以快速的完成后端邏輯請求。

    正因為在JSP中可以直接調用Java代碼來實現后端邏輯的這一特性,黑客通常會編寫帶有惡意攻擊的JSP文件(俗稱WebShell)來實現對服務器資源的惡意請求和控制。

    現代的MVC框架(如:Spring MVC 5.x)已經完全拋棄了JSP技術,采用了模板引擎(如:Freemark)或者RESTful的方式來實現與客戶端的交互工作,或許某一天JSP技術也將會隨著產品研發的迭代而徹底消失。

    JSP 三大指令

    1. <%@ page ... %> 定義網頁依賴屬性,比如腳本語言、error頁面、緩存需求等等

    2. <%@ include ... %> 包含其他文件(靜態包含)

    3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 引入標簽庫的定義

    JSP 表達式(EL)

    EL表達式(Expression Language)語言,常用于在jsp頁面中獲取請求中的值,如獲取在Servlet中設置的Attribute:${名稱}。使用EL表達式可以實現命令執行,我們將會在后續EL表達式章節中詳細講解。

    JSP 標準標簽庫(JSTL)

    JSP標準標簽庫(JSTL)是一個JSP標簽集合,它封裝了JSP應用的通用核心功能。

    JSTL支持通用的、結構化的任務,比如迭代,條件判斷,XML文檔操作,國際化標簽,SQL標簽。 除了這些,它還提供了一個框架來使用集成JSTL的自定義標簽。

    JSP 九大對象

    從本質上說 JSP 就是一個Servlet,JSP 引擎在調用 JSP 對應的 jspServlet 時,會傳遞或創建 9 個與 web 開發相關的對象供 jspServlet 使用。 JSP 技術的設計者為便于開發人員在編寫 JSP 頁面時獲得這些 web 對象的引用,特意定義了 9 個相應的變量,開發人員在JSP頁面中通過這些變量就可以快速獲得這 9 大對象的引用。

    如下:

    變量名 類型 作用
    pageContext PageContext 當前頁面共享數據,還可以獲取其他8個內置對象
    request HttpServletRequest 客戶端請求對象,包含了所有客戶端請求信息
    session HttpSession 請求會話
    application ServletContext 全局對象,所有用戶間共享數據
    response HttpServletResponse 響應對象,主要用于服務器端設置響應信息
    page Object 當前Servlet對象,this
    out JspWriter 輸出對象,數據輸出到頁面上
    config ServletConfig Servlet的配置對象
    exception Throwable 異常對象

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类