框架之SpringMVC注解

controller方法的返回值
  • 返回ModelAndView
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("itemsList",itemsList);
return modelAndView;
  • 返回字符串
- 表示返回邏輯視圖[jsp路徑=前綴+邏輯視圖名+后綴]
return "items/editItems";
- redirect重定向
return "refirect:queryItems.action";
- forward頁面轉發(fā)
return "forward:queryItems.action";
  • 返回void
    在controller方法形參上定義request和response

@Controller 負責注冊一個bean
@RequestMapping 為控制器指定可以處理哪些 URL 請求
@RequestBody 用于讀取Request請求的body部分數據,使用系統(tǒng)默認配置的HttpMessageConverter進行解析,然后把相應的數據綁定到要返回的對象上 ,再把HttpMessageConverter返回的對象數據綁定到 controller中方法的參數上
@ResponseBody 用于將Controller的方法返回的對象,通過適當的HttpMessageConverter轉換為指定格式后,寫入到Response對象的body數據區(qū)
@ModelAttribute 在方法的入參前使用 @ModelAttribute 注解:可以從隱含對象中獲取隱含的模型數據中獲取對象,再將請求參數綁定到對象中,再傳入入參將方法入參對象添加到模型中
@RequestParam 可以把請求參數傳遞給請求方法
@PathVariable 綁定 URL 占位符到入參
@ExceptionHandler 出現異常時會執(zhí)行該方法
@ControllerAdvice 使一個Contoller成為全局的異常處理類,類中用@ExceptionHandler方法注解的方法可以處理所有Controller發(fā)生的異常

@RequestMapping

value: 指定請求的實際地址
method: 指定請求的method類型, GET、POST、PUT、DELETE等;
params: 指定request中必須包含某些參數值是,才讓該方法處理。
headers: 指定request中必須包含某些指定的header值,才能讓該方法處理請求。

@ModelAttribute

@ModelAttribute通常使用在Controller方法的參數注解中,用于解釋model entity,但同時,也可以放在方法注解里。
如果把@ModelAttribute放在方法的注解上時,代表的是:該Controller的所有方法在調用前,先執(zhí)行此@ModelAttribute方法。

@RequestParam

test(String name),如果沒有name 參數不會報錯
test(@RequestParam String name),沒有name 參數會報錯,(也可以設置required = false)
test(@RequestParam("userName") String name)
第三種跟第二種的區(qū)別是 請求的參數名userName轉換成方法的參數name

全局異常1:

@ControllerAdvice
public class testControllerAdvice {
    @ExceptionHandler
    public ModelAndView exceptionHandler(Exception ex){
        ModelAndView mv = new ModelAndView("error");
        mv.addObject("exception", ex);
        System.out.println("in testControllerAdvice");
        return mv;
    }
}

全局異常2:

<!-- configure SimpleMappingExceptionResolver -->
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="exceptionMappings">
        <props>
            <prop key="java.lang.ArithmeticException">error</prop>
        </props>
    </property>
</bean>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容