Spring MVC中@RequestMapping用法

1. SpringMVC中的@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类则表示所有响应请求的方法都以该地址作为父路径

@RequestMapping("/test")
public class TestController {
  @RequestMapping("/mm")
  public String m() {
    return "mm";
  }
}

如果上面在类上配置了@RequestMapping,则整个URL访问的路径 http://localhost:8080/项目名/test/mm.jsp

2. @RequestMapping常用用法

  1. 方法级别 上的用法
  2. 方法参数绑定 的用法
@Controller
public class TestController {
    
    /**
     * 如果业务控制器的方法有参数,则方法中的参数就是可以接收url的传参
     * http://localhost:8080/springmvc/mmm.jsp?id=123
     * @RequestParam
     * 1. required:是否必须要有这个参数
     * 2. value: 定义url的参数名称
     * 3. defaultValue:定义参数的默认值
     * @param id
     * @return
     */
    @RequestMapping("/mmm")
    public String mmm(@RequestParam(required=true,value="sid",defaultValue="100") String id) {
        System.out.println("id = " + id);
        return "mmm";
    }
    
}
获取实体对象的用法,即:通过方法能够将表单提交的参数自动封装成JavaBean对象
/**
 * SpringMVC的控制器(业务控制器)
 * 定义的方法就是一个请求处理的方法
 * @author jkk
 *
 */
@Controller
public class TestController {
    
    /**
     * 表单数据提交传递给Spring MVC可以利用JavaBean来接收数据
     * SpringMVC一键封装JavaBean
     * 关键点:表单中参数名称和JavaBean的属性一样
     * @param student
     * @return
     */
    @RequestMapping("/m")
    public String m (Student student) {
        System.out.println(student.getId());
        System.out.println(student.getSname());
        System.out.println(student.getT_id());
        return "m";
    }
    
}
回调Servlet API用法
/**
 * SpringMVC的控制器(业务控制器)
 * 定义的方法就是一个请求处理的方法
 * @author jkk
 *
 */
@Controller
public class TestController {
    
    /**
     * 让SpringMVC框架回调Servlet API接口
     * 在请求处理的方法上加入对应的Servlet API接口作为方法参数就可以了
     * @param request
     * @param response
     * @return
     * @throws IOException 
     */
    @RequestMapping("/m")
    public void m(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String id = request.getParameter("id");
        String sname = request.getParameter("sname");
        String t_id = request.getParameter("t_id");
        PrintWriter out = response.getWriter();
        out.println(id + "  " + sname + "  " + t_id);
        out.flush();
        out.close();
    }
    
}
REST风格参数用法
/**
 * SpringMVC的控制器(业务控制器)
 * 定义的方法就是一个请求处理的方法
 * @author caleb
 *
 */
@Controller
public class TestController {
    
    /**
     * 
     * @RequestMapping("/m01"), http://localhost:8080/springmvc/m01/123
     * URL最后面的参数123可以直接赋值给id,REST风格参数让URL传参更加优美
     * @return
     */
    @RequestMapping("/m01/{id}")
    public String m05(@PathVariable String id) {
    System.out.println("id = " + id);
        return "m01";
    }
        
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值