tips:springmvc默认去加载路径为WEB_INF/中央控制器名-servlet.xml的配置文件
一,基本数据类型的传参
1.通过handler方法的参数来传参
@Controller//表名这是一个控制器
@RequestMapping("user")
public class UserController {
@RequestMapping("/show")
public String show(Integer id){
System.out.println("id为:"+id);
return "list";
}
}
这个show方法有一个参数Integer id;在发送请求时,如果请求的url里面含有参数id,此方法就可以接收到id的值;但是url中的参数名要与方法的参数名一致;
不一致,则后端接收不到参数的值;如果二者类型不一致,会报400错误;
servlet接收到的参数的值永远都是string类型,但是spring会帮我们将String转换成接收参数的类型
为什么SpringMvc参数接收使用方法的参数绑定,而不是定义成员变量接收,因为Spring对象的创建默认使用的是单例模式,如果定义成员变量接收参数,成员变量就是所有线程的共享数据,此时就带来线程安全问题,如果是方法参数,就不会产生线程安全问题,因为方法的参数是局部变量,属于线程独有
使用@RequestParam("前端参数名")可以使得方法的参数名不需要跟前端传来的参数名保持一致.但是注解括号内的value要与前端的参数名相同!
@RequestMapping("/login")
public ModelAndView login(@RequestParam(value="name") String uname, @RequestParam("password")String upassword){
ModelAndView mv = new ModelAndView();
mv.addObject("name",uname);
mv.addObject("password",upassword);
mv.setViewName("list");
return mv;
}
}
一般情况下,前后台的参数个