我們之前使用struts2進(jìn)行開(kāi)發(fā)看起來(lái)就像java工程并沒(méi)有涉及到servlet API的使用,但我們都知道它是建于servlet之上的哄尔,struts2其實(shí)也是允許開(kāi)發(fā)者在A(yíng)ction中操作response、request等一系列serlvet API的
通過(guò)類(lèi)ServletActionContext即可油湖,示例:
通過(guò)ServletActionContext提供的一系列靜態(tài)方法为障,我們可以輕松的獲取到request,獲取到request就能獲取到Session卿城、ServletContext了
再介紹一個(gè)類(lèi)ActionContext,它是ServletActionContext的父類(lèi)铅搓,通過(guò)它我們可以獲得一些關(guān)于servlet api底層的一些東西瑟押,觀(guān)察如下代碼:
通過(guò)ActionContext對(duì)象我們可以獲取HttpSession底層的數(shù)據(jù)結(jié)構(gòu),這樣其實(shí)就可以操縱session星掰,那么為什么要提供這樣的方法呢多望?主要是為了簡(jiǎn)化測(cè)試
了解部分:
WEB測(cè)試分為:容器內(nèi)測(cè)試(jetty)、模擬測(cè)試(mock)
所謂的容器內(nèi)測(cè)試就是通過(guò)java代碼來(lái)啟動(dòng)服務(wù)器氢烘,可以編寫(xiě)代碼向某一個(gè)資源發(fā)送請(qǐng)(不是通過(guò)瀏覽器)怀偷,服務(wù)器收到請(qǐng)求創(chuàng)建HttpServletRequest等對(duì)象,我們拿到這些對(duì)象就可以操縱他們了
模擬測(cè)試就是模擬HttpServletRequest對(duì)象播玖,如何模擬呢椎工?就是繼承HttpServletRequest、HttpSession等Servlet APIS,當(dāng)然是由測(cè)試框架來(lái)繼承的维蒙,我們?cè)儆眠@些APIS來(lái)進(jìn)行測(cè)試