栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot整合thymeleaf登录案例,及thymeleaf常用语法使用示例(附源码下载)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot整合thymeleaf登录案例,及thymeleaf常用语法使用示例(附源码下载)

Springboot-cli 开发脚手架系列

Springboot整合thymeleaf登录案例,及thymeleaf常用语法使用示例(附源码下载)


文章目录
  • Springboot-cli 开发脚手架系列
  • 简介
  • 前言
    • 1. 环境
    • 2. 页面编写
    • 3. 编写实体及业务
    • 4. 编写接口
    • 5. 效果演示
    • 6. 源码分享


简介

Springboot整合thymeleaf登录案例,及thymeleaf常用语法使用示例,代码优雅整洁,帮助初学者快速掌握并使用thymeleaf。

前言

我们致力于让开发者快速搭建基础环境并让应用跑起来,提供使用示例供使用者参考,让初学者快速上手。
本博客项目源码地址:

  • 项目源码github地址
  • 项目源码国内gitee地址
1. 环境
  • pom.xml
     
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
  • application.yml
server:
  port: 9999
  servlet:
    session:
      # 让Tomcat只能从COOKIE中获取会话信息,这样,当没有Cookie时,URL也就不会被自动添加上 ;jsessionid=… 了。
      tracking-modes: COOKIE


spring:
  thymeleaf:
    # 关闭页面缓存,便于开发环境测试
    cache: false
    # 静态资源路径
    prefix: classpath:/templates/
    # 网页资源默认.html结尾
    mode: HTML
2. 页面编写
  • 在resources中创建templates文件夹存放页面资源
  • 这里通过3个简单的页面演示几种thymeleaf常用的用法,如if和unless、switch、Iteration
  • userInfo.html




    
    table1


用户信息

管理员

普通用户

用户id 名称 是否启用 创建日期
/ / / /
  • index.html



    
    Title


首页

退出登录


用户信息
  • login.html



    
    登陆页


登陆页

账号:admin,密码:123456
3. 编写实体及业务
  • User.java
@Data
@Accessors(chain = true)
public class User {

    
    private Long userId;

    
    private String username;

    
    private String password;

    
    private String name;

    
    private String role;

    
    private Boolean enable;

    
    private Date createdDate;

}
  • IUserService.java 接口类
public interface IUserService {

    
    boolean login(String username, String password, HttpSession session);

    
    User getUser();

    
    List listUser();
}
  • 实现类UserServiceImpl.java,模拟登录及用户数据
@Service
public class UserServiceImpl implements IUserService {

    @Override
    public boolean login(String username, String password, HttpSession session) {
        User user = this.getUser();
        if (username.equals(user.getUsername()) && password.equals(user.getPassword())) {
            session.setAttribute("user", user);
            return true;
        }
        return false;
    }

    @Override
    public User getUser() {
        return new User()
                .setName("admin")
                .setUserId(1L)
                .setRole("admin")
                .setUsername("admin")
                .setPassword("123456");
    }

    @Override
    public List listUser() {
        List users = new ArrayList<>();
        for (int i = 1; i <= 10; i++) {
            users.add(new User()
                    .setName("admin" + i)
                    .setUserId((long) i)
                    .setUsername("admin" + i)
                    .setRole("normal")
                    .setPassword("1000" + i)
                    .setEnable(i % 2 == 0)
                    .setCreatedDate(new Date())
            );
        }
        return users;
    }
}
4. 编写接口
  • IndexController.java首页
@Controller
@Slf4j
@RequiredArgsConstructor
public class IndexController {

    private final IUserService iUserService;

    @RequestMapping({"/", "/index"})
    public String index(Model model, HttpSession session) {
        Object user = session.getAttribute("user");
        if (Objects.isNull(user)) {
            log.error("用户未登录");
            return "login";
        }
        return "index";
    }

    @RequestMapping("/userInfo")
    public String table1(Model model) {
        model.addAttribute("users", iUserService.listUser());
        return "userInfo";
    }

}
  • LoginController .java登录
@Controller
@RequiredArgsConstructor
@Slf4j
public class LoginController {

    private final IUserService iUserService;

    @GetMapping("/login")
    public String login() {
        return "login";
    }

    @PostMapping("/doLogin")
    public String doLogin(@RequestParam("username") String username, @RequestParam("password") String password, Model model, HttpSession session) {
        if (!iUserService.login(username, password, session)) {
            model.addAttribute("errorMsg", "账号密码错误");
            log.error("登录失败");
            return "login";
        }
        log.info("登录成功");
        return "index";
    }

    @GetMapping("/logout")
    public String logout(HttpSession session) {
        session.removeAttribute("user");
        return "login";
    }
}
5. 效果演示
  • 整体项目结构

  • 启动项目,浏览器输入http://127.0.0.1:9999

  • 输入账号密码登录 默认admin,123456

  • 查看全部用户信息

6. 源码分享

本项目已收录

  • Springboot-cli开发脚手架,集合各种常用框架使用案例,完善的文档,致力于让开发者快速搭建基础环境并让应用跑起来,并提供丰富的使用示例供使用者参考,帮助初学者快速上手。
  • 项目源码github地址
  • 项目源码国内gitee地址
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号