Java知識點概括-J2EE 、 Web 部分

J2EE(Java2 Enterprise Edition) 剛出現時通常會用於開發企業內部的應用系統,特別是web應用,因此漸漸,有些人就會把J2EE和web模式畫上了等號。可是其實 J2EE 裏面並不只僅是web,能夠看到不少其中的規範都是通用的,目的是爲了高效開發出健壯的服務企業業務模式的應用系統。J2EE中也是能夠沒有web界面的應用,而如今面向大衆用戶開發的網站每每也會使用到不少的J2EE的技術,因此J2EE和web開發的概念都是融合在了一塊兒了。html

筆者在JAVA開發剛入行的時候,也是作了很多web相關的項目,以後漸漸地web使用比較少了,如今web開發的技術突飛猛進,不過一些基礎知識仍是相似,因此也把這部份內容稍做整理,以指望能夠給你們一些經驗。前端

此次主要涉及到的兩大塊內容: Web相關的J2EE相關的技術java

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

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, CSSweb

這是WEB開發的一個基礎,若是公司有專門的前端開發人員,可能你就不須要作這塊相關的內容。可能只須要準備一些服務,能夠提供一些數據就行。不過要是公司沒有專門的前端人員,那就須要你本身寫簡單的頁面和簡單的佈局了。這種狀況下,仍是對HTML和CSS必須有個簡單的瞭解才行。面試

HTML簡單瞭解的話須要知道頁面的結構,具體各個表單,標籤的使用方法,CSS須要知道一些基本的選擇器的編寫和使用。但這也只能知足一些簡單頁面的要求。若是有更加複雜頁面的開發需求,那對CSS+DIV的使用須要有更加深刻的瞭解了,具體內容由於本身對這方面涉及很少,也很少說了,你們能夠再找其餘的參考資料。數據庫

JavaScript:編程

前端開發的語言,惟一的語言,就是JS。而且從中衍生出一個很優秀的框架jQuery。如今前端基本上只要有一點複雜度的,都會使用這兩種技術。而且以jquery爲基礎,還有一些其餘前臺框架,提供了各類動態效果,還有表格,表單等一些經常使用的處理。近兩年,AngularJS框架又開始火熱起來,這個框架在前端實現了MVC的架構,給前端的開發帶來了革命性的影響(可是不意味着全部的前端開發都應該要用這個)。這些都是很值得好好看一下。即使不是專攻前端開發的,可是對於這幾個技術點,可以先了解一下基本狀況,基本的原理,對於web開發來講,仍是大有好處的。json

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至少須要掌握如下內容:

1.JDBC的原理: JDBC爲接口,能夠有不一樣的驅動driver類

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

3.JDBC使用的基本流程

註冊driver
     建立 connection
     建立 statement
     執行獲取 Resultset
     處理返回結果 resultst複製代碼

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

5.線程池的概念和基本用法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應用方面都頗有好處。想要朝這方面發展或者真心有興趣的。能夠找我要一些基礎的學習視頻,Q號碼:3300863615,這個是免費的,但願同窗找我要的時候不要有理所應當的態度,畢竟都是個人心血,但願你是真的有一顆想要學好java的心,我也會盡所能的去幫助你成爲一名優秀的程序員。

加我Q有如下幾個要求,不達標的勿擾:

一、大學學習的是Java相關專業,畢業後面試受挫,找不到對口工做能夠

二、在公司待久了,如今過得很安逸,但跳槽時面試碰壁。須要在短期內進修、跳槽拿高薪的

三、參加過線下培訓後,知識點掌握不夠深入,就業困難,想繼續深造

四、已經在Java相關部門上班的在職人員,對自身職業規劃不清晰,混日子的

五、有必定的C語言基礎,接觸過java開發,想轉行的小號勿擾

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

以上這些只是我本身對於企業級開發和Web開發的一些簡單心得,固然,J2EE中還有更多的規範,web 開發也有更多相關的內容, 我由於也有一段時間沒有專一在web相關的開發上面, 這些知識點羅列也必定有很多疏漏, 因此只是簡單分享一下本身這方面的經驗了,但願給剛上手的開發者一些經驗。

相關文章
相關標籤/搜索