一、java EE分層模型
1.Java ee核心技術(shù)
A:Jdbc,java database connect,在Java語言中用來規(guī)范客戶端程序如何訪問數(shù)據(jù)庫的應(yīng)用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。
B:JNDI,java naming and directory interface,是java目錄服務(wù)的應(yīng)用程序界面(API)
C:EJB(Enterprise javabean,企業(yè)級javabean),一個(gè)構(gòu)建企業(yè)級應(yīng)用的組件。
D:RMI(遠(yuǎn)程方法調(diào)用),用于維護(hù)開發(fā)分布式應(yīng)用的一組API。
E:servlet,用java編寫的服務(wù)器端程序。
F:jsp動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),java server page
G:Jms,java message service,用于兩個(gè)應(yīng)用程序中間發(fā)送消息。
2.Java EE分層模型
java ee分為5層
A:domain object(領(lǐng)域?qū)ο髮?,由一些業(yè)務(wù)邏輯方法組成。
B:DAO(data access object),數(shù)據(jù)訪問對象層,DAO組件實(shí)現(xiàn)對數(shù)據(jù)庫的增山查改等操作。
C:service層,本層由一系列的邏輯對象構(gòu)成,主要是domain object的對象實(shí)現(xiàn)。
D:controller層,本層由一系列控制器組成,用于攔截用戶請求,并調(diào)用相應(yīng)的業(yè)務(wù)邏輯方法處理用戶請求,然后根據(jù)處理結(jié)果向不同的view組件轉(zhuǎn)發(fā)。
E:view層,由一系列的視圖組件構(gòu)成,負(fù)責(zé)收集用戶輸入以及顯示處理后的結(jié)果。
業(yè)務(wù)流程如下所示:

二、MVC模型與框架

常用的MVC模型:struts1,struts2,spring mvc,jsf,tapestry框架。
三、核心技術(shù)servlet
1.servlet的配置,主要是通過web.xml以及webservlet注解的方法來配置,流程如下:

2.servlet的接口方法,包括init(),service(),destory(),getservletConfig(),getservletInfo()等方法。
3.servlet的生命周期,如下圖所示:

四、java web過濾器filter
1.filter是servlet的一項(xiàng)技術(shù),開發(fā)人員通過Filter技術(shù),能夠?qū)崿F(xiàn)對所有Web資源的管理,如實(shí)現(xiàn)權(quán)限訪問控制、過濾敏感詞匯、壓縮響應(yīng)信息等一些高級功能。
2.filter的配置,通過web.xml以及webservlet注解來實(shí)現(xiàn)
3.filter的使用流程

4.filter的接口方法:包括init(),dofilter(),destory()
5.filter的生命周期

五、java反射機(jī)制
1.反射的概念
通過反射,我們可以在運(yùn)行時(shí)獲得程序或程序集中每一個(gè)類型的成員和成員的信息,這意味著如果發(fā)現(xiàn)一個(gè)反射機(jī)制的漏洞,直接可以對整個(gè)應(yīng)用程序做任意操控了。
2.反射的基本應(yīng)用
A:獲取類對象
B:獲取類方法
C:獲取類的成員變量
六、classloader類加載機(jī)制
classloader是一個(gè)抽象類,主要是通過指定的類的名稱,找到或者生成對應(yīng)的字節(jié)碼,返回一個(gè)java.lang.class的實(shí)例。
七、java動態(tài)代理
代理是Java中的一種設(shè)計(jì)模式,主要用于提供對目標(biāo)對象另外的訪問方式,即通過代理對象訪問目標(biāo)對象
分為靜態(tài)代理,動態(tài)代理以及CGLib代理
靜態(tài)代理如下流程:

動態(tài)代理如下流程:

CGLib代理為相應(yīng)的第三方代碼生成類庫,運(yùn)行時(shí)在內(nèi)存中動態(tài)生成一個(gè)子類對象。
八、javassist
javaassist動態(tài)編程,主要是用來代碼運(yùn)行時(shí)做修改,用于繞過編譯過程在運(yùn)行時(shí)進(jìn)行修改的可直接操作字節(jié)碼的類庫。
九、java web安全開發(fā)框架
1.spring security
2.apache shiro
3.oauth 2.0,這里寫一些oauth的一些問題

流程如下:

4.json web token(JWT框架)將用戶登錄會話標(biāo)識以json的形式進(jìn)行校驗(yàn),而不是存粹的session形式