借鑒 :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 知識及資料庫相關操作,注重細節,針對痛點,有的放矢,各個擊破,注重程式調試,提煉初學者易犯錯誤,有針對地分析處理。