首页 > 其他分享 >基于springboot摄影师分享交流社区系统

基于springboot摄影师分享交流社区系统

时间:2024-11-03 10:19:42浏览次数:3  
标签:社区 return springboot Spring request setAttribute Java 摄影师 String

项目截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Java语言介绍

Java语言是目前最受欢迎的一种高级语言,它是一种类 C的语言,将 C和 C++的优势结合在一起,但又舍弃了各自的劣势,在 Java语言中,所有的东西都是对象。这使得 Java语言的开发工作变得更为高效。Java语言所依靠的开发环境中,最重要的一部分就是 JDK,只要使用安转 JDK,就可以将所有 Java语言的撰写工作全部完成。不过,为了提升开发效率,许多大型的软件公司都向用户提供了更为便利的可视化开发工具,其中比较有名的就是 Eclipse和 IDEA。
Java语言不但可以开发系统,还可以开发网站和硬件设备所需的程序,具有很高的可迁移性,在各种操作系统甚至手机上都可以很有效的运行,这是其它语言没有的。
在 Java应用范围日益扩展的同时,许多研究者也加入到了 Java的框架中,如 SSH、 SSM等;SSM、 Springclud以及其他更多的 Java框架已经成为了现在的主流。另外, Java作为一种开放源码和自由使用的语言,在广发的开发者中也颇受欢迎。

Spring Boot 框架介绍

Spring Boot是一个基于Java的开源框架,旨在简化Spring应用程序的初始化和开发过程。它是由Pivotal团队开发的,使开发者能够更快、更高效地构建应用程序。Spring Boot框架在Java开发领域中极受欢迎,主要因为它带来了诸多便利。首先,Spring Boot通过自动配置大大简化了应用程序的设置和开发过程。这意味着开发者不再需要手动配置各个组件,能够节省大量时间,更快地启动和运行应用程序。其次,Spring Boot提供了众多内置的功能和插件,例如安全性、数据库访问、消息传递等。这些功能都是经过优化和测试的,可以直接使用,降低了开发复杂应用程序的难度。此外,Spring Boot与各种流行的框架和库集成良好,如Hibernate、Thymeleaf、Spring Data等。这使得开发者能够轻松利用这些工具的强大功能,提升应用程序的性能和功能性。对于初学者来说,Spring Boot也提供了一套简洁的教程和文档,帮助他们快速上手。而且,由于Spring Boot基于Spring框架,因此开发者在学习Spring Boot的同时,也能够掌握Spring的核心概念。
在企业环境中,由于Spring Boot能够迅速开发出高性能、高可靠性的应用程序,它已经被广泛采用。不仅如此,Spring Boot还提供了对云计算和微服务的支持,满足了现代企业的多样化需求。综合来说,Spring Boot框架通过简化配置、提供内置功能和良好集成性等方式,大大提高了Java开发的效率和应用性能。无论你是初学者还是资深开发者,Spring Boot都是一个值得学习和掌握的强大工具。。

MySQL数据库介绍

本系统选择使用MySQL数据库,原因有很多。首先,相较于SQL Server和Oracle,MySQL更为小巧轻便,这意味着它的安装、配置和维护都会更加容易。此外,MySQL拥有常用的功能和标准的SQL结构化查询语言,这意味着开发人员可以更快速地学习和理解MySQL,同时可以更加方便地进行开发工作。
除此之外,MySQL是免费的跨平台数据存储介质,这意味着用户可以在不同的操作系统上使用MySQL,无需额外的费用。这使得MySQL成为了许多开源项目和小型企业的首选数据库,也使得MySQL在Web应用程序中受到了广泛的使用。
这些优点都是MySQL能够脱颖而出的重要原因。MySQL在近年来迅速发展,不断提高其性能和可靠性。它已经成为了企业级应用程序和互联网应用程序的主流数据库之一,被广泛应用于电子商务、金融、游戏和社交媒体等领域。
总之,MySQL的小巧轻便、常用的功能和标准的SQL结构化查询语言以及免费的跨平台数据存储介质等优点,都使得它成为了许多应用程序的首选数据库。随着MySQL不断提升性能和可靠性,相信它将会在未来的互联网应用中继续发挥重要作用。

Vue技术介绍

