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";
}

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