黑馬程序員最新版JavaWeb基礎教程,Java web從入門到企業(yè)實戰(zhàn)完整版


JSTL使用
1.導入坐標
2.在jsp頁面上引入JSTL標簽庫
3.使用
<c:if>

EL主要功能:獲取域中路的數(shù)據(jù),前提時域中有值
${brands} : 獲取域中儲存的key為brands的數(shù)據(jù)
例子中為request域


現(xiàn)在主流的一些方式!

jsp三種腳本
1.<%....%>: 這個里面寫一般的java代碼 ,直接放到jspService方法里面,邏輯處理,輸出到控制臺
2.<%=.....%>: 這個里面寫的回直接打印到頁面,
這個里面寫的內(nèi)容會成為outprint的參數(shù)直接打印到頁面
3.<%!....%>: 這個里面寫的東西會放到jspService方法外部,class文件內(nèi)部,也就是成員部分,
定義成員方法,
定義成員變量

jsp原理:編譯文件中jsp被編譯成.class文件 實質(zhì)上就是一個servlet文件, 這個文件中有一個核心方法:jspService方法 ,每一次訪問jsp的時候都會訪問這個方法,這個里面就是調(diào)用.write方法輸出HTMl文件代碼
.

jsp本質(zhì)上就是一個servlet

字節(jié)流響應

response響應數(shù)據(jù) ,在瀏覽器頁面返回數(shù)據(jù),寫數(shù)據(jù)
動態(tài)獲取虛擬目錄的方法,降低代碼耦合性
request.getContextPath();

瀏覽器使用需要加虛擬目錄 就是雙層目錄
服務器使用不需要使用虛擬目錄 單程目錄

重定向特點方式方法!

request 儲存數(shù)據(jù) 請求轉(zhuǎn)發(fā)之后的頁面可以 獲取數(shù)據(jù) 也可以刪除數(shù)據(jù)


解決請求參數(shù)中文亂碼的問題
request.setCharacterEncoding("UTF-8");
只能解決post請求的亂碼問題,不可以解決get請求的亂碼問題
request獲取參數(shù)通用方式
它獲取的參數(shù)會被封裝成一個Map集合
三種方式獲取參數(shù) 1.所有map集合.2.數(shù)組3.單個值


HTTPServlet方法使用步驟及原理
post方式的請求參數(shù)位置在請求體里面
get方式的請求參數(shù) 在請求行里面
不同的請求方式要寫不同的請求處理邏輯
在service里面根據(jù)請求方式的不同,進行分別的處理
1.獲取請求方式
2.判斷請求方式是get還是post


getServletConfig方法

@WebServlet 中兩個屬性
1.urlPatterns 訪問路徑
2.loadOnStartup 修改Servlet被創(chuàng)建的時機,默認為-1 表示Servlet 第一次被訪問的時候調(diào)用init方法
改為0或正整數(shù)的 時候 表示服務器打開還沒訪問Servlet的時候創(chuàng)建對象 調(diào)用 init方法

servlet的三個關鍵方法
1. init方法 默認情況下Servlet第一次被訪問時被調(diào)用 該方法只會被調(diào)用一次 在控制臺!!!
2.service方法,提供服務,每次Servlet被訪問的時候調(diào)用
3.Destroy方法,銷毀方法,服務器關閉的時候,Servlet對象會被銷毀,調(diào)用 ,調(diào)用1尺
Servlet四個過程,三個生命周期


Tomcat插件的方式可以配置<port> 修改端口號
<path> 修改項目的訪問路徑
主鍵返回


分頁工具條

${}: EL表達式
JSTL:代替jsp中的java代碼!
使用之前先要導包
<c:if test = "${status ==1}">
啟用
</c:if>
iteam屬性:被遍歷的容器,
var: 遍歷產(chǎn)生的臨時變量
<c:forEach items="${brands}" var="brand">
</c:forEach>
Servlet->JSP->Servlet+JSP->Servlet+HTml+ajax
jsp的缺點7條
resultMap 標簽 column表列名 property實體類屬性名
sql片段替換
sql語句特殊字符處理 <
1,轉(zhuǎn)義字符
2,CDATA區(qū) CD提示出來

動態(tài)sql,用戶輸入缺失的條件,也可查詢,使用if判斷,test屬性進行條件判斷

<where>動態(tài)sql,當中間sql語句又and,語句不通時用,自動刪除and,智能添加刪除語句

choose(when , otherwise);相當于Java中的switch case default

添加后獲取主鍵id
開啟sqlsesition對象時可以true關閉事物,自動提交
html 本地路徑書寫方式

./a.jpg & a.jpg html頁面和路徑文件在同一個文件夾下面
../img/a.jpg html文件和img文件在不同文件夾
超鏈接 href target 屬性 _self 當前頁面打開 _blank 空白頁面打開
location.href = "baidu" 直接跳轉(zhuǎn)百度
DOM 文檔對象模型
onblur 元素失去焦點
onfocus 元素獲得焦點
如何調(diào)用另一個方法的局部變量,把該局部變量,放到類中當成成員變量,再用this.變量來給該成員變量賦值,其他變量可以通過訪問成員變量來訪問到該局部變量
HTTPservlet 接口:
1.doGet方法:直接輸入地址時訪問的方法
2.doPost方法:提交表單的時候提交的方法
get 和 post 的消息請求方式不一樣,我們要分別去處理
所以要獲取不同的請求方式去做不同的處理