1. 程式人生 > >Java知識點歸納(J2EE and Web 部分)

Java知識點歸納(J2EE and Web 部分)

angularjs 而且 要掌握 推薦 參數 wsdl 體系 發送 eem

Web部分:

  脫離開各種語言,純粹和 web相關的就是這些: HTML,CSS,JavaScript。哪怕你不用Java開發,用C#、PHP或者Python,這些內容都是通用,這裏主要偏重一些基礎知識。

  • HTTP協議,HTTPS協議

  我覺得做Web開發,HTTP是基礎中的基礎。在一開始的時候,開發者可能對於這個內容了解不是非常深入,只是有個初步的概念,這個沒有問題,可以先從了解,簡單使用開始。 不過一旦有了一些web開發經驗之後,你就需要把這塊內容深入理解吃透。只知道簡單概念,沒有深入了解,可能並不會影響你開始上手做web開發,但是一旦涉及到一些性能調優、系統架構等工作,就需要你對HTTP有一個深入的了解,才能把工作做好。

  對於HTTP請求, 我主要會關註以下內容:

HTTP請求的模式: request/response

HTTP請求的方法:GET, POST, PUT,DELETE 等等

協議的具體格式: head + body

協議的各類返回碼:1XX,2XX,3XX,4XX,5XX

Header中一些主要屬性的含義和使用場景

HTTPS協議

Cookie的基本原理和使用場景

  • HTML, CSS

  這是WEB開發的一個基礎,如果公司有專門的前端開發人員,可能你就不需要做這塊相關的內容。可能只需要準備一些服務,可以提供一些數據就行。不過要是公司沒有專門的前端人員,那就需要你自己寫簡單的頁面和簡單的布局了。這種情況下,還是對HTML和CSS必須有個簡單的了解才行。

  HTML簡單了解的話需要知道頁面的結構,具體各個表單,標簽的使用方法,CSS需要知道一些基本的選擇器的編寫和使用。但這也只能滿足一些簡單頁面的要求。如果有更加復雜頁面的開發需求,那對CSS+DIV的使用需要有更加深入的了解了,具體內容因為自己對這方面涉及不多,也不多說了,大家可以再找其他的參考資料。

  • JavaScript:

  前端開發的語言,唯一的語言,就是JS。並且從中衍生出一個很優秀的框架jQuery。現在前端基本上只要有一點復雜度的,都會使用這兩種技術。並且以jquery為基礎,還有一些其他前臺框架,提供了各種動態效果,還有表格,表單等一些常用的處理。近兩年,AngularJS框架又開始火熱起來,這個框架在前端實現了MVC的架構,給前端的開發帶來了革命性的影響(但是不意味著所有的前端開發都應該要用這個)。這些都是很值得好好看一下。即便不是專攻前端開發的,但是對於這幾個技術點,能夠先了解一下基本情況,基本的原理,對於web開發來說,還是大有好處的。

  因為自己對這個涉獵也不深入,所以也就不更多羅列了,以免誤人子弟了。

  • Webservice

  在現在的企業應用開發中,Webservice已經是個必備的工具了。在各個企業中,經過一段時間積累,會有很多不同種類的應用,這些應用可能都會使用不同的語言開發,並且需要相互之間的通訊。通訊的首選就是Webservice。前後臺的交互,服務之間的交互,或者不同語言之間的交互,都可以使用Webservice這個技術。

  Webservice的實現方式多種多樣,兩者共同點是大家都是以HTTP協議為基礎的,都可以跨域,跨語言進行訪問。

  用的比較多的,一個是SOAP協議的方式。這是比較傳統的webservice 的實現,這個協議比較重量級,發布者會將webservice以wsdl形式發布,調用者通過wsdl可以直接生成實體類等。對於調用者來說,“調用”這個步驟會更容易處理一些。不過SOAP形式也存在著消息量大,傳輸效率低等缺陷。SOAP協議本身的可選項比較多,比較復雜,各個屬性設置略有差異會導致服務通訊的失敗,需要在調試中需要花費更多的時間。

  現在更加流行的是使用RESTFUL的Webservice。這種技術是簡化了URL,或者說對URL做了一定格式的限定,同時配合上HTTP的各種method,包括有GET,POST,DELTE,PUT 等,來實現整體service的各種功能。一般傳輸的內容都是json格式的字符串。Restful的Webservice的優點在於這是一種更加輕量級的使用方式,傳輸效率更高,接口約定更加清晰,雙方調試也會更加便利一些。缺點在於,json格式太靈活,所以雙方都需要自行處理json中的各個參數。對於接口實體類的處理需要更多的邏輯和代碼。

