<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Spring `@RequestMapping`注解示例 > 原文: [https://howtodoinjava.com/spring-mvc/spring-mvc-requestmapping-annotation-examples/](https://howtodoinjava.com/spring-mvc/spring-mvc-requestmapping-annotation-examples/) 在 [**spring mvc hello world 應用程序**](https://howtodoinjava.com/spring/spring-mvc/spring-mvc-hello-world-example/)中,我們看到了具有端到端功能(不包括任何數據庫訪問)的非常基本的員工管理應用程序。 在學習 spring mvc 模塊的下一步中,我將提供`@RequestMapping`注解的一些示例,以說明如何使用`@RequestMapping`以不同的方式將 URL 映射到控制器方法。 我再次使用與 Spring MVC Hello World 應用程序相同的代碼庫,并使用`@RequestMapping`注解僅更改控制器類。 ## 1)僅方法級別的`@RequestMapping`注解 在`@RequestMapping`注解的這種用法中,必須提供完整的路徑作為`value`屬性。 例如,請看下面具有基本 CRUD 操作的控制器代碼。 ```java @Controller public class EmployeeController { @RequestMapping("/employee-management/employees") public String getAllEmployees(Model model) { //application code return "employeesList"; } @RequestMapping("/employee-management/employees/add") public String addEmployee(EmployeeVO employee) { //application code return "employeesDetail"; } @RequestMapping("/employee-management/employees/update") public String updateEmployee(EmployeeVO employee) { //application code return "employeesDetail"; } @RequestMapping(value={"/employee-management/employees/remove","/employee-management/employees/delete"}) public String removeEmployee(@RequestParam("id") String employeeId) { //application code return "employeesList"; } } ``` 如果可以將多個網址映射到單個方法,則可以將具有所有不同網址的字符串參數數組傳遞給`value`屬性,例如,我們在上面的示例中針對`removeEmployee()`方法執行了此操作。 如果您調用 URL `<BASE_URL>/employee-management/employees/remove`或`<BASE_URL>/employee-management/employees/delete`。 ## 2)類級別以及方法級別的`@RequestMapping`注解 在上面的示例中要注意的一件事是,`/ employee-management / employees`是映射到所有方法的每個 URL 的一部分。 如果我們以某種共同的步伐放它,并且每種方法應該僅具有所需的標識符,那將是很好的。 這可以通過將`@RequestMapping`注解放在類級別和方法級別上來完成。 看下面的例子。 ```java @Controller @RequestMapping("/employee-management/employees/*") public class EmployeeController { @RequestMapping public String getAllEmployees(Model model) { //application code return "employeesList"; } @RequestMapping("/add") public String addEmployee(EmployeeVO employee) { //application code return "employeesDetail"; } @RequestMapping("/update") public String updateEmployee(EmployeeVO employee) { //application code return "employeesDetail"; } @RequestMapping(value={"/remove","/delete"}) public String removeEmployee(@RequestParam("id") String employeeId) { //application code return "employeesList"; } } ``` 現在,我們也在類級別應用了注解。 請注意,此更改不會更改映射的行為。 它們與以前完全相同。 要注意的另一件事是,第一種方法`getAllEmployees()`缺少 URL 值。 由于類級別使用`/employee-management/employees/` URL 通配符,因此,如果沒有其他與任何請求匹配的處理器,則將該處理器方法作為`catch`塊執行。 因此,任何 URL 請求(例如`/employee-management/employees/list`或`/employee-management/employees/abcd`或`/employee-management/employees/`)觸發此方法。 ## 3)僅使用 HTTP 請求類型的`@RequestMapping`注解 也有可能在類級別上只有一個`@RequestMapping`注解,而在方法級別上您沒有指定 URL 值。 只需指定 HTTP 請求類型,即可將每種不同的 http 類型映射到不同的方法。 這種設計在 [**RESTFul Web 服務**](https://howtodoinjava.com/restful-web-service/) 中非常流行。 ```java @Controller @RequestMapping("/employee-management/employees") public class EmployeeController { @RequestMapping (method = RequestMethod.GET) public String getAllEmployees(Model model) { //application code return "employeesList"; } @RequestMapping (method = RequestMethod.POST) public String addEmployee(EmployeeVO employee) { //application code return "employeesDetail"; } @RequestMapping (method = RequestMethod.PUT) public String updateEmployee(EmployeeVO employee) { //application code return "employeesDetail"; } @RequestMapping (method = RequestMethod.DELETE) public String removeEmployee(@RequestParam("id") String employeeId) { //application code return "employeesList"; } } ``` 請注意,在此示例代碼中,將使用相同的 URL 訪問所有方法,但使用不同的 http 請求類型。 如果您想使用上面的`@RequestMapping`注解示例,則可以在此處下載源代碼。 [**下載源碼**](https://drive.google.com/file/d/0B7yo2HclmjI4WTk4NzVVenRHS2c/view?usp=sharing) 在評論部分中將您的評論/問題交給我。 **祝您學習愉快!**
                  <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>

                              哎呀哎呀视频在线观看