目前,restful的介面風格很流行,使用springmvc來搭配restful也是相得益彰。如下,使用@pathvariable註解便可以獲取url上的值。
public string restful(@pathvariable string name)
不過如果你認真的研究過springmvc就會發現,restful風格的介面的效能會大大低於正常形式的springmvc介面。比如下面這種方式。
public string norestful(@requestparam string name)
為了看到效果,我先進行了測試,工具是apache-jmeter,
測試引數,併發量50,總量10000次。
1、非restful介面
2、restful介面
綜上所述,當使用非restful介面時就會直接獲取對應的handlermethod來處理請求,但使用restful介面時,就會每次遍歷所有的方法來查詢,效能差由此形成。
private
我們剛好可以使用它。
另外,我們看到實現匹配邏輯的方法handlermethod handlermethod = lookuphandlermethod(lookuppath, request);其本身是個protected方法,
protected handlermethod lookuphandlermethod(string lookuppath, httpservletrequest request) throws exception由此便可以在子類中擴充套件它。
//自己的查詢邏輯,根據從請求頭中獲取服務名servicename,進行匹配查詢
}
//對映map
private
@override
protected void registerhandlermethod(object handler, method
handlermethod handlermethod = createhandlermethod(handler, method);
}
由此,springmvc優化邏輯編寫完成。看**量很少,但想通過自己寫出來,需要對springmvc有相當了解,深入理解springmvc的可擴充套件點。
看下優化過後的restful介面
吞吐量和非restful介面差不多,各項應能都接近,達到預期效果。
參考(感謝達達技術團隊分享出來的很多優化方案):
uploadify在SpringMVC下的使用示例
1 引入uploadify的css和js檔案 string path request.getcontextpath uploadify uploadify.css type text css 2 配置相關引數和函式 注意 importlispdialog window close 要在 onuplo...
在專案中使用springmvc
springmvc是spring框架的乙個模組,springmvc和spring無需通過中間整個層進行整合,它是乙個基於mvc的web框架。springmvc是基於方法開發的,struts2是基於類開發的。springmvc將url和controller方法對映,對映成功後springmvc生成乙個...
Spring MVC 在jsp中引入css
背景 前端寫的 html 引入css 格式沒有問題 但是我用jsp顯示就是不行 檢查了路徑沒有問題後,最後發現是spring mvc預設攔截所有請求,所以你需要單獨把靜態資源配起來,springmvc就會放過這些請求了。格式 mvc resources location css css mvc re...