整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          干貨分享:帶你玩轉JSP網站開發技術

          干貨分享:帶你玩轉JSP網站開發技術

          avaServer Pages(JSP) 是一種服務器端編程技術,能夠為構建基于 Web 的應用程序創建動態的獨立于平臺的方法。JSP 可以訪問 Java API 的整個家族,包括訪問企業級數據庫的 JDBC API。

          本文章幫助初學者們了解 JavaServer Pages(JSP) 的基本功能,從而開發自己的 Web 應用程序。學習后你會發現自己處于一個使用 JSP 專業知識的中等水平,之后你可以達到更高的水平。

          搭配視頻觀看效果更佳~~

          Jsp入門到精通

          https://www.ixigua.com/6772333813507817987

          什么是JSP?

          JSP全稱Java Server Pages,是一種動態網頁開發技術。它使用JSP標簽在HTML網頁中插入Java代碼。標簽通常以<%開頭以%>結束。

          JSP是一種Java servlet,主要用于實現Java web應用程序的用戶界面部分。網頁開發者們通過結合HTML代碼、XHTML代碼、XML元素以及嵌入JSP操作和命令來編寫JSP。

          JSP通過網頁表單獲取用戶輸入數據、訪問數據庫及其他數據源,然后動態地創建網頁。

          JSP標簽有多種功能,比如訪問數據庫、記錄用戶選擇信息、訪問JavaBeans組件等,還可以在不同的網頁中傳遞控制信息和共享信息。

          JSP特點

          ● 能以模板化的方式簡單、高效地添加動態網頁內容。

          ● 可利用JavaBean和標簽庫技術復用常用的功能代碼(設計好的組件容易實現重復利用,減少重復勞動)。標簽庫不僅帶有通用的內置標簽(JSTL),而且支持可擴展功能的自定義標簽。

          ●有良好的工具支持。

          ● 繼承了Java語言的相對易用性。

          ● 繼承了Java的跨平臺優勢,實現“一次編寫,處處運行”。因為支持Java及其相關技術的開發平臺多,網站開發人員可以選擇在最適合自己的系統平臺上進行JSP開發;不同環境下開發的JSP項目,在所有客戶端上都能順利訪問。

          ● 頁面中的動(控制變動內容的部分)/靜(內容不需變動的部分)區域以分散但又有序的形式組合在一起,能使人更直觀地看出頁面代碼的整體結構,也使得設計頁面效果和程序邏輯這2部分工作容易分離(外觀視圖與邏輯分離)。從而方便分配人員并發揮各自長處,實現高效地分工合作。

          ● 可與其它企業級Java技術相互配合。JSP可以只專門負責頁面中的數據呈現,實現分層開發。

          JSP規范

          一、介紹:

          1.JSP是sun公司提供一個規范

          2.JSP規范用于封裝響應對象簡化將Servlet處理結果寫入到響應體開發難度

          二、響應對象使用時問題

          1.手動設置響應頭content-type

          2.手動索要一個輸出流對象

          3.手動將結果寫入到響應體

          三、JSP優勢

          開發人員你只需考慮哪些內容需要寫入到響應體不需要考慮寫入到響應包中過程

          jsp文件"運行時"自動將文件內部所有與Java命令無關()的內容自動寫入到響應體

          四、jsp文件中java命令書寫規范

          1.執行標簽

          1) 格式: :

          <%

          java命令行;

          %>

          2) 作用:用于提示JSP文件在運行時不要將執行標簽中Java命令寫入到響應體通知JSP文件在運行時需要將執行標簽中內容執行完畢后再做輸出

          3) java命令行:

          • 聲明變量
          • 聲明運算表達式[數學,關系運算,邏輯運算]
          • 聲明控制語句和循環語句

          2.輸出標簽

          1) 格式::

          <%=變量名%>

          <%=運算表達式%>

          2) 作用:

          在jsp文件運行時,通知JSP將指定變量內容或則表達式結果寫入到響應體

          五、jsp文件中內置對象---九

          1.ServletContext application

          2. HttpSession session

          3.HttpServletRequest request

          六、Servlet與jsp文件之間關系

          1.Servlet: 接收請求并處理請求,但是Servlet不負責將處理結果返回

          -----相當于"大廚"

          2.JSP:不負責處理請求,負責將Servlet生成的處理結果寫入到響應體

          -----相當于"傳菜員"

          3.Servlet與jsp之間調用關系

          請求轉發

          瀏覽器------>Servlet(處理請求)----------->jsp--->處理結果寫入到響應體

          4.Servlet與jsp之間如何共享數據借助于request

          七、JSP運行原理【面試必考題】

          1.JSP文件不是靜態資源文件也不是動態資源文件

          2.JSP文件不能被編譯不能被調用執行

          3.運行原理:

          1)tomcat接收到調用jsp文件(one.jsp)請求時,tomcat將被訪問jsp【編輯】為java文件(one_jsp.java)

          2)tomcat調用JVM將java文件【編譯】為class文件(one_jsp.class)

          3) 這個class文件是一個Servlet接口實現類

          4)tomcat通過反射機制生成這個class文件的實例對象

          5)tomcat通過實例對象調用_jspService方法,這個方法在運行時負責通過輸出流將jsp文件內容寫入到響應體

          yEclipse官方最新版免費下載|Myeclipse漢化下載.MyEclipse-功能最全面的Java IDE. - MyEclipse官方中文網

          如果您有HTML或JSP文件要編輯,這里將介紹如何編輯。查找以下信息:

          • 編輯源代碼
          • 大綱和屬性視圖
          • 參數頁面

          該功能在MyEclipse中是可用的。

          一、HTML / JSP編輯器

          要編輯HTML或JSP文件,請執行以下操作當中的一個:

          • 雙擊HTML或JSP文件。
          • 右鍵單擊HTML或JSP文件,并選擇Open。

          HTML編輯器有以下模式:

          • 源模式 — 源模式是HTML和JSP代碼的源代碼編輯器,它包括智能內容輔助、行編號、彩色語法高亮顯示、格式操作、實時驗證、在輸入時標記有問題的源代碼以及代碼格式化。
          • 設計模式 — 設計模式具有雙面板視圖,頂部面板為設計模式,底部面板為源模式。設計模式為所見即所得的可視化編輯模式,設計畫布允許選擇、復制、剪切、粘貼和使用拖放重新定位Web UI控件。此模式包括一個設計調色板,其中包含可以添加到設計畫布的UI Web控件。
          • 預覽模式 — 預覽模式允許用戶快速查看頁面在瀏覽器中的外觀,預覽模式從設計模式加載當前源代碼,即使編輯器內容尚未保存。HTML源代碼以預覽模式呈現,并且“扎根”于資源所在的位置。如果HTML文檔中的圖像相對于HTML頁面的當前位置,則圖像將在預覽中正確呈現。

          打開文件時,默認模式是Design(設計),通過單擊編輯器底部的適當選項卡來更改模式。

          本文概述了使用源代碼編輯器編輯HTML時最重要的概念和特性。

          二、編輯源代碼

          用戶可以從源代碼模式或設計模式訪問源代碼,設計模式具有雙面板視圖,設計模式位于頂部面板,源模式位于底部面板。

          直接編輯源代碼時,可以使用以下功能:

          • 語法、顏色和高亮
          • 智能代碼完成和內容輔助
          • HTML驗證
          • 源格式和清理
          • HTML模板
          • HTML片段

          2.1 智能代碼完成和內容輔助

          在整個源代碼中,編輯器提供特定于內容的代碼幫助。

          Tag names(標記名稱):Code assist根據當前上下文提供可用HTML標記的列表。

          Tag attributes(標記屬性):代碼輔助提供了特定于正在編輯的標記屬性列表。

          Attribute values(屬性值):在適當的時候,代碼幫助會為您提供一個已知可能值的列表。

          2.2 HTML驗證

          有兩種類型的HTML驗證:“輸入時”和“資源更改”。

          “輸入時”:當對HTML文檔進行更改時,編輯器總是檢查HTML語法的有效性,就像Java編輯器一樣。

          注意:這種類型的驗證錯誤和警告不會出現在Problems視圖中。

          資源更改:當資源被修改(保存、移動、復制或導入)時,資源構建器將對資源執行HTML驗證。

          注意:您可以通過從菜單中選擇Window>Preferences,展開MyEclipse并選擇Validation來設置驗證參數。

          2.3 源格式化和清理

          要快速格式化源代碼,請右鍵單擊編輯器,并選擇Source>Format。格式化器不會在內部修改HTML標記元素,它只調整HTML元素的縮進和間距。

          使用Cleanup Document選項進行高級格式化和樣式調整,允許您更改標記名稱和屬性的大小寫,還有其他選項可以插入所需的標記和屬性。要使用此選項,請在編輯器中右鍵單擊并選擇Source>Cleanup Document,選擇Format source復選框,來將Format Document操作作為文檔清理的一部分。

          件上傳就是對文件進行讀寫,需要編寫大量的代碼來實現,而且容易發生異常。幸運的是,有很多實用的工具,可以幫助我們實現文件上傳的功能,其中應用比較多的是 Commons-FileUpload 組件。本節我們在 JSP 中使用 Commons-FileUpload 組件來實現文件上傳。

            Commons-FileUpload 組件具有以下特點:

            使用簡單:Commons-FileUpload 可以內嵌到 JSP 頁面中,所以只需要編寫少量的代碼就可以完成文件的上傳功能。

            能夠全程控制上傳內容:使用 Commons-FileUpload 組件提供的對象及操作方法,可以獲得上傳文件的信息,即文件名稱、類型和大小等。

            能夠控制上傳文件的大小和類型:為了避免在上傳過程中出現異常數據,Commons-FileUpload 組件提供了相應的方法來控制上傳文件。

            Commons-FileUpload 組件依賴于 FileUpload 和 Commons,需要 commons-fileupload-xx.jar 和 commons-io-xx.jar 文件。

            commons-fileupload-xx.jar 下載地址:https://commons.apache.org/fileupload/

            commons-io-xx.jar 下載地址:https://commons.apache.org/io/

            Commons-FileUpload組件API

            下面我們介紹一下 Commons-FileUpload 組件的接口和實現類。

            1. ServletFileUpload類

            ServletFileUpload 類用于實現文件上傳操作,常用方法如下:

          方 法

          說 明

          public void setSizeMax(long sizeMax)

          設置上傳文件總量的最大值 (包含文件和表單數據)

          public List parseRequest(HttpServletRequest req)

          解析 form 表單提交的數據,返回一個 FileItem 實例的集合

          public static final boolean isMultipartContent(HttpServletRequest req)

          判斷請求信息中的內容是否是”multipart/form-data“類型,是則返回 true,否則返回 false。

          public void setHeaderEncoding(String encoding)

          設置轉換時所使用的字符集編碼

            2. FileItem接口

            FileItem 接口用于封裝單個表單字段元素的數據,一個表單字段對應一個 FileItem 實例,本節示例中使用的是其實現類 DiskFileItem。FileItem 接口提供的常用方法如下:

          方 法

          說 明

          public boolean isFormField()

          用于判斷 FileItem 類對象封裝的數據是一個普通文本表單字段,還是一個文件表單字段,如果是普通表單字段則返回 true,否則返回 false。因此,可以使用該方法判斷是否為普通表單域,還是文件上傳表單域。

          public String getName()

          獲取文件上傳的文件名

          public String getFieldName()

          返回表單字段元素的 name 屬性值

          public long getSize()

          獲取上傳文件的大小

          public String getString()

          將 FileItem 對象中保存的主體內容以一個字符串返回。其重載方法 public String getString(String encoding) 中的參數用指定的字符集編碼方式

          public void write()

          將 FileItem 對象中保存的主體內容保存到指定的文件中。

            3. FileItemFactory接口與實現類

            創建 ServletFileUpload 實例需要依賴 FileItemFactory 工廠接口。DiskFileItemFactory 是 FileItemFactory 接口的實現類,該類的常用方法如下。

          方 法

          說 明

          public void setSizeThreshold(int sizeThreshold)

          設置內存緩沖區的大小

          public void setRepository(String path)

          設置臨時文件存放的目錄

            JSP上傳文件

            JSP 和 HTML Form 標簽一起使用,來允許用戶把文件上傳到服務器。上傳的文件可以是文本文件、圖像文件或其它任何文檔。

            創建上傳文件表單時,需要注意以下幾點:

            表單的 method 屬性必須設置為 POST 方法,不能使用 GET 方法。

            表單 enctype 屬性應設置為 multipart/form-data。

            表單 action 屬性應設置為對應的 Servlet,用來處理文件上傳的邏輯代碼,下面示例中使用 FileUploadServlet 處理邏輯。

            使用 標簽上傳單個文件,屬性 type="file"。上傳多個文件需添加多個 標簽。

            拓展

            表單的 enctype 屬性有以下 3 個值:

            1、application/x-www-form-urlencoded:默認值,用于處理少量文本數據的傳遞。向服務器發送大量的文件或二進制數據時,效率很低。

            2、multipart/form-data:上傳二進制數據,只有使用了 multipart/form-data 才能完整的傳遞文件數據,進行上傳操作。

            3、text/plain:用于向服務器傳遞大量文本數據,適用于電子郵件的應用。


          開課吧廣場-人才學習交流平臺


          主站蜘蛛池模板: 国产日韩精品一区二区在线观看 | 免费高清在线影片一区| 中文字幕一区二区三区久久网站| 国产精品久久一区二区三区| 久久精品国产亚洲一区二区三区| 无码少妇丰满熟妇一区二区| 国99精品无码一区二区三区| 国产精品被窝福利一区 | 国产主播一区二区三区| 99精品一区二区三区| 色噜噜AV亚洲色一区二区| 视频一区视频二区在线观看| 国内精品一区二区三区最新| 中文字幕乱码人妻一区二区三区| 久久精品视频一区二区三区| 中文字幕一区二区人妻性色 | 亚洲午夜精品一区二区| 相泽亚洲一区中文字幕| 国产福利一区二区在线视频| 波多野结衣一区二区三区88| 日韩在线视频一区| 成人精品一区二区三区校园激情| 亚洲午夜一区二区电影院| 亚洲视频一区调教| 精品福利一区二区三区免费视频| 国产波霸爆乳一区二区| 亚洲国产激情在线一区| 亚洲视频一区在线观看| 日韩精品无码一区二区中文字幕 | 亚洲国产精品一区二区三区在线观看| 亚洲国产精品一区第二页 | 激情亚洲一区国产精品| 国产精品综合AV一区二区国产馆| 国产成人精品久久一区二区三区| 精品熟人妻一区二区三区四区不卡| 亚洲天堂一区在线| 无码一区二区三区中文字幕| 八戒久久精品一区二区三区| 久久久久国产一区二区| 国内国外日产一区二区| 日韩精品无码免费一区二区三区 |