Vue框架是一种基于JavaScript的前端开发框架,它可以和Java后台框架协同工作,开发出前后台分离的应用程序。Vue框架非常容易上手,学习简单,功能齐全,免除了JavaScript的dom操作,可以更快速地完成数据绑定。Vue框架实现了MVVM框架,通过后台的模型进行业务逻辑的处理,并将数据绑定到视图层中。在视图层绑定显示控件,实现数据的自动同步。这种方式使得开发人员可以更加专注于业务逻辑的实现,而不是手动进行数据绑定。Vue框架是基于HTML、CSS和JavaScript构建的,可以实现页面开发、手机应用开发以及程序开发。Vue框架是一种渐进式框架,可以覆盖前端开发的基本需求。
Vue框架以其直观易学的特性,为前端开发者提供了一个高效且功能完备的开发环境。Vue免除了繁琐的DOM操作,通过其独特的数据驱动方式,极大地提高了数据绑定的效率。这种机制允许开发人员更加专注于业务逻辑的实现,而无需手动处理数据绑定和DOM更新。Vue实现了MVVM(Model-View-ViewModel)架构模式,这种设计模式使得业务逻辑与视图展示层得到了有效分离。在Vue中,ViewModel层担任着数据中转站的角色,它负责接收来自Model层的数据,并将其转换为View层所需的格式进行展示。同时,ViewModel也监听View层的事件,一旦用户进行了某些操作(如点击按钮),它会及时更新Model层的数据,从而实现数据的双向绑定。

核心代码

package sac.mall.controller.admin;

import sac.mall.common.ServiceResultEnum;
import sac.mall.entity.AdminUser;
import sac.mall.service.AdminUserService;

import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

@Controller
@RequestMapping("/admin")
public class AdminController {

    @Resource
    private AdminUserService adminUserService;

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

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


    @GetMapping({"", "/", "/index", "/index.html"})
    public String index(HttpServletRequest request) {
        request.setAttribute("path", "index");
        request.setAttribute("categoryCount", 0);
        request.setAttribute("blogCount", 0);
        request.setAttribute("linkCount", 0);
        request.setAttribute("tagCount", 0);
        request.setAttribute("commentCount", 0);
        request.setAttribute("path", "index");
        return "admin/index";
    }

    @PostMapping(value = "/login")
    public String login(@RequestParam("userName") String userName,
                        @RequestParam("password") String password,
                        @RequestParam("verifyCode") String verifyCode,
                        HttpSession session) {
        if (StringUtils.isEmpty(verifyCode)) {
            session.setAttribute("errorMsg", "验证码不能为空");
            return "admin/login";
        }
        if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password)) {
            session.setAttribute("errorMsg", "用户名或密码不能为空");
            return "admin/login";
        }
        String kaptchaCode = session.getAttribute("verifyCode") + "";
        if (StringUtils.isEmpty(kaptchaCode) || !verifyCode.equals(kaptchaCode)) {
            session.setAttribute("errorMsg", "验证码错误");
            return "admin/login";
        }
        AdminUser adminUser = adminUserService.login(userName, password);
        if (adminUser != null) {
            session.setAttribute("loginUser", adminUser.getNickName());
            session.setAttribute("loginUserId", adminUser.getAdminUserId());
            //session过期时间设置为7200秒 即两小时
            //session.setMaxInactiveInterval(60 * 60 * 2);
            return "redirect:/admin/index";
        } else {
            session.setAttribute("errorMsg", "登陆失败,请联系作者获得测试账号");
            return "admin/login";
        }
    }

    @GetMapping("/profile")
    public String profile(HttpServletRequest request) {
        Integer loginUserId = (int) request.getSession().getAttribute("loginUserId");
        AdminUser adminUser = adminUserService.getUserDetailById(loginUserId);
        if (adminUser == null) {
            return "admin/login";
        }
        request.setAttribute("path", "profile");
        request.setAttribute("loginUserName", adminUser.getLoginUserName());
        request.setAttribute("nickName", adminUser.getNickName());
        return "admin/profile";
    }

    @PostMapping("/profile/password")
    @ResponseBody
    public String passwordUpdate(HttpServletRequest request, @RequestParam("originalPassword") String originalPassword,
                                 @RequestParam("newPassword") String newPassword) {
        if (StringUtils.isEmpty(originalPassword) || StringUtils.isEmpty(newPassword)) {
            return "参数不能为空";
        }
        Integer loginUserId = (int) request.getSession().getAttribute("loginUserId");
        if (adminUserService.updatePassword(loginUserId, originalPassword, newPassword)) {
            //修改成功后清空session中的数据,前端控制跳转至登录页
            request.getSession().removeAttribute("loginUserId");
            request.getSession().removeAttribute("loginUser");
            request.getSession().removeAttribute("errorMsg");
            return ServiceResultEnum.SUCCESS.getResult();
        } else {
            return "修改失败";
        }
    }

    @PostMapping("/profile/name")
    @ResponseBody
    public String nameUpdate(HttpServletRequest request, @RequestParam("loginUserName") String loginUserName,
                             @RequestParam("nickName") String nickName) {
        if (StringUtils.isEmpty(loginUserName) || StringUtils.isEmpty(nickName)) {
            return "参数不能为空";
        }
        Integer loginUserId = (int) request.getSession().getAttribute("loginUserId");
        if (adminUserService.updateName(loginUserId, loginUserName, nickName)) {
            return ServiceResultEnum.SUCCESS.getResult();
        } else {
            return "修改失败";
        }
    }

    @GetMapping("/logout")
    public String logout(HttpServletRequest request) {
        request.getSession().removeAttribute("loginUserId");
        request.getSession().removeAttribute("loginUser");
        request.getSession().removeAttribute("errorMsg");
        return "admin/login";
    }
}



