日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

五、Web服务器——MVC开发模式 EL表达式 JSTL 学习笔记

發布時間:2024/7/5 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 五、Web服务器——MVC开发模式 EL表达式 JSTL 学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今日內容

1. JSP:1. 指令2. 注釋3. 內置對象2. MVC開發模式 3. EL表達式 4. JSTL標簽 5. 三層架構

JSP:

1. 指令* 作用:用于配置JSP頁面,導入資源文件* 格式:<%@ 指令名稱 屬性名1=屬性值1 屬性名2=屬性值2 ... %>* 分類:1. page : 配置JSP頁面的* contentType:等同于response.setContentType()1. 設置響應體的mime類型以及字符集2. 設置當前jsp頁面的編碼(只能是高級的IDE才能生效,如果使用低級工具,則需要設置pageEncoding屬性設置當前頁面的字符集)* import:導包* errorPage:當前頁面發生異常后,會自動跳轉到指定的錯誤頁面* isErrorPage:標識當前也是是否是錯誤頁面。* true:是,可以使用內置對象exception* false:否。默認值。不可以使用內置對象exception2. include : 頁面包含的。導入頁面的資源文件* <%@include file="top.jsp"%>3. taglib : 導入資源* <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>* prefix:前綴,自定義的 2. 注釋:1. html注釋:<!-- -->:只能注釋html代碼片段2. jsp注釋:推薦使用<%-- --%>:可以注釋所有3. 內置對象* 在jsp頁面中不需要創建,直接使用的對象* 一共有9個:變量名 真實類型 作用* pageContext PageContext 當前頁面共享數據,還可以獲取其他八個內置對象* request HttpServletRequest 一次請求訪問的多個資源(轉發)* session HttpSession 一次會話的多個請求間* application ServletContext 所有用戶間共享數據* response HttpServletResponse 響應對象* page Object 當前頁面(Servlet)的對象 this* out JspWriter 輸出對象,數據輸出到頁面上* config ServletConfig Servlet的配置對象* exception Throwable 異常對象

MVC:開發模式

1. jsp演變歷史1. 早期只有servlet,只能使用response輸出標簽數據,非常麻煩2. 后來又jsp,簡化了Servlet的開發,如果過度使用jsp,在jsp中即寫大量的java代碼,有寫html表,造成難于維護,難于分工協作3. 再后來,java的web開發,借鑒mvc開發模式,使得程序的設計更加合理性2. MVC:1. M:Model,模型。JavaBean* 完成具體的業務操作,如:查詢數據庫,封裝對象2. V:View,視圖。JSP* 展示數據3. C:Controller,控制器。Servlet* 獲取用戶的輸入* 調用模型* 將數據交給視圖進行展示

* 優缺點:1. 優點:1. 耦合性低,方便維護,可以利于分工協作2. 重用性高2. 缺點:1. 使得項目架構變得復雜,對開發人員要求高

EL表達式

1. 概念:Expression Language 表達式語言 2. 作用:替換和簡化jsp頁面中java代碼的編寫 3. 語法:${表達式} 4. 注意:* jsp默認支持el表達式的。如果要忽略el表達式1. 設置jsp中page指令中:isELIgnored="true" 忽略當前jsp頁面中所有的el表達式2. \${表達式} :忽略當前這個el表達式5. 使用:1. 運算:* 運算符:1. 算數運算符: + - * /(div) %(mod)2. 比較運算符: > < >= <= == !=3. 邏輯運算符: &&(and) ||(or) !(not)4. 空運算符: empty* 功能:用于判斷字符串、集合、數組對象是否為null或者長度是否為0* ${empty list}:判斷字符串、集合、數組對象是否為null或者長度為0* ${not empty str}:表示判斷字符串、集合、數組對象是否不為null 并且 長度>02. 獲取值1. el表達式只能從域對象中獲取值2. 語法:1. ${域名稱.鍵名}:從指定域中獲取指定鍵的值* 域名稱:1. pageScope --> pageContext2. requestScope --> request3. sessionScope --> session4. applicationScope --> application(ServletContext)* 舉例:在request域中存儲了name=張三* 獲取:${requestScope.name}2. ${鍵名}:表示依次從最小的域中查找是否有該鍵對應的值,直到找到為止。3. 獲取對象、List集合、Map集合的值1. 對象:${域名稱.鍵名.屬性名}* 本質上會去調用對象的getter方法2. List集合:${域名稱.鍵名[索引]}3. Map集合:* ${域名稱.鍵名.key名稱}* ${域名稱.鍵名["key名稱"]}3. 隱式對象:* el表達式中有11個隱式對象* pageContext:* 獲取jsp其他八個內置對象* ${pageContext.request.contextPath}:動態獲取虛擬目錄

JSTL

1. 概念:JavaServer Pages Tag Library JSP標準標簽庫* 是由Apache組織提供的開源的免費的jsp標簽 <標簽>2. 作用:用于簡化和替換jsp頁面上的java代碼 3. 使用步驟:1. 導入jstl相關jar包2. 引入標簽庫:taglib指令: <%@ taglib %>3. 使用標簽4. 常用的JSTL標簽1. if:相當于java代碼的if語句1. 屬性:* test 必須屬性,接受boolean表達式* 如果表達式為true,則顯示if標簽體內容,如果為false,則不顯示標簽體內容* 一般情況下,test屬性值會結合el表達式一起使用2. 注意:* c:if標簽沒有else情況,想要else情況,則可以在定義一個c:if標簽2. choose:相當于java代碼的switch語句1. 使用choose標簽聲明 相當于switch聲明2. 使用when標簽做判斷 相當于case3. 使用otherwise標簽做其他情況的聲明 相當于default3. foreach:相當于java代碼的for語句5. 練習:* 需求:在request域中有一個存有User對象的List集合。需要使用jstl+el將list集合數據展示到jsp頁面的表格table中

三層架構:軟件設計架構

1. 界面層(表示層):用戶看的得界面。用戶可以通過界面上的組件和服務器進行交互 2. 業務邏輯層:處理業務邏輯的。 3. 數據訪問層:操作數據存儲文件。

案例:用戶信息列表展示

1. 需求:用戶信息的增刪改查操作 2. 設計:1. 技術選型:Servlet+JSP+MySQL+JDBCTempleat+Duird+BeanUtilS+tomcat2. 數據庫設計:create database day17; -- 創建數據庫use day17; -- 使用數據庫create table user( -- 創建表id int primary key auto_increment,name varchar(20) not null,gender varchar(5),age int,address varchar(32),qq varchar(20),email varchar(50));3. 開發:1. 環境搭建1. 創建數據庫環境2. 創建項目,導入需要的jar包2. 編碼4. 測試 5. 部署運維

總結

以上是生活随笔為你收集整理的五、Web服务器——MVC开发模式 EL表达式 JSTL 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。