无数据库版本最简单的登录注册后台系统--springboot版本

简单的springboot 登录注册版本,让你感受springboot和注解的便利性

【准备工作】:postman--便于接口测试,idea社区版本或者旗舰版本,社区版本需要安装plug-in搜索spring assistant就可以。

【建立工程,搭好架构】:如图:

  1. 建立User类简单的几个属性
    package com.zhangyiyi.chapter1.domain;
    
    public class User {
        private String userName;
        private String phoneNum;
        private String passWd;
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getPhoneNum() {
            return phoneNum;
        }
    
        public void setPhoneNum(String phoneNum) {
            this.phoneNum = phoneNum;
        }
    
        public String getPassWd() {
            return passWd;
        }
    
        public void setPassWd(String passWd) {
            this.passWd = passWd;
        }
    }
    
  2.  建立LoginController作为拦截用户请求到对应的处理接口,稍后讲解spring mvc的开发步骤
    package com.zhangyiyi.chapter1.controller;
    
    import com.zhangyiyi.chapter1.domain.User;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @RestController
    public class LoginController {
     private List<User> userList;
        public LoginController(){
            super();
            userList=new ArrayList<User>();
    
        }
        public static Log logger=LogFactory.getLog(LoginController.class);
        @PostMapping(value = "/login")
        public String login(@RequestParam("phonenum") String phoneNum,
                            @RequestParam("passwd") String passWd){
            for(User user:userList){
                if(user.getPassWd().equals(passWd)&&user.getPhoneNum().equals(phoneNum)){
                    logger.info("loginpost 方法访问");
                    return user.getUserName()+"欢迎登陆";
    
                }
            }
            return "登录失败";
        }
        @PostMapping(value = "/register")
        public  String register(@RequestParam("phonenum") String phoneNum,
                                @RequestParam("passwd") String passWd,
                                @RequestParam("username") String userName){
            User user=new User();
            user.setPassWd(passWd);
            user.setUserName(userName);
            user.setPhoneNum(phoneNum);
            userList.add(user);
            return userName+"注册成功";
    
        }
    }
    
  3.  入口函数:

    package com.zhangyiyi.chapter1;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class Chapter1ApplicationTests {
    
    
        public static void main(String[] args) {
                SpringApplication.run(Chapter1Application.class, args);
              }
    
    }

    删除test的方法,建立main方法,然后开启运行。

  4. postman测试接口,首先查询你自己的本机ipv4地址,最简单的就是cmd里面输入ipconfig获取

  5. 使用:

  6. 注册和登录使用

  7. 结果:

【现在讲解spring mvc开发步骤 】:

  1. 前段控制器DispatcherServlet来拦截用户请求
  2. 定义处理用户请求的Handle类,其实就是我们写的LoginController,两种方式实现controller接口或者使用注解,实现接口方式如下:

       还是推荐使用注解方式,至于为什么,你不觉得这样很方便么?定义controller是MVC里面必不可少的,DispatcherServlet就是里面的C,前端控制器,负责接收请求,再把请求分配给对应Handle,正常来说注册与登录应该写成两个java类,本文为了方便暂时写到一块。

疑问点:Controller并未收到用户请求,他如何处理的?MVC框架底层机制就是:前端Servlet接收到用户请求,通常做预处理,解析,封装参数,通过反射创建Controller,并调用指定方法:

如:

这两一一对应所以这个注解的方法就会接收到后缀为login的用户请求了,是不是很简单也同时学习了注解的作用?

当然还有一种方式是用xml配置文件代替注解方法,spring2.5以后不推荐所以就不讲啦。

总结:Spring MVC框架中,控制器由两个部分共同组成, ,DispatcherServlet和Controller,前者拦截用户请求和处理,后者负责业务控制,例如调用后台业务逻辑代码,返回处理结果。

下一章就重点讲五花八门的注解啦

这一章代码下载链接,推荐自己写哈,其实也蛮简单的

https://download.csdn.net/download/u012763405/10782141

猜你喜欢

转载自blog.csdn.net/u012763405/article/details/84028115