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常用用法
- 方法级别 上的用法
- 方法参数绑定 的用法
@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";
}
}