spring ioc容器建立乙個bean例項時,可以為bean指定例項的作用域,作用域包括singleton(單例模式)、prototype(原型模式)、request(http請求)、session(會話)、global-session(全域性會話)。
struts2是基於類的屬性開發的,類的屬性作用於整個類,基於struts2開發時,每次請求都會產生乙個action物件(多例),而這個action物件中的屬性會繫結前端傳過來的值,例如繫結form表單中提交的資料,所以,如果action是單例的話,在多執行緒的情況下,多個使用者上傳的資料如何使用這乙個action物件去接收?如果是單例,每個使用者是不是又能看到其他使用者的資訊?顯然,不能用單例。
因為單例模式可以提高程式執行效率,提高效能,不需要每次訪問都建立新的物件,所以,不需要花費額外的效能去建立物件,銷毀物件,管理物件等等…
所以,我可以設計成單例以提高效能和執行效率,我為何不這麼做呢?顯然,springmvc的設計者當初就是這麼想的。
注: spring預設為單例,但是也可以改為多例。通過註解@scope(value=「prototype」)
驗證springmvc為單例以及設計為多例模式
但是再post請求可以通過@requestparam和@requestbody接收引數,但是再get請求的時候,不能用@requestbody接收引數。
filter包裹servlet。servlet包裹interceptor
過濾器是實現filter的。需要實現init、dofilter、destroy 方法。init方法表明,再web容器初始化的時候,過濾器被初始化。dofilter方法執行攔截。再web關掉的時候,destory方法銷毀過濾器。@component
public
class
myfilter
implements
filter
@override
public
void
dofilter
(servletrequest request, servletresponse response, filterchain chain)
throws ioexception, servletexception
@override
public
void
destroy()
}
***是spring ioc容器內的,是spring框架支援的。
//列印test:123
//前端請求
$.ajax()
, success:
function
(result)})
springMVC搭建總結
今天第一次搭建整合了hibernate的springmvc框架,於是參考了以前的spring3 hibernate3的搭建方法。但是我使用的是spring4 hibernate4。然後就雪崩了.classpath expc.properties org.hibernate.dialect.mysql...
Spring mvc學習總結
其實框架並沒有想象中的複雜。尤其對於初學者,總覺得ssh是一些很複雜的東西似的。其實對初學者來說能夠用這些框架就足夠了。在公司裡也是,基本功能會用了就可以了。管他框架有多高深。尤其是spring mvc 用起來比struts2簡單多了。不用多少配置檔案。幾個註解就搞定了。首先,大家只要理解了mvc。...
springMvc簡單總結
springmvc框架 前台 request。dispatcherservlet 前端控制器 接受request,返回response。handleradapter 處理器介面卡,根據特定規則去執行handler,編寫handler按照handleradapter的規則去編寫。hanler處理器 需...