SpringMVC注解

电玩女神 2022-05-11 01:12 419阅读 0赞
  1. Annotation
    @Controller:用于标识是处理器类;
    @RequestMapping:请求到处理器功能方法的映射规则;
    @RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;
    @PathVariable:请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定
    @ModelAttribute:请求参数到命令对象的绑定;
    @SessionAttributes:用于声明session级别存储的属性
    @CookieValue:绑定Cookie数据值
    注:关于ModelAttribute和SessionAttribute详见SpringMVC重要的注解
  2. URL路径映射
    1.@RequestMapping(value={“/user1”, “/user2/create”}):多个URL路径可以映射到同一个处理器的功能处理方法
    2.@RequestMapping(value=“/users/{userId}”):{×××}是占位符, 请求的URL可以是 “/users/123456”或“/users/abcd”,通过后面讲的通过@PathVariable可以提取URI模板模式中的{×××}中的×××变量
    3.@RequestMapping(value=“/users/{userId}/create”):请求的URL可以是“/users/123/create”
    4.@RequestMapping(value=”/users/{userId}/abc/{name}“):这样也是可以的,请求的URL可以是“/users/001/abc/itany”
    5.@RequestMapping(value=”/users?”): 匹配一个字符,如可以匹配/ users1,但不能匹配/ users或/ users12
    6.@RequestMapping(value=”/users*“):可匹配“/users”或“/usersa”,但不匹配“/users /abc”;
    7.@RequestMapping(value=”/users/*“):可匹配“/ users/abc”,但不匹配“/usersabc”;
    8.@RequestMapping(value=“/users//”):匹配零个或多个路径, “/users/abc/abc/…/”
    9.@RequestMapping(value=”/users /
    /{userid}“):可匹配“/ users /abc/abc/123”或“/users/12

    package com.controller;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.CookieValue;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.servlet.ModelAndView;

    import com.entity.Person;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;

    @Controller//用于标识是处理器类
    public class HelloAnnotation {

    1. @RequestMapping(value="/m1")//请求到处理器功能方法的映射规则
    2. public ModelAndView m1(HttpServletRequest request,HttpServletResponse response,HttpSession session){
    3. ModelAndView mv = new ModelAndView();
    4. mv.setViewName("index");
    5. return mv;
    6. }
    7. @RequestMapping(value="/m2")
    8. public ModelAndView m2(){
    9. ModelAndView mv = new ModelAndView();
    10. mv.setViewName("index");
    11. mv.addObject("name", "张卫健");
    12. return mv;
    13. }
    14. @RequestMapping(value="/m3")
    15. public ModelAndView m3(HttpServletRequest request){
    16. ModelAndView mv = new ModelAndView();
    17. mv.setViewName("index");
    18. request.setAttribute("name", "张卫健2");
    19. return mv;
    20. }
    21. @RequestMapping(value="/m4")
    22. public String m4(String name,String sex){
    23. System.out.println(name+","+sex);//可以在控制台输出地址栏参数
    24. return "index";//视图解析器自动解析到/index.jsp
    25. }
    26. @RequestMapping(value="/m5")
    27. public String m5(Person p){
    28. System.out.println(p.getName()+","+p.getSex());
    29. return "index";
    30. }
    31. @RequestMapping(value="/m6")
    32. public String m6(@RequestParam("n") String name){
    33. //请求参数到处理器功能处理方法的方法参数上的绑定
    34. System.out.println(name);//地址栏的n参数,绑定到此处的参数name
    35. return "index";
    36. }
    37. @RequestMapping(value="/m7/{p1}/{p2}")
    38. public String m7(@PathVariable("p1") String name,@PathVariable("p2") String sex){
    39. //请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定
    40. //访问地址写成这样http://localhost:8080/SpringMVCDemo/m7/zhangsan/28
    41. System.out.println(name+","+sex);
    42. return "index";
    43. }
    44. @RequestMapping(value="/m8*")
    45. public String m8(@CookieValue(value="JSESSIONID",defaultValue="bwf") String cookie){
    46. //@CookieValue绑定Cookie数据值
    47. System.out.println(cookie);//B780BD3645983A615692CCA9CAF066E3
    48. return "index";
    49. }

    }

发表评论

表情:
评论列表 (有 0 条评论,419人围观)

还没有评论,来说两句吧...

相关阅读