Java项目:07 Springboot的客户管理系统

news2024/9/20 16:58:58
作者主页:舒克日记

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文中获取源码

项目介绍

springboot客户管理系统

功能模块:登录+修改密码+客户列表+充值列表+消费记录+客户类型

环境:IDEA+jdk1.8+Tomcat9+MySQL5.7+maven3.6.1+redis

技术:springboot+jsp+layui

环境要求

1.运行环境:最好是java jdk1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat7.x,8.X,9.x版本均可

4.硬件环境:windows7/8/10 4G内存以上;或者Mac OS;

5.是否Maven项目:是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven.项目

6.数据库:MySql5.7/8.0等版本均可;

技术栈

  • 技术框架:jQuery + MySQL5.7 + mybatis + shiro + Layui + HTML + CSS + JS + thymeleaf
  • 运行环境:jdk8 + IntelliJ IDEA + maven3

使用说明

1.使用Navicati或者其它工具,在mysql中创建对应sq文件名称的数据库,并导入项目的sql文件;

2.使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;

3.将项目中config-propertiesi配置文件中的数据库配置改为自己的配置,然后运行;

运行指导

idea导入源码空间站顶目教程说明(Vindows版)-ssm篇:

http://mtw.so/5MHvZq

源码地址:http://codegym.top。

运行截图

QQ截图20240113235251

QQ截图20240113235758

QQ截图20240113235851

QQ截图20240113235940

QQ截图20240114000303

代码

LoginController

package com.rain.controller;

import com.rain.common.base.BaseController;
import com.rain.common.base.JSONResult;
import com.rain.common.cache.SessionCache;
import com.rain.common.constant.Constant;
import com.rain.domain.dto.user.LoginDto;
import com.rain.domain.vo.user.LoginVo;
import com.rain.service.user.IUserService;
import com.rain.util.JsonUtils;
import com.rain.util.ObjectUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

/**
 * 登录控制器
 */
@Controller
public class LoginController extends BaseController {
    private static final Logger logger = LoggerFactory.getLogger(LoginController.class);

    @Autowired
    private IUserService userService;

    @RequestMapping("/")
    public String index() {
        return "index";
    }

    /**
     * 进入登录页面
     *
     * @return
     */
    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String loginPage(HttpServletRequest request) {
        logger.debug("into /loginPage >>>>>>>>>>>>>>>>>>>>>>>");

        //判断当前用户是否登录,如果已登录转到系统首页
        LoginVo user = SessionCache.getUser(request);
        if (ObjectUtils.isNotEmpty(user)) {
            return "redirect:/";
        }
        return "login";
    }

    /**
     * 登录
     *
     * @return
     */
    @RequestMapping(value = "/login", method = RequestMethod.POST)
    @ResponseBody
    public Object login(LoginDto loginDto, HttpServletRequest request) {
        logger.info("into /login loginDto:{}", JsonUtils.toJson(loginDto));
        //用户登录信息
        LoginVo loginVo = userService.login(loginDto);

        //将用户信息存放在session中
        SessionCache.setUser(request, loginVo);
        request.getSession().setAttribute(Constant.SESSION_USER, loginVo);
        return new JSONResult();
    }

