1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,post方式不提倡
url格式:http://localhost/SSMDemo/demo/addUser1?username=cwxi&password=88888
// 注意方法中的参数名要与url中携带的参数名一样
@RequestMapping("/addUser1")
public String addUser1(String username,String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}
2.通过HttpServletRequest接收,post方式和get方式都可以
url格式:http://localhost/SSMDemo/demo/addUser1?username=cwxi&password=88888
@RequestMapping("/addUser2")
public String addUser2(HttpServletRequest request) {
String username=request.getParameter("username");
String password=request.getParameter("password");
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}
3.通过@PathVariable获取路径中的参数,只限get方式
url格式:http://localhost/SSMDemo/demo/addUser1/cwxi/88888
// 注意url中的参数要与方法中的参数顺序一样,这样才能一一匹配
@GetMapping("/addUser4/{username}/{password")
public String addUser4(@PathVariable String username,@PathVariable String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}
4.通过一个bean来接收,post方式和get方式都可以
url格式:http://localhost/SSMDemo/demo/addUser1?username=cwxi&password=88888
bean:
// 注意这里类的属性名要和url请求携带的参数名一样
public class UserModel {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
用这个bean来封装接收的参数:
@RequestMapping("/addUser3")
public String addUser3(UserModel user) {
System.out.println("username is:"+user.getUsername());
System.out.println("password is:"+user.getPassword());
return "demo/index";
}