JSF請求處理過程(二) 請求處理過程總覽(FacesServlet#service)
摘要: 這總覽,很明顯是看FacesServlet的service方法。在FacesServlet的初始化過程中,構(gòu)造出了全局的FacesContextFactory對象和LifeCycle對象。可以把FacesContextFactory看做是一個(gè)“請求包裝工廠”,于是很明顯,每當(dāng)一個(gè)請求到達(dá)FacesServlet的時(shí)候,第一步便是拿著請求,到包裝工廠里面包裝一下,而包裝的結(jié)果就是一個(gè)FacesContext。
閱讀全文
JSF請求處理過程(一) FacesServlet初始化
摘要: JSF應(yīng)用中,在web.xml里面配置了一個(gè)Servlet,叫做javax.faces.webapp.FacesServlet,于是可以知道,查看、了解一個(gè)請求的處理過程可以從這里開始。從官方網(wǎng)站上下載JSF的源代碼,項(xiàng)目名比較古怪,叫做“mojarra”,我看的版本是1.2_12_b01。里面包含了兩個(gè)子項(xiàng)目,一個(gè)是jsf-api,里面大多是接口以及少量關(guān)鍵類。另外一個(gè)項(xiàng)目叫做jsf-ri,對著這個(gè)"ri"邪念了半天之后,終于在兄弟提醒之下想明白了是reference implementation的意思。jsf-api是JavaEE標(biāo)準(zhǔn)的一部分,里面的類型包名都是以javax.faces開頭的,而jsf-ri項(xiàng)目是sun針對JSF標(biāo)準(zhǔn)的一個(gè)參考實(shí)現(xiàn),里面的類型的包名都是以com.sun.faces開頭的。
閱讀全文