JavaWeb知識詳解

JavaEE總結

JSP頁面的組成:

  1. 註釋元素:

    1. HTML中的註釋:;此註釋會顯示在客戶端中。
    2. JSP中的註釋<%-- 註釋–%>:不會顯示在客戶端,只會顯示在服務器端。
    3. 腳本元素中的註釋:// 多行/****/ 只能用於java腳本由於java腳本語言中。
  2. 指令元素

  3. page指令:

    1. language屬性 該屬性用於設置JSP頁面使用的語言,目前只支持Java語言。例:<%@ page language=”java” %>
    2. import屬性 該屬性用於設置JSP所導入的類包,JSP頁面可以嵌入Java代碼片段,這些Java代碼在調用API時需要導入相應的類包。例:<%@page import=”java.util.*” %>
    3. pageEncoding屬性 該屬性用於定義JSP頁面的編碼格式,指定的文件編碼格式。例:<%@ page pageEncoding=”UTF-8” %>
    4. contentType屬性 該屬性用於設置JSP頁面的MIME類型和字符編碼,瀏覽器會根據些解釋頁面。 例:<%@ page contentType=”text/html;charset=utf-8” %>
    5. session屬性 該屬性用於定義JSP頁面是否使用session會話對象,其值是boolean類型,默認值爲true. Eg:<%@ page session=”true” %>
    6. errorPage屬性 該屬性用於定義此JSP頁面發生錯誤時所轉發到的另外一個JSP頁面,用於處理此頁面所發生的錯誤。 Eg:<%@page errorPage=”error.jsp” %>
  4. include指令:nclude指令用於文件包含,該指令可以在一個JSP頁面中包含另外一個文件中的內容,並且只能支持靜態包含。

  5. taglib指令:taglib指令允許用戶使用標籤庫自定義新的標籤。

  6. 腳本元素:

    1. 全局變量:<%! 變量 %>,被轉換成servlet中的實例屬性和實例方法
    2. 表達式:<% = %>,相當於:System.out.prlntln()。
    3. 腳本:<% %>,最後會將多個的腳本文合併放在service()中。
  7. 動作元素:

    1. < jsp:param > :通過鍵值對的方式爲其他標籤提供附加信息;<jsp:param name="" value=""/>。
    2. < jsp:include >:文件包含,最終結果是包含兩個文件。也稱爲動態包含,是在運行的時候動態的查找此文件。
    3. < jsp:forward >:請求轉發,每當遇到此操作時,就停止執行當前的jsp,轉而執行被轉發的資源。
    4. < jsp:useBean >:導入javaBean。
    5. < jsp:plugin >:使用相關的插件。

JSP中內置的九大對象:

對象 作用
pageContext 表示JSP頁面容器,pageContext 對象的作用是取得任何範圍的參數,通過它可以獲取 JSP頁面的out、request、reponse、session、application 等對象。pageContext對象的創建和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext對象。
request 該對象代表了客戶端的請求信息,主要用於接受通過HTTP協議傳送到服務器的數據。(包括頭信息、系統信息、請求方式以及請求參數等)。request對象的作用域爲一次請求
response 代表的是對客戶端的響應,主要是將JSP容器處理過的對象傳回到客戶端。response對象也具有作用域,它只在JSP頁面內有效
session session 對象是由服務器自動創建的與用戶請求相關的對象。服務器爲每個用戶都生成一個session對象,用於保存該用戶的信息,跟蹤用戶的操作狀態。session對象內部使用Map類來保存數據,因此保存數據的格式爲 “Key/value”。 session對象的value可以使複雜的對象類型,而不僅僅侷限於字符串類型。
application application 對象可將信息保存在服務器中,直到服務器關閉,否則application對象中保存的信息會在整個應用中都有效。與session對象相比,application對象生命週期更長,類似於系統的“全局變量”。
out out 對象用於在Web瀏覽器內輸出信息,並且管理應用服務器上的輸出緩衝區。在使用 out 對象輸出數據時,可以對數據緩衝區進行操作,及時清除緩衝區中的殘餘數據,爲其他的輸出讓出緩衝空間。待數據輸出完畢後,要及時關閉輸出流。
config config 對象的主要作用是取得服務器的配置信息。通過 pageConext對象的 getServletConfig() 方法可以獲取一個config對象。當一個Servlet 初始化時,容器把某些信息通過 config對象傳遞給這個 Servlet。 開發者可以在web.xml 文件中爲應用程序環境中的Servlet程序和JSP頁面提供初始化參數。
page page 對象代表JSP本身,只有在JSP頁面內纔是合法的。 page隱含對象本質上包含當前 Servlet接口引用的變量,類似於Java編程中的 this 指針。
exception exception 對象的作用是顯示異常信息,只有在包含 isErrorPage=“true” 的頁面中才可以被使用,在一般的JSP頁面中使用該對象將無法編譯JSP文件。excepation對象和Java的所有對象一樣,都具有系統提供的繼承結構。exception 對象幾乎定義了所有異常情況。在Java程序中,可以使用try/catch關鍵字來處理異常情況; 如果在JSP頁面中出現沒有捕獲到的異常,就會生成 exception 對象,並把 exception 對象傳送到在page指令中設定的錯誤頁面中,然後在錯誤頁面中處理相應的 exception 對象。

JSP的執行過程:

  1. 客戶端發起請求:
  2. web容器將jsp主轉化爲servlet代碼,就是將其翻譯爲文件名_jsp.java的代碼。
  3. 將servlet轉化爲class文件。
  4. web容器加載class文件並執行。
  5. 將執行的結果相應給客戶端。

再次相應的時候直接進行第四步,直到修改了源文件後纔會將其重新編譯。

session和cookie

cookie :

​ 客戶在訪問服務器的時候,服務器會將一些數據 通過key/value的形式發送給客戶端,並加上一些限制條件,在條件符合時,這個用戶下次訪問這個服務器的時候,數據將會被完整的帶回給服務器。

session:

​ 客戶在第一次訪問服務器的時候,服務器會生成一個HttpSession的對象,並交給Manager中的session容器管理,以後每次客戶端在訪問的時候,會將原來的sessionID通過或cookie(名爲JSESSIONID)交給服務器,如果瀏覽器禁用了cookie的話,會將這個鍵值對放在URLpath中。

兩者的異同:

session cookie
保存的位置 服務器端 客戶端
安全性 較安全 較不安全
保存的內容 Object String
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章