<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Spring MVC 框架介紹 > 原文: [https://javatutorial.net/introduction-to-mvc-framework-in-spring](https://javatutorial.net/introduction-to-mvc-framework-in-spring) MVC 代表模型-視圖-控制器,Spring 支持它。 MVC 模式的優點在于,它將應用程序的不同方面分開,例如輸入,業務邏輯和用戶界面。 這種模式使用非常廣泛,甚至還帶有[歌曲](https://www.youtube.com/watch?v=YYvOGPMLVDo)。 ![spring-featured-image](https://img.kancloud.cn/64/23/64231db4bf6e880066d0d4c2e31ac166_780x330.jpg) MVC 模式中的三個組件是**模型,視圖,控制器** ,因此是首字母縮寫。 ## 角色 #### 模型 簡而言之,模型將存儲 UI 呈現給用戶的數據。 #### 視圖 簡而言之,可視化數據。 #### 控制器 簡而言之,控制器管理狀態機的行為,也就是響應事件,命令執行和更新模型。 例如,當用戶單擊按鈕時會發生什么。 ## 分派器 Spring 中的整個 MVC 模式都是圍繞`DispatcherServlet`設計的,該`DispatcherServlet`處理所有 HTTP 請求和響應。 ![DispatcherServlet](https://img.kancloud.cn/2f/48/2f485d290aed12452fb74dd0937a8aaa_1041x391.jpg) ## MVC 的好處 * 可重用性 * 靈活性 * 強大 讓我們看看如何實現上述目標。 可重用性 – 通過使用已經存在的對象來形成其他對象,而不是復制它們。 靈活性 – 可以利用參數注釋(如`@RequestParam`,`@RequestHeader`等)。 強大 – MVC 架構支持異步技術,這意味著使用此模式構建的應用程序加載速度明顯加快。 ## 如何定義一個控制器? `@Controller`注釋用于使類的行為類似于控制器。 我們還可以在`@Controller`旁邊使用`@RequestMapping`注解,以指定類或方法的 URL 路由。 在我們的例子中,我們將為整個`Controller`類指定 URL。 ```java @Controller @RequestMapping("/") public class ControllerDemo { @RequestMapping(method = RequestMethod.GET) public String helloWorld(ModelMap model) { model.addAttribute("message", "Hello World"); return "helloWorld"; } } ``` 由于`@RequestMapping("/")`,**該類中存在的所有方法都將相對于`"/"`路徑。 我們還指定我們的`helloWorld`方法處理 GET 請求。 當然,如果需要,您可以添加更多表示 POST 的方法。 為了簡單起見,我僅包含 GET。 ## 如何創建視圖? 上面,我提到了靈活性是該架構的優勢之一。 好吧,Spring MVC 支持多種視圖技術 – HTML,PDF,Excel,XML 等。 因此,您的技術將得到支持。 這給您靈活性(無雙關語),可以選擇您最喜歡使用的任何技術。 就我們而言,我們將使用 HTML 創建視圖。 ```java <html> <head> <title>Hello World</title> </head> <body> <h1> Message coming from helloWorld() method that resides in ControllerDemo class: ${ message } </h1> </body> </html> ``` 我們將這個 html 文件(我們的視圖)存儲在`/WEB-INF/helloWorld/`中,并為其命名為`helloWorld.jsp`。 您能猜出`${message}`給我們帶來什么嗎? 它將返回我們添加為模型屬性的任何消息。 讓我們看看示例的情況: ```java model.addAttribute("message", "Hello World"); ``` 因此,`${message}`的輸出為`"Hello World"`。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看