JavaWeb開發知識體系圖
借鑑 :http://www.jikexueyuan.com/path/javaweb
一:
1. Java 核心知識
J2SE是J2EE的技術基礎,所以熟練掌握J2SE的內容非常重要。本階段講解了Java的核心語法及基本使用。
二:
2. JSP
JSP、PHP、ASP.NET 三門技術被稱為 Web 後端開發的 3P 技術,其中 JSP 依託 J2EE 平臺更是 Web 開發領域的一枝獨秀。學好 JSP,是進入 J2EE 企業開發的第一步。通過本階段內容的學習,你將能夠搭建 JSP 的開發環境,瞭解 JSP 的基本語法及內部物件的使用。
1.jsp的語言特點:
jsp是一種指令碼語言,
jsp擁有java語言的所有特性
jsp運行於jsp容器中
jsp會被轉換成Servlet
2.jsp的基本語法
jsp程式段:其中定義的變數是區域性變數
<%
String hello = "hello word";
out.print(hello);
%>
jsp程式段:其中定義的變數,函式,類是全域性的,定義完後可以在頁面的其他地方使用
<%!String hello = "hehe";%>
jsp表示式:可以把表示式的值做為字串直接輸出
<%="表示式"%>
註釋:
<%--jsp註釋 --%> 不會被傳到瀏覽器
<!-- html註釋 --> 會被傳到瀏覽器,但還是註釋
3.jsp的編譯指令和動作指令
編譯指令和動作指令的區別:編譯指令只在jsp轉化成servlet中起作用,而動作指令是客戶端在請求時動態被執行的(客戶端每次請求時都有可能被執行)
(1)page編譯指令
一般位於頁面的最上方,一個頁面可以有多個page編譯指令
① 用於指定jsp程式所使用的指令碼語言的程式
② 設定網頁的屬性和編碼
③用於設定jsp程式本身的編碼
import屬性用於匯入java類,有兩種方式
①
②
errorPage屬性的使用
第一步先模擬一個異常的jsp,並指定發生異常後跳轉的jsp頁面
① 使用errorPage指定發生異常後跳轉的頁面
②
在body體內偽造一個異常
第二步在handler_error.jsp使用isErrorPage="true",並處理異常
如果不指定errorPager屬性的情況下會直接報異常
(2)include編譯指令
include是jsp的靜態編譯指令,可以將一個web檔案(html檔案或者jsp檔案)包含到當前的jsp檔案中
(3)forward動作指令:重定向指令
<jsp:forward page="login.jsp"></jsp:forward>
forward指令後面的程式碼不會被執行也不會被輸出到客戶端
forward跳轉到新的介面的時候攜帶引數的方法
<jsp:forward page="login.jsp">
<jsp:param value="lupeng" name="username" />
<jsp:param value="123" name="password" />
</jsp:forward>
在login的介面獲取引數
String userName = request.getParameter("username");
String password = request.getParameter("password");
(4)include動作指令
① include進來head標籤
②include進來body標籤,並傳遞引數
下面的是body.jsp檔案
(4)useBean動作指令
表單提交資料
表單介面
不適用useBean的情況,獲取資料
如果使用userBean必須先new一個javaBean,與上傳的資料型別對應,獲取的方法如下
使用useBean傳資料的時候,表單介面中name的值必須與JavaBean中屬性名一直,否則傳不過來
4.jsp內建物件
① out物件 用於向客戶端、瀏覽器輸出資料
② request物件 封裝了來自客戶端、瀏覽器的各種資訊
request.getMethod();獲取請求的方法名
request.getRequestURI();獲取請求資源
request.getProtocol();獲取請求使用的協議
request.getServerName();獲取請求的伺服器IP
request.getServerPort();獲取請求的伺服器埠
request.getRemoteAddr();獲取客戶端的IP地址
request.getRemoteHost();獲取客戶端的主機名
request.getParameter("");獲取表單提交的值
getParameter("");方法用於獲取客戶端、瀏覽器提交的表單資料,而request.setAttribute("",
"");
和request.getAttribute("");用於在web元件之間共享資料
③ response物件 封裝了伺服器的響應資訊
response.setHeader(arg0, arg1)設定請求頭
response.setIntHeader("refresh", 2);設定每隔兩秒請求一次
response.sendRedirect(url);實現頁面跳轉
使用response設定Cookie
Cookie
myCookie = new Cookie("d", "d");
myCookie.setMaxAge(3600);
response.addCookie(myCookie);
④ exception物件 封裝了jsp執行過程中發生的異常和錯誤資訊
⑤ config物件 封裝了應用程式的配置資訊
⑥ page物件 指向了當前jsp程式本身
⑦ session物件 用來儲存會話資訊,也就是說它可以在統一使用者的不同請求之間共享資料
session.getId(); session的唯一識別符號
session.getCreationTime(); 獲取session建立的時間
session.getLastAccessedTime(); 獲取session最後一次訪問的時間
session.getMaxInactiveInterval();獲取session的失效時間
可以在WEB-INF中的web.xml中手動設定session的失效時間(以分鐘為單位)
<session-config>
<session-timeout>10</session-timeout>
</session-config>
⑧application物件 代表當前應用的上下文,它可以在不同的使用者之間共享資訊
⑨ pageContext物件 提供了對jsp頁面所有物件以及名稱空間的訪問
三:
3. JDBC
JDBC 是 Java 對關係型資料庫進行訪問的最主要的 API,是 Java 資料庫程式設計的技術基礎。通過本階段內容的學習,你能夠掌握資料庫的基本知識及 JDBC 技術的基本原理,並能夠使用JDBC編寫出對資料庫進行增刪改查的簡單程式。
四:
4. Servlet
Servlet 是 Server Applet 的縮寫,也稱為服務端小程式。Servlet 技術一直處於不斷的發展及進步之中,現在已經成為很多框架的技術基礎,比如 Spring、Struts2 等。通過本階段課程的學習,你將瞭解Servlet的執行原理,Servlet 過濾器的知識並能編寫出相對複雜的 Java Web 程式。
五:
5. Spring
Spring 是一個開源框架,也是一個基於控制反轉、依賴注入的輕量級容器,它的出現大大簡化了傳統的 J2EE 開發模式。Spring 的主要優勢之一就是其分層架構,該架構允許使用者自主選擇任意件,同時為 J2EE 應用程式開發提供整合框架。現在,Spring 已經成為 J2EE 企業開發中的標準配置。
六:
6. Struts2
Struts2框架是MVC流程框架,適合分層開發。框架應用實現不依賴於Servlet,使用大量的攔截器來處理使用者請求,屬於無侵入式的設計。作為web層框架Struts2提供了資料封裝、表單驗證、檔案上傳、OGNL標籤、國際化等功能。
七:
7. Hibernate
Hibernate 是一個開放原始碼的物件關係對映框架,它對 JDBC 進行了非常輕量級的物件封裝,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。 Hibernate 可以應用在任何使用 JDBC 的場合,既可以在 Java 的客戶端程式使用,也可以在 Servlet/JSP 的 Web 應用中使用,最具革命意義的是,Hibernate 可以在應用 EJB 的 J2EE 架構中取代 CMP,完成資料持久化的重任。
八:
8. MyBatis
本階段講解開源持久層框架 MyBatis 工作原理,使用方法。主要包括:MyBatis 介紹,環境搭建,基本配置檔案,對映配置檔案,簡便查詢,高階查詢,資料增、刪、改操作,動態 SQL,資料識別器,事務處理。
九:
9. Spring Data JPA
Spring Data JPA 由 Spring 提供的一個用於簡化 JPA 開發的框架可以極大的簡化 JPA 的寫法,可以在幾乎不用寫實現的情況下,實現對資料的訪問和操作。除了 CRUD 外,還包括如分頁、排序等一些常用的功能。
十:
10. SpringMVC
本套課程系統講解了SpringMVC框架,包括註解驅動控制器、請求及響應的資訊處理、檢視解析、本地化解析、上傳檔案解析、異常處理以及表單標籤繫結等內容。
十一:11. J2EE 分散式服務框架
由於企業應用在實際開發過程中都已經逐步的轉向服務化的趨勢,學員在學習傳統的基礎SpringMVC、Spring、Mybatis之後開發出來的應用和真正企業實際使用的應用有很大的區別。學員往往不能很好的熟悉目前網際網路企業的開發模式,而在工作中或者是面試中落下一節。本課程主要講解了企業應用發展的趨勢,遠端呼叫底層實現的幾種方式以及最流行的開源框架Dubbo。學員在學習了這些課程後,能掌握開發分散式的企業應用的思路,以及動手能力。
十二:
12. Java EE實戰:JSP、JavaBean與Servlet綜合應用
聚焦 Java Web 應用的三大核心技術:JSP、JavaBean 和 Servlet,全程分步,循序漸進,完整展示 Web 應用的快速開發過程,以學生管理為核心,設計多個功能,全方位融入 Java Web 知識及資料庫相關操作,注重細節,針對難點,有的放矢,各個擊破,注重程式除錯,提煉初學者易犯錯誤,有針對地分析處理。