    /**
     * 登出
     *
     * @return
     */
    @RequestMapping(value = "/logout", method = RequestMethod.GET)
    public Object logout(HttpServletRequest request) {
        logger.info("into /logout >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
        SessionCache.removeUser(request);
        return "redirect:/login";
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1381882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RK3568笔记八: Display子系统

modetest 是由 libdrm 提供的测试程序,可以查询显示设备的特性,进行基本的显示测试,以及设置显示的模式。 我们可以借助该工具来学习 Linux DRM 应用编程,另外为了深入分析 Rockchip DRM driver,有必要先了解一下这个…

用C语言采集亚马逊amazon产品数据

上一篇文章我是用C写的一个爬取亚马逊的爬虫程序,相信大家已经看过了,这次呢,我依然使用C语言来写一个爬虫,大体上思路是和之前一样,只是支持的库以及语法有些区别,具体的呢我会一一解释出来,方…

DHCP动态主机配置协议

文章目录 DHCP1、DHCP的优势2、DHCP的分配方式3、DHCP的租约过程4、服务器配置命令格式命令图文详解 DHCP DHCP:动态主机配置协议 1、DHCP的优势 减少管理员的工作量 避免输入错误的可能 避免IP地址冲突 当更改IP地址段时,不需要重新配置每个用户的…

【教学类-44-03】20240111阿拉伯数字字帖的字体(三)——德彪钢笔行书(实线字体)和print dashed(虚线字体)

作品展示: 背景需求: 一、寻找适合幼儿书写的数字描字帖,文鼎标楷国字体有部分数字补符合我的要求 【教学类-44-02】20231226阿拉伯数字字帖的字体(二)——文鼎标楷国字体 AR StdKaiGDLB5 Md(虚线字体)-CS…

SpringBoot知识03

1、多模块项目无法启动,报错Failed to execute goal on project*: Could not resolve dependencies for project

【Unity】Attribute meta-data#com.google.android.play.billingclient.version 多版本库冲突

文章目录 一、背景二、问题描述三、解决方案 一、背景 1、Unity 2021.3.9f1 2、Max由6.0.1至最新版本6.1.0 二、问题描述 错误信息 Attribute meta-data#com.google.android.play.billingclient.versionvalue value(6.1.0) from [com.android.billingclient:billing:6.1.0] An…

python图像处理总结

等我有时间了,好好总结一下这几个图像处理包,为后面的研究做个铺垫 skimage包 可以用系统自带的图片,不用自己找图片 from skimage.io import imread, imshow from skimage import data image data.astronaut() imshow(image)后面可以拿这…

Maven环境搭建及Maven部分目录分析

一、安装Maven Maven 本身就是⼀套由 Java 开发的软件,所以 Maven 的运⾏需要依赖 JDK 环境。在安装 Maven 之前请 确认JDK 是否配置正确(主要依赖 JAVA_HOME 环境变量)。如果没有正确安装和配置 JDK ,则运⾏ Maven 时 会出现以下…

“一键转换PNG至BMP:轻松批量处理,高效优化图片管理“

在数字世界中,图片格式的转换是日常工作中不可或缺的一部分。你是否经常遇到需要将PNG格式的图片转换为BMP格式的需求?是否在处理大量图片时,希望能够实现一键批量转换,提高工作效率? 首先,我们进入首助编…

vue前端开发自学基础,动态切换组件的显示

vue前端开发自学基础,动态切换组件的显示&#xff01;这个是需要借助于&#xff0c;一个官方提供的标签&#xff0c;名字叫【Component】-[代码demo:<component :is"ComponetShow"></component>]。 下面看看代码详情。 <template><h3>动态…

三、Qt Creator 使用

关于Qt的安装及环境配置&#xff0c;在我的上一篇《二、QT下载、安装及问题解决(windows系统)》已经讲过了。 本章节有一个重点&#xff0c;在新建 工程文件时&#xff0c;所在路径不要有中文&#xff0c;否则编译及运行程序不能正常运行。 在使用Qt Creator&#xff08;以下…

解决Spss没有创建虚拟变量的选项的问题

这个是今天用spss想创建虚拟变量然后发现我的spss没有。 然后能怎么办我就百度呗&#xff0c; 说是在扩展里连接扩展中心 天哪&#xff0c;谁能连上&#xff0c;我连不上 于是就找到了从github上下载到本地&#xff0c;然后安装到spss中 目录 解决方法 点击code 再点击D…

9.5.1 函数模板特化

函数模板 有了泛化版本比较函数&#xff0c;我们可以比较两个整数&#xff0c;两个字符&#xff0c;两个指针 6~10行&#xff0c;是一个函数模板 13~16行&#xff0c;都可以得到正常结果 22行&#xff0c;得到的结果是&#xff0c;"A001" < "A000", …

openGauss学习笔记-196 openGauss 数据库运维-常见故障定位案例-强制结束指定的问题会话

文章目录 openGauss学习笔记-196 openGauss 数据库运维-常见故障定位案例-强制结束指定的问题会话196.1 强制结束指定的问题会话196.1.1 问题现象196.1.2 处理办法 openGauss学习笔记-196 openGauss 数据库运维-常见故障定位案例-强制结束指定的问题会话 196.1 强制结束指定的…

AI剪辑助手:轻松剪辑专注创意,视频批量AI智剪的方法

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;在许多领域都展现出了强大的能力。在视频剪辑领域&#xff0c;AI剪辑助手的出现&#xff0c;给内容创作者带来了前所未有的便利。它不仅能快速、高效地完成视频剪辑工作&#xff0c;还能释放创造力。今天一起…

为什么选择Go语言编写网络应用程序

关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等&#xff0c;您的关注将是我的更新动力&#xff01; 作为一名后端开发者&#xff0c;你一定对选择合适的编程语言来编写网络应用程序非常重视。在众多的编程语言中&#xff0c;Go语言…

Redis如何把字符集的编码格式设置为UTF-8

一、问题复现&#xff08;编码错乱&#xff09; 刚安装好的redis在使用的过程中&#xff0c;若使用到了汉字&#xff0c;则在显示的时候&#xff0c;汉字是不能够正常显示的&#xff0c;因为redis在解析的过程中&#xff0c;会将汉字转换成其他编码的格式&#xff0c;如下图&am…

软件测试|pycharm关联GitHub的详细步骤

简介 GitHub 是全球最大的开源代码托管平台之一&#xff0c;而 PyCharm 是一款强大的 Python 集成开发环境。将两者结合使用&#xff0c;可以提高团队协作和代码管理的效率。本文将详细介绍如何在 PyCharm 中管理 GitHub 账号&#xff0c;包括如何设置 GitHub 账号、创建新仓库…

linux环境下安装postgresql

PostgreSQL: Linux downloads (Red Hat family)postgresql官网 PostgreSQL: Linux downloads (Red Hat family) 环境&#xff1a; centos7 postgresql14 选择版本 执行启动命令 配置远程连接文件 vi /var/lib/pqsql/14/data/postgresql.conf 这里将listen_addresses值由lo…

C语言天花板——指针(经典题目)

指针我们已经学习的差不多了&#xff0c;今天我来给大家分享几个经典的题目&#xff0c;来让我们相互学习&#x1f3ce;️&#x1f3ce;️&#x1f3ce;️ int main() {int a[4] { 1, 2, 3, 4 };int* ptr1 (int*)(&a 1);int* ptr2 (int*)((int)a 1);printf("%x,%…