springmvc問題總結

2021-10-05 23:20:58 字數 2129 閱讀 1794

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處理器 需...