JSP基礎

     JSP全名爲Java Server Pages,其根本是一個簡化的Servlet設計,他實現了Html語法中的java擴張(以 <%, %>形式)。JSP與Servlet一樣,是在服務器端執行的。它在動態頁面建設中有着強大而特殊的功能,並有

動態網頁是指在服務器端運行的,使用程序語言設計的交互式網頁,他們會根據某種條件的變化,返回不同的頁面內容。其優勢主要有
    交互性:可以實現與用戶的交互功能。
    自動更新:無須改變頁面代碼,便會自動生成新的頁面內容,可以大大節省工作量。
    隨機性:不同時間、不同的人訪問同一個網址時會產生不同的效果。
JSP的執行過程
    1、翻譯階段.java    2、編譯階段.class    3、執行階段

在JSP頁面中,將表達式(expression)、小腳本(scriptlet)、聲明(declaration)統稱爲JSP腳本元素,用於在JSP頁面中嵌入Java代碼,實現頁面的動態請求。
    JSP指令元素:通過設置指令中的屬性,在JSP運行時,控制JSP頁面的某些特性。
    <%@   指令  %>
    小腳本:小腳本可以包含任意的Java片段,形式比較靈活,通過在JSP頁面中編寫的小腳本可以執行復雜的操作和業務處理。小腳本中定義的變量都是局部變量。
        <% Java代碼 %>
    表達式:表達式是對數據的表示,系統將其作爲一個值進行計算和顯示。當需要在頁面中獲取一個變量或者表達值時,使用表達式是非常方便的。注意:在JSP中使用表達式顯示數據是,則不能在表達式結尾處添加分號。
        <%= 表達式 %>
    聲明:用來定義Java腳本中的成員變量和方法。
        <%! 成員變量和方法 %>

JSP數據交互
 請求
    方式一:使用表單請求。使用request內置對象。
    方式二:使用URL重寫
        <a href = "目標地址"?參數1&參數2&參數3></a>
    方式三:使用隱藏表單域,適合服務器端跟蹤客戶端狀態,但有不希望客戶端可見。

應答
    方式一:彈出消息框。(不友好,不推薦使用)
    方式二:重定向
    方式三:請求轉發

數據共享
    JSP是通過不同的作用域(我們可以理解爲一個存放數據的容器)來實現頁面之間的數據傳遞。按可見度從小到大依次爲。
        1.page(僅用於當前頁面,其提供的內置對象名稱爲pageContext)
        2.request(僅用於一次請求轉發)
        3.session(僅用於一個瀏覽器的不同窗口)
        4.application(適用於該服務器的所有客戶端)
    從存放數據的語法角度來講,以上四種作用域均提供了一組相同的方法。
        作用域對象.setAttribute(String key,Object value);//寫入數據,存放的數據會轉換成Object
        作用域對象.getAttribute(String key);//讀取數據,得到的類型是Object類型,如賦給其他類型變量需要進行類型轉換。

亂碼處理(在JSP開發中必然會遇到的問題
    方式一:使用request.setCharacterEncoding("編碼");但該方式僅適用於"post"請求。
    方式二:使用字節數組解碼(最好編寫一個編碼過濾類)
            byte[] b = 源字符串.getByte("原編碼");//解碼
            String s = new String(b,"新編碼");



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章