基于Spring Boot的登录demo

作者: tikyle | 来源:发表于2018-05-14 19:37 被阅读1219次

    原文首发于我的博客

    本项目基于Spring Boot框架,搭建了一个简单的登录微服务。
    Spring Boot相对于传统的SSM(Spring MVC + Mybatis + Spring)框架用起来更加简单,不需要进行复杂的配置,方便灵活。

    Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring应用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。

    使用Spring Boot可以很方便的建立微服务。

    效果图

    项目测试地址http://tianle.me:8080

    项目代码:github

    效果图

    应用技术

    Spring Boot + bootstrap + thymeleaf

    项目搭建

    使用Intellij中的Spring Initializr来快速构建Spring Boot

    菜单栏中选择File=>New=>Project..

    一直点下一步

    p1
    p2
    p3
    p4

    最后点击Finish

    联网自动从网站上下载Spring Boot的模板,稍作等待框架就搭好啦。

    项目目录结构

    上面步骤中的项目名字和这个截图有点不一样(login)
    src/main/java/ 为代码文件
    src/main/resources/ 为资源文件

    为了保证项目资源结构的清晰,我们把 src/main/java/ 再进一步进行划分:
    bean 目录存放的是要用到的实体类
    controller 目录存放的是控制层类

    src/main/resources/template/ 为静态页面的模板文件,这里用了thymeleaf模板渲染引擎框架(据说Spring Boot推荐)
    src/main/resources/application.properties 为Spring Boot的配置文件

    p5

    maven配置

    我们做的是Java web项目,在其默认生成的maven配置文件中添加web和thymeleaf依赖。
    pom.xml

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    

    application.properties配置

    这里我们配置 thymeleaf模板渲染引擎

    # Enable template caching.
    spring.thymeleaf.cache=true
    # Check that the templates location exists.
    spring.thymeleaf.check-template-location=true
    # Content-Type value.
    spring.thymeleaf.servlet.content-type=text/html
    # Enable MVC Thymeleaf view resolution.
    spring.thymeleaf.enabled=true
    # Template encoding.
    spring.thymeleaf.encoding=UTF-8
    # Comma-separated list of view names that should be excluded from resolution.
    spring.thymeleaf.excluded-view-names=
    # Template mode to be applied to templates. See also StandardTemplateModeHandlers.
    spring.thymeleaf.mode=HTML
    # Prefix that gets prepended to view names when building a URL.
    spring.thymeleaf.prefix=classpath:/templates/
    # Suffix that gets appended to view names when building a URL.
    spring.thymeleaf.suffix=.html
    

    其余的Spring Boot属性配置文件参考(本项目没有配置,使用的默认):
    Spring Boot属性配置文件详解

    Bean

    本项目为用户登录,只考虑用户这一个角色,包含用户名和密码。

    package me.tianle.login.bean;
    
    public class User {
        private String name;
        private String password;
    
        public User(String name, String password) {
            this.name = name;
            this.password = password;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    }
    
    

    Controller

    web项目的控制器写在这里,处理页面的请求,前后台交互

    @Controller:修饰class,用来创建处理http请求的对象
    @RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。
    @RequestMapping:配置url映射

    目前版本没有添加数据库,能否登录判断逻辑直接写死在代码中。

    package me.tianle.login.controller;
    
    import me.tianle.login.bean.User;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.*;
    import org.springframework.web.servlet.ModelAndView;
    
    @RestController
    public class LoginController {
    
        @RequestMapping("/")
        public ModelAndView index() {
            return new ModelAndView("index");
        }
    
        @RequestMapping(value = "/login", method = RequestMethod.POST)
        public String login(@ModelAttribute User user) {
            String name = user.getName();
            String password = user.getPassword();
    
            if (name.equals("qinya") && password.equals("tianle")) {
                return "Success";
            } else {
                return "Failed";
            }
        }
    }
    
    

    项目打包运行

    使用maven进行打包。

    mvn install
    

    Spring Boot里面嵌入了Tomcat,直接运行

    java -jar xxx.jar
    
    p6
    浏览器输入: http://localhost:8080
    账号:qinya
    密码:tianle

    参考来源

    Spring Boot基础教程
    基于Bootstrap的简洁登录界面设计效果
    Building an Application with Spring Boot

    相关文章

      网友评论

      • 相信灬你一直在:非常基础的讲解,对于刚接触的我很实用
      • 丿丶祥灬少:你好,小弟最近也在刚学springboot,不过我是用springboot写后台,最近从数据库查询,返回到android客户端遇到了一点问题,有时间还请写一些关于Mysql数据库方面的,最近我在网上看的是使用jpa,其他方式该不知道,另外,本人学生一枚😂😂😂
        tikyle:加断点调试,看看中间是哪个部分出了问题
      • IT人故事会:老铁,写的很用心,你的文章我收藏了啊
        tikyle:谢谢!

      本文标题:基于Spring Boot的登录demo

      本文链接:https://www.haomeiwen.com/subject/ydojdftx.html