J2EE部分

  • JDBC(可以在J2SE中使用)

  JDBC用於java和數據庫交互。它是Java面向接口編程的一個典型實例:開發者使用JDBC的API進行開發,但是底層可以針對不同的數據庫使用不同的JDBC驅動(由各個數據庫供應商提供)。JDBC被歸為了J2EE的規範中,但是在一般的java程序中也可以使用,而且也是幾乎都會被直接或者間接使用(除非不用數據庫)。這從側面也說明了,其實J2EE企業開發和web開發並不是同一個概念,而是相互融合的。

  JDBC是Java中最原始,最純粹,效率最高的訪問數據庫的方式,我們熟知的hibernate、 Mybatis等ORM框架都是在JDBC基礎上做的封裝。了解JDBC對於以後和數據庫更好打交道會有著很大的用處。哪怕是一個java開發新手,你需要去學習Hibernate、Mybatis等框架,你也需要先學習JDBC作為這些的基礎。

  對於JDBC的具體怎麽實現,這個真不需要了解到那麽深入。我推薦大家學習JDBC至少需要掌握以下內容:

JDBC的原理: JDBC為接口,可以有不同的驅動driver類

JDBC中的一些基本概念: connection, statement, resultset 等

JDBC使用的基本流程

註冊driver

創建 connection

創建 statement

執行獲取 Resultset

處理返回結果 resultst

Statement 和 PrepareStatement 的區別, 掌握PrepareStatement的主要用法(推薦使用)

線程池的概念和基本用法

  • JMS(可以在J2SE中使用)

  JMS(Java Message Service)是我們俗稱的MQ服務,有很多可用的產品,如 ActiveMQ, ZeroMQ, RabbitMQ等等。基本原理都是一樣:在有了MQ服務器之後,向某個Topic,或者Queue中發送消息,或者從中接收消息。

  這塊知識,需要了解一些基本的MQ的使用方法,包括MQ服務器的連接,收發MQ消息等。需要註意的是,這裏收發消息是一種異步的方式,MQ是一種很基本的把同步請求異步化的手段。

  • Servlet

  這個是Java Web開發的核心概念,我們熟悉的web server其實都是Servlet的容器。那Servlet是個什麽呢?我的理解,servlet就是一個Java類,用來處理HTTP請求,並且返回HTTP響應的程序。這個程序運行在servlet容器中,或者說嵌入在servelt容器中運行。容器中可以定義多個servlet匹配不同的url,容器啟動後接收到了HTTP請求,容器會根據定義好的URL的規則分配給相應的servlet程序進行處理。

  Java中的web開發都是圍繞servlet這個概念來進行的,web.xml定義了URL的處理分配規則,我們使用的Struts,SpringMVC框架也有專門的Servlet類來進行請求的轉發和處理。所以學習Java web開發一定要理解好servlet這個概念。

  • JSP

  以前的Java web開發,基本都是以JSP為主,需要在JSP中編寫html代碼和Java代碼。 近來一些更先進的展示層框架,在逐步替代JSP,比如 Freemarker、Velocity等。更有一些前後端分離的框架直接就是使用HTML中的JavaScript以Ajax方式和後臺交互,這樣後臺不再需要提供展示層,而是給前臺展示層提供數據。

  不過JSP作為最原始的Java web開發工具,在制作簡單頁面的時候,還是非常容易上手的,建議還是可以學習一下JSP基本的使用方法,在制作簡單頁面時使用,一旦有更加復雜的頁面需要開發時,再考慮使用其他展示層的框架進行替代。

  • Webserver 的使用

在Java web開發中另一個繞不開的內容是Webserver的使用,比如最流行的tomcat, 企業級環境中經常使用的 weblogic、webspare、JBoss等等,真的有很多。

作為一個web應該開發人員,應該需要熟練掌握一些web server 的知識。這對於你在提高應用性能,本地調試web應用方面都很有好處。

你可以更多熟悉一下tomcat,因為一般開發者本地都會使用它作為web容器,哪怕生產正式環境中是其他的。可以了解一下tomcat中體系結構如何,結構目錄和配置文件的詳細解讀,如何在IDE中結合tomcat進行開發調試等等。再深入些可以查看一下tomcat的源代碼,了解一下一般webserver是如何實現的,如何控制線程數,這對你在其他方面的設計開發也很有借鑒作用。除了tomcat之外,你還可以就你們生產環境中使用的web server再做個具體的了解,以便更好地開發適合的web應用。

Java知識點歸納(J2EE and Web 部分)