JSP三個指令及9個內置對象

注:本文編寫方便本身之後用到時查閱html

三大指令:include、 page、taglib

include指令: 

  做用: 在當前頁面用於包含其餘頁面java

  語法: <%@include file="xxx.jsp"%>
瀏覽器

  注意:tomcat

  1)原理是把被包含的頁面(xxx.jsp)的內容翻譯到包含頁面中,合併成翻譯成一 個java源文件,再編譯運行,這種包含叫靜態包含(源碼包含)服務器

  2)若是使用靜態包含,被包含頁面中不須要出現全局的html標籤了!!!(如html、head、 body 固然出現也不會報錯)session

page指令: 

  做用: 告訴tomcat服務器如何把jsp文件翻譯成java文件app

  默認寫法:<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>jsp

  屬性介紹:工具

    language="java"   //告訴服務器使用什麼動態語言來翻譯jsp文件開發工具

    import="java.util.*" //告訴服務器java文件使用什麼包導入包,多個包之間用逗號分割

    pageEncoding="utf-8"  //告訴服務器使用什麼編碼翻譯jsp文件(成java文件)

              注意:在開發工具中,之後只須要設置pageEncoding便可解決中文亂碼問題,由於contentType屬性會默認設置和pageEncoding一致

    contentType="text/html; charset=utf-8" //服務器發送瀏覽器的數據類型和內容編碼

    errorPage="error.jsp" //配置了以後,當頁面運行出錯後,會跳轉到對應的錯誤頁面

    isErrorPage="false" //默認爲false,當設爲true後,能夠使用內置對象exception,不然不能使用

    buffer="8kb" //out內置對象的款存大小,當超過款存後,立馬向瀏覽器中寫出內容

    session="true" //是否能夠使用內置對象session,默認true

    isELIgnored="false" //是否忽略EL表達式,默認false

taglib指令: 

  做用:用於導入jstl標籤庫

 

9個內置對象
內置對象 對應的類型 解釋
request HttpServletRequest  
response HttpServletResponse  
config ServletConfig  
application ServletContext  
session HttpSession  
exception Throwable  
page Object(this) 當前頁面編譯後的class
out JspWriter  
pageContext PageContext  

 

             

         

              

       

           

        

               

                 

   

 

 

 

pageContext對象: 

  pageContext對象的類型是PageContext,叫jsp的上下文對象

  1)能夠獲取其餘八個內置對象

  如:

1 HttpServletRequest  request= pageContext.getRequest(); //等價於request內置對象
2 HttpServletResponse response = pageContext.getResponse(); ////等價於response內置對象
3 HttpSession session = pageContext.getSession(); //...
4 JspWriter out = pageContext.getOut(); //...
5 
6  ...

  2)自己是一個域對象

  #四個域對象

ServletContext context
HttpServletRequet session
HttpSession request
PageContext page
做用: 保存數據和獲取數據,用於共享數據

 

                   

              

                       

                  

    

  #保存數據

    1)默認狀況下,保存到page

      pageContext.setAttribute("name");

    2)能夠向四個域對象保存數據

      pageContext.setAttribute("name",域範圍常量)

  #獲取數據

    1)默認狀況下,從page域獲取

      pageContext.getAttribute("name")

    2)能夠從四個域中獲取數據

      pageContext.getAttribute("name",域範圍常量)

  #域範圍常量:

    PageContext.PAGE_SCOPE

    PageContext.REQUEST_SCOPE

    PageContext..SESSION_SCOPE

    PageContext.APPLICATION_SCOPE

  3)自動在四個域中搜索數據

    pageContext.findAttribute("name"); //搜索順序: page-> request-> session- > context域(application域)

相關文章
相關標籤/搜索