中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring的Controller怎么應用

發布時間:2022-12-09 09:48:34 來源:億速云 閱讀:112 作者:iii 欄目:開發技術

今天小編給大家分享一下Spring的Controller怎么應用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

概述

Controller是Spring接受并處理網頁請求的組件,是整個應用的入口,因此學會Controller的常用注解對理解一個應用是重中之重。SpringBoot的Controller中經常會用到注解@Controller、@RestController、@RequestMapping、@RequestBody等。

1. 添加依賴

首先,需要保障此項目中存在spring-boot-starter-web依賴項,否則,當前項目并不具備Web應用程序開發所需的依賴!

提示:spring-boot-starter-web是建立在spring-boot-starter的基礎之上的,即包含了spring-boot-starter,所以,在此次調整依賴項時,只需要將原有的spring-boot-starter改為spring-boot-starter-web即可!

<!-- Spring Boot框架支持WEB開發的依賴項 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

當項目中存在以上依賴項時,就具備了Web開發的依賴,且此依賴項中內置了Tomcat,當啟用項目時,會自動將當前項目編譯、打包、部署到內置的Tomcat上,并啟動Tomcat。

在根包下創建controller.AlbumController類,將此類配置為控制器類,并處理“添加相冊”的請求:

@RestController
@RequestMapping("/album")
public class AlbumController {
    @Autowired
    private IAlbumService albumService;
    // http://localhost:8080/album/add-new?name=TestAlbum001&description=TestDescription001&sort=66
    @RequestMapping("/add-new")
    public void addNew(AlbumAddNewDTO albumAddNewDTO){
        albumService.addNew(albumAddNewDTO);
    }
}

完成后,啟動項目,打開瀏覽器,通過http://localhost:8080/album/add-new?name=TestAlbum001&description=TestDescription001&sort=66可以測試添加數據!

提示:目前添加相冊成功時,在瀏覽器中并不會有任何提示。

如果使用相同的請求參數反復提交請求,瀏覽器會顯示500錯誤,這是因為沒有處理異常所導致的!

2. 關于異常

可能出現的異常

  • 如果某個方法會拋出異常,則誰調用,誰處理;

  • 如果調用的方法拋出了異常,當前方法也沒有使用try...catch進行捕獲并處理,相當于當前方法拋出了此異常;

  • 如果服務器端程序運行時出現了異常,始終未被處理,框架默認的行為是響應500錯誤,此時應該檢查服務器端的控制臺,在控制臺中應該有異常的相關信息;

  • 處理異常的本質是:告訴客戶端執行失敗,且失敗的原因是什么,以至于客戶端下次提交請求時可能成功,另外,對于某些特殊的情景,可能還需要補充執行一些其它代碼;

  • 關于異常的捕獲處理和拋出,在典型的服務器端項目中,Mapper、Service都不能處理異常,因為它們不與客戶端直接交互,如果它們處理了異常,Controller將不知道出現過錯誤,反而響應“成功”的結果到客戶端,但客戶端的請求是沒有達到預期的目標的,而Controller有義務處理異常,因為它是與客戶端交互的組件。

以上就是“Spring的Controller怎么應用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乡族自治县| 汉川市| 昌邑市| 桂林市| 嵊州市| 九江县| 藁城市| 神木县| 阿拉善右旗| 孟连| 耒阳市| 武安市| 通海县| 邢台县| 江陵县| 美姑县| 会宁县| 福州市| 新野县| 恩施市| 宜昌市| 高邮市| 沂源县| 团风县| 大安市| 蛟河市| 阿图什市| 颍上县| 吉林省| 荔波县| 新化县| 临汾市| 安康市| 宜黄县| 军事| 龙川县| 环江| 南郑县| 满洲里市| 清河县| 绥滨县|