springMVC學習總結(二)路徑映射和請求方法限定

springMVC學習總結(二)路徑映射和請求方法限定

1、路徑映射

無參數的訪問路徑

  • 對springmvc項目的訪問路徑,是由根路徑和子路徑組成;在註解式開發中,根路徑標註在類名之上,子路徑標註在方法名之上,例:spring

    @Controller
     @RequestMapping(value = "/rootpath")
     public class Demo01Controller { 
         @RequestMapping(value = "/childpath.action")
         public ModelAndView test(){
             System.out.println("訪問成功!");
             ModelAndView mv = new ModelAndView();
             mv.addObject("message", "測試成功");
             mv.setViewName("hello");
             return mv;
         }
     }

    在這個例子中:
    根路徑是類名上方的 RequestMapping(value = "/rootpath")
    方法名上方的 RequestMapping(value = "/rootpath")
    所以該方法的訪問路徑是:http://localhost:8080/rootpath/childpath.action安全

    路徑中有參數的訪問路徑

  • 若是咱們想經過url傳遞一個或多個參數到後臺,在不考慮安全問題的狀況下能夠使用url的方式攜帶參數訪問,好比咱們要獲取一個id值,咱們後臺編碼以下:mvc

    @Controller
     @RequestMapping(value = "/rootpath",method = RequestMethod.GET)
     public class Demo01Controller {
    
         @RequestMapping(value = "/childpath/{id}")
         public ModelAndView test(@PathVariable String id){
             System.out.println("get提交的參數爲:"+id);
             ModelAndView mv = new ModelAndView();
             mv.addObject("message", "測試成功");
             mv.setViewName("hello");
             return mv;
         }
     }
    此時的訪問路徑是: http://localhost:8080/rootpath/childpath.action/3.action
    這個url中傳遞的參數值是 id=1
    • 當有多個參數的時候,只要方法的參數名與路徑中的參數命名一一對應即可一一對應的取到值,如:app

      @Controller
        @RequestMapping(value = "/rootpath",method = RequestMethod.GET)
        public class Demo01Controller {
      
            @RequestMapping(value = "/childpath/{id}/{username}")
            public ModelAndView test(@PathVariable String id,@PathVariable String username){
                System.out.println("get提交的參數id爲:"+id+"用戶名爲:"+username);
                ModelAndView mv = new ModelAndView();
                mv.addObject("message", "測試成功");
                mv.setViewName("hello");
                return mv;
            }
        }

    此時的訪問路徑是: http://localhost:8080/rootpath/childpath.action/3/sunwukong.action
    這個url中傳遞的參數值是 id=1,用戶名爲:sunwukong學習

2、方法限定

  • 方法的限定編碼位置一樣在註解@RequestMapping()中,以下圖:
    方法名上方的: method = RequestMethod.GET 是對請求方法的限定,可選擇的經常使用方法有如下幾種:
相關文章
相關標籤/搜索