详细视频演示

请联系我获取更详细的演示视频

源码获取

需要成品,加我们的时候,记得把本页面标题截图发下我,方便查找相应的源代码。可以的话 顺便点赞!
文章最下方名片联系我即可~

标签:社区,return,springboot,Spring,request,setAttribute,Java,摄影师,String
From: https://blog.csdn.net/Q_860234001/article/details/143461629

相关文章

  • Vue+SpringBoot的考试信息报名管理系统
    项目说明近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,考试信息报名管理利用计算机网络实现信息化管理,使整个考试信息报名的发展和服务水平有显著提升。本文拟采用java技术和Springboot搭建系统框架,后台使用MySQL数据库......
  • Vue+SpringBoot的美食文化宣传订餐网站
    项目说明互联网的兴起从本质上改变了整个社会对信息的管理方式,我国从上个世纪90年代互联网兴起之时,就产生了通过网络进行系统管理的想法。但是由于在互联网上的信誉难以认证、网络的法规政策不健全等一系列的原因,限制了网上信息管理发展的步伐。进入21世纪以后,随着整个......
  • Vue+SpringBoot的网吧/网咖管理系统
    项目说明随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,网吧管理系统就是信息时代变革中的产物之一。任何系统都要遵循系......
  • 基于Vue+SpringBoot的电影订票管理系统
    项目说明随着网络科技的不断发展以及人们经济水平的逐步提高,计算机如今已成为人们生活中不可缺少的一部分,为电影订票方便管理,基于java技术设计与实现了一款简洁、轻便的管理系统。本系统解决了电影订票事务中的主要问题,包括个人中心、用户管理、资讯类型管理、资讯信息......
  • Vue+SpringBoot的流浪猫狗救助救援系统
    项目说明互联网日益成熟,走进千家万户,改变多个行业传统的管理方式。流浪猫狗救助救援管理以用户需求为基础,借由发展迅猛的互联网平台实现流浪猫狗救助救援管理的信息化,简化旧时流浪猫狗救助救援管理所需的纸质记录这一繁杂过程,从而大幅提高流浪猫狗救助救援信息获取与......
  • SpringBoot外语学习系统vvp4z程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称外语学习系统的研发与优化二、研究目的与意义随着全球化的不断深入,外语学习的重要性日益凸显。一个高效、个性化的外语学习系统能够......
  • SpringBoot图书管理信息系统6fh8g程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称图书管理信息系统的开发与应用二、选题意义随着信息技术的飞速发展,图书馆作为知识和信息的集散地,其管理效率和服务水平直接影响到读......
  • SpringBoot图片销售网站e4a32--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景随着互联网技术的快速发展,图片已成为人们日常生活中不可或缺的元素。无论是社交媒体、广告宣传,还是个人创作,都需要用到大量高质量的图......
  • SpringBoot图书推荐系统07y95(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称图书推荐系统的设计与实现二、研究背景与意义随着大数据和人工智能技术的快速发展,图书资源日益丰富,用户在面对海量图书时往往难以抉......
  • SpringBoot图书电子商务网站的设计与实现pr919程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着网络技术和移动支付的普及,越来越多的读者倾向于通过互联网购买书籍,这为图书电子商务网站的发展提供了广阔的市场空间。然而......