zoukankan      html  css  js  c++  java
  • SpringMvc基础知识

    ---------------------SpringMVC的一些基础知识记录并分享-----------------------
    1,注解
    @Controller
    负责注册一个bean到spring context中
    @Controller("tmpController")
    类名称开头字母必须小写

    @RequestMapping("/register")
    @RequestMapping(value="",method ={"",""},headers={},params={"",""})
    method 请求方法 method=RequestMethod.POST GET,HEAD,POST,PUT,DELETE
    headers一般结合method = RequestMethod.POST使用
    value 请求URL ? * **
    params 请求参数 {"param1 !=value1","param2"}

    @RequestMapping("/{userId}")
    Public ModelAndView showDetail(@PathVariable("userId") String userId){}
    将URL中的占位符参数绑定到控制器处理方法的参数中

    @RequestParam(value="",required=true,defaultValue="")
    value 参数名
    required 默认true,必须包含此参数,不包含则抛出异常
    defaultValue默认参数

    @ResponseBody
    方法声明了注解@ResponseBody ,则会直接将返回值输出到页面


    @ModelAttribute("xxx")
    应用于方法参数,参数可以在页面直接获取
    @SessionAttributes
    只能声明在类上,指定 ModelMap中的哪些属性需要转存到 session中
    @CookieValue
    获取cookie信息
    @RequestHeader
    获取请求的头部信息

    2,返回模型和视图
    @RequestMapping(method=RequestMethod.GET)
    public ModelAndView index(){
    ModelAndView mv = new ModelAndView("/user/index");
    mv.addObject("xxx",xxx);
    return mv;
    }
    @RequestMapping(method=RequestMethod.GET)
    public ModelAndView index(){
    ModelAndView mv = new ModelAndView();
    mv.addObject("xxx",xxx);
    mv.setViewName("/user/index");
    return mv;
    }
    @RequestMapping(method=RequestMethod.GET)
    public Map<String,String> index(){
    Map<String,String> map = new HashMap<String,String>();
    map.put("name",lsf);
    return map;
    }
    @RequestMapping(method=RequestMethod.GET)
    public String index(Model model){
    String retVal="user/index";
    List<User> users=userService.getUsers();
    model.addAttribute("users",users);
    return retVal;
    }
    对于String类型的返回值,常配合Model一起使用
    @RequestMapping(value="/valid",method=RequestMethod.GET)
    public @ResponseBody String valid(@RequestParam(value="userId",required=false) Integer userId,
    @RequestParam(value="logName") String strLogName){
    return String.valueOf(!userService.isLogNameExist(strLogName,userId));
    }
    String返回类型配合@ResponseBody将内容或对象作为HTTP相应正文返回(适合做验证)
    @RequestMapping("/welcome")
    public void index(){
    ModelAndView mv = new ModelAndView();
    mv.addObject("xxx",xxx);
    }
    返回的视图页面对应为访问地址,本例是welcome
    使用void,map,Model时,返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成

    3,增删改查
    @RequestMapping(value="/persion",method=RequestMethod.POST)
    public String post(Model model){
    //新增逻辑
    return "/result.jsp";
    }
    @RequestMapping(value="/person/{name}",method=RequestMethod.GET)
    public String get(@PathVariable("name") String name,Model model){
    //根据名称查找逻辑
    return "/result.jsp";
    }
    @RequestMapping(value="/person/{name}",method=RequestMethod.DELETE)
    public String delete(@PathVariable("name") String name,Model model){
    //删除逻辑
    return "/result.jsp";
    }
    @RequestMapping(value="/person/{name}",method=RequestMethod.PUT)
    public String put(@PathVariable("name") String name,Model model){
    //更新逻辑
    return "/result.jsp";
    }

    4,转发重定向
    return "redirect:/index.jsp";
    return "forward:/index.jsp";

  • 相关阅读:
    hdu 2196 树形dp
    codeforces 1A
    [日常摸鱼]bzoj1218[HNOI2003]激光炸弹-二维前缀
    [日常摸鱼]bzoj2724蒲公英-分块
    [日常摸鱼]关于离散化
    [OI笔记]后缀自动机
    [日常摸鱼]poj1509Glass Beads-SAM
    [日常摸鱼]bzoj1083[SCOI2005]繁忙的都市-最小生成树
    [日常摸鱼]bzoj2038[2009国家集训队]小Z的袜子-莫队算法
    [日常摸鱼]三分法
  • 原文地址:https://www.cnblogs.com/jshtest/p/9620412.html
Copyright © 2011-2022 走看看