【SpringBoot学习】03、注册(一):表单信息封装成类传入Controller

本文展示了如何在Spring MVC中实现用户注册功能。通过创建DemoUser实体类,前端表单提交数据,Controller接收并处理数据,完成数据封装与验证。前端页面通过POST请求将用户名和密码提交给Controller,Controller进行响应处理。测试证明了表单数据能成功转化为实体类并传递给后台。
摘要由CSDN通过智能技术生成


注册时需要将用户名、密码、邮箱等信息封装成User类传入Controller
并且在用户输入这些信息时要异步查询服务器看看有没有异常,将异常异步返回到页面

1 实体类DemoUser

package com.nowcoder.community.entity;

public class DemoUser {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

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

    @Override
    public String toString() {
        return "DemoUser{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

2 Controller

//测试将数据封装成DemoUser传入Controller
    @RequestMapping(path = "/regist",method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> test(DemoUser user){
        Map<String, Object> map = new HashMap<>();
        if(user==null){
            map.put("error","未收到DemoUser类");
        }else{
            map.put("success","收到DemoUser类");
            System.out.println(user);
        }
        return map;
    }

3 前端页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
</head>
<body>
<form action="/community/regist" method="post">
    用户名:<input name="username" type="text"/><br>
    密码:<input name="password" type="password"> <br>
    <input type="submit" value="注册">
</form>
</body>
</html>

该页面的路径为static/html/demo-regist.html
用localhost://8080/community/html/demo-regist.html可以访问到。community是项目名

4 测试

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
证明底层确实可以将表单提交的数据封装成类传给Controller
猜想过程是:请求提交后DispatcherServlet传给相应的Controller方法,该方法的输入参数有User,那就从表单提交的数据里匹配User类的属性,前端的name值与User类的属性名一致就将起赋值给该属性,这样将数据封装成User类再传给Controller方法
要看源码确认

参考资源链接:[迷你天猫商城系统:基于Springboot的设计与实现](https://wenku.csdn.net/doc/2vu9nw679e?utm_source=wenku_answer2doc_content) 在构建一个简易电子商务平台的用户管理模块时,Spring Boot框架为我们提供了一个快捷高效的选择。文档《迷你天猫商城系统:基于Springboot的设计与实现》详细阐述了基于Spring Boot的电商系统开发流程,其中就包括了用户管理模块的实现细节。 首先,在Spring Boot项目初始化时,可以使用Spring Initializr(***)来生成项目的基础结构,选择需要的依赖,比如Spring Web、Spring Data JPA、Spring Security等,这些将为用户管理模块提供必要的支持。 用户管理模块的核心是处理用户的增删改查(CRUD)操作。利用Spring Data JPA,我们可以通过定义接口继承JpaRepository来简化数据访问层的代码,并通过Spring Data的命名约定来自动实现基本的CRUD操作。例如,创建一个User实体类以及一个继承自JpaRepository的UserRepository接口,这样就可以通过简单的查询方法名来执行数据库操作。 接下来,我们需要处理业务逻辑层,可以通过创建UserService类来封装业务逻辑,并在其中注入UserRepository。在此服务层中,可以实现用户的注册、验证、更新信息、删除用户等业务方法。 对于安全性方面,Spring Boot推荐使用Spring Security。在用户管理模块中,Spring Security可以负责处理用户认证和授权。可以配置一个UserDetailsService来管理用户信息,并通过密码编码器来加密存储用户密码。同时,可以使用自定义的登录页面或表单,结合@ControllerAdvice来进行全局异常处理和登录拦截。 最后,在控制器层,使用@Controller注解创建一个UserController类,通过@RequestMapping注解定义不同的请求处理方法,并将服务层 UserService的方法作为参数传入,实现HTTP请求与后端业务逻辑的对应。例如,注册用户时,可以提供一个PostMapping注解的注册方法,通过UserService中的注册逻辑来处理请求数据并完成用户注册。 整个用户管理模块的开发流程,从项目搭建、实体创建、接口定义、服务逻辑到控制器处理,Spring Boot都提供了丰富的工具和快捷方式来简化开发工作。通过阅读《迷你天猫商城系统:基于Springboot的设计与实现》文档,可以更深入地理解Spring Boot在实际项目中的应用细节和最佳实践,为开发一个完整的用户管理模块奠定坚实的基础。 参考资源链接:[迷你天猫商城系统:基于Springboot的设计与实现](https://wenku.csdn.net/doc/2vu9nw679e?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值