日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > SpringMVC使用注解完成 URL 和 Controller & 方法之間的映射細節

SpringMVC使用注解完成 URL 和 Controller & 方法之間的映射細節

來源:程序員人生   發布時間:2014-12-24 09:00:24 閱讀次數:5511次
1. 使用 @RequestMapping 來進行 URL 和 類 及 方法之間的映照。

2. @RequestMapping 注解可以標識到類上面,也能夠標識到方法上
     1). 若類上面沒有標識,則方法上面的直接相對 WEB 利用的根目錄
     < a href ="helloworld?name=springMVC">Hello SpringMVC </a>

     2). 若類上面有 @RequestMapping 標識,則類上面的 @RequestMapping 的 / 為相對 WEB 利用的根目錄,而方法上的 / 相對類上面的路徑
         @RequestMapping("/springmvc" )
@Controller
public class SpringMVCTest {

               @RequestMapping("/testRedirect" )
     public String testRedirect(){
          System. out.println("testRedirect" );
           return "redirect:/index.jsp" ;
      }

     →< a href ="springmvc/testRedirect">Test Redirect </a>



3. @RequestMapping 提供了足夠精細的映照細節

     URL,要求方式,是不是包括甚么參數,參數值是不是等于已定義好的值,包括要求頭...

     1). 映照 URL:使用 @RequestMapping 的 value 屬性

     2). 映照要求方式:使用 @RequestMapping 的 method 屬性

     示例:
     @RequestMapping(value="/testRequestMapping2" ,
               method=RequestMethod. POST,params={"name" ,"age=12" })
     public String testRequestMapping2(){
          System. out.println("testRequestMapping2" );
           return SUCCESS ;
     }

     @RequestMapping("/testRequestHeader" )
     public String testRequestHeader(@RequestHeader (value="Accept-Language" ) String al,
               @RequestParam("age" ) int age, @CookieValue("JSESSIONID" ) String jid){
          System. out.println("Accept-Language: " + al + ", age: " + age + ", JSESSIONID: " + jid);
           return SUCCESS ;
     }


4.★在目標方法中如何得到要求參數 ?

1). 使用注解:@RequestParam 或 @PathVariable。
     ①. @RequestParam:用于映照要求參數。
          @RequestParam(value="age", required=false) int age:把 age 這個要求參數賦給 age 這個入 參,且該要求參數不是必須的!
          required 默許為 true,即若沒有這個要求參數,則 SpringMVC 會拋出異常
     
     @RequestMapping(value= "testRequestParam")
     public String testRequestParam(@RequestParam (value="username" ,required=false) String un){
          System. out.println("username: " + un);
           return SUCCESS ;
     }


     ②. @PathVariable:可以將 URL 中占位符參數綁定到控制器處理方法的入參中。
       URL 中的 {xxx} 占位符可以通過 @PathVariable("xxx") 綁定到操作方法的入參中。
 
        @RequestMapping"/testRequestMappingPathVariable/{id}" )
         public String testPathVariable( @PathVariable("id" ) Integer id){
          System. out.println("testRequestMappingPathVariable: " + id);
           return SUCCESS ;
        }


2). 直接使用類:直接在入參中使用自定義的類作為方法的入參。
         適用于表單要求,把表單參數直接映照到對象的屬性上
------------------------------Action------------------------------------------------------------
           @RequestMapping("/testPojo")
     public String testPojo(User user){
          System. out.println("user: " + user);
           return SUCCESS ;
     }
     
---------------------------頁面要求--------------------------------------------------
     <form action"springmvc/testPojo" method ="POST">
          username: <input type"text" name ="username"/>
           <br>
          age: <input type"text" name ="age"/>
           <br>
          email: <input type"text" name ="email"/>
           <br>
           <input type"submit" value ="Test Pojo"/>
     </form >
---------------------------------POJO---------------------------------------------------
public class User {
     private Integer id;
     private String username;
     private String email;
     private int age ;


5. 如果需要可使用 ServletAPI:request, response, session 作為方法的入參
@RequestMapping("/testServletAPI" )
     public String testServletAPI(HttpServletRequest request, HttpServletResponse response,
              HttpSession session, Reader reader) throws IOException{
          System. out.println(request);
          System. out.println(response);
          System. out.println(session);
          
          System. out.println(request.getReader() == reader);  //true
          
           return SUCCESS ;
     }

6. 使用 IO 作為入參:Servlet 的 ServletRequest 具有 getInputStream() 和 getReader() 的方法,可以通過它們讀取要求信息。相應 Servlet 的 ServletResponse 的 getOuputStream() 和 getWriter() 方法,可以通過它們輸出響應信息。
@RequestMapping("/testWriter" )
     public void testWriter(Writer out) throws IOException{
          out.write( "Hello~");
     }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 五月综合激情网 | 欧美综合国产 | 日韩av网站免费 | 一区二区三区在线视频播放 | 污黄网站在线观看 | 久久国产精品99久久久久久牛牛 | 91久久国产综合久久 | 国产精品亚洲一区二区三区在线观看 | 国产美女久久 | 亚洲精品99 | 欧美成人手机在线 | 国产99精品视频 | 国产一区二区精品久久 | 怡红院欧美 | 欧美日韩成人在线观看 | 国产精品久久久久久久免费大片 | 久久免费精品 | 中文字幕日韩欧美一区二区三区 | 在线啊v| 亚洲男人的天堂在线 | 高清18麻豆| 欧美在线一区二区 | 一区二区三区免费 | 国产啪| 成人动漫在线看 | 国产精品视频观看 | 国产一区免费在线观看 | 欧美一区二区大片 | 成人一区二区三区 | 成人做爰高潮免费视频 | 不卡影视 | 51ⅴ精品国产91久久久久久 | 91啪国 | 永久免费精品视频 | 国产精品久久久久一区二区三区 | 欧美一区二区三区精品免费 | 日本久久久一区二区三区 | 亚洲色图18p| 91精品国产综合久久久久久久久 | 国产伦精品一区二区三区精品视频 | 九九热视频在线 |