二、springmvc異常處理
2.3、全域性異常處理
檔案上傳客戶端表單需要滿足:
表單項type=「file」
表單的提交方式是post
表單的enctype屬性是多部分表單形式,及enctype=「multipart/form-data」
建立web工程
匯入jar包
springmvc配置檔案
xmlns
=""xmlns:context
=""xmlns:mvc
=""xmlns:xsi
=""xsi:schemalocation="
/spring-beans.xsd
/spring-context.xsd
/spring-mvc.xsd"
>
<
context:component-scan
base-package
="com.hpe.controller"
/>
<
context:component-scan
base-package
="com.hpe.exceptionhandler"
/>
<
mvc:annotation-driven
/>
<
mvc:resources
="/js/**"
location
="/js/"
/>
<
mvc:resources
="/css/**"
location
="/css/"
/>
<
mvc:resources
="/img/**"
location
="/img/"
/>
"viewresolver"
class
="org.springframework.web.servlet.view.internalresourceviewresolver"
>
name
="prefix"
value
="/jsp/"
/>
name
="suffix"
value
=".jsp"
/>
bean
>
"multipartresolver"
class
="org.springframework.web.multipart.commons.commonsmultipartresolver"
>
name
="defaultencoding"
value
="utf-8"
/>
name
="maxuploadsize"
value
="90000000000"
/>
bean
>
beans
>
注意這裡的檔案上傳解析器。
用於檔案上傳的頁面
(
"/test2"
)public string test2
(string username,multipartfile upload)
throws ioexception
系統的dao、service、controller出現都通過throws exception向上丟擲,最後由springmvc前端控制器
交由異常處理器進行異常處理。處理異常時先拋到控制器內配置的異常處理器,如果解決不了繼續往上拋
配置控制器異常處理,使用@controller+@exceptionhandler 。
//在controller內部處理異常
控制器的異常處理只能處理控制器內部的異常,如果希望處理控制器丟擲的所有異常⽽不希望在控制器
內部處理, 這就需要配置全域性異常處理。配置全域性異常處理, 使⽤
@controlleradvice+@exceptionhandler 。
@controller
("/a"
)public
class
acontroller
}
//全域性配置需要這個註解
@controlleradvice
public
class
myexceptionhandler
}
springmvc檔案上傳
上 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 param fname 檔名稱 含字尾 throws ioexception down...
spring mvc 檔案上傳
在檔案上傳時,我們需要用到檔案上傳解析器,其實,它並不陌生,只是對httpservletrequest的乙個擴充套件,使其能夠更好的處理檔案上傳,擴充套件的介面名為 org.springframework.web.multipart.multiparthttpservletrequest 先用乙個類...
Springmvc 上傳檔案
springmvc為檔案上傳提供了直接支援,通過multipartresolver實現。預設沒有裝配multipartresolver,需要先在上下文中配置multipartresolver。1 需要的jar包 commons iogroupid commons ioartifactid 2.4ve...