【2025最新】基于springboot的MBTI人格测试网站

💗💗💗作者简介💗💗博主毕业于著名大学计算机科班,从事计算机开发行业4年多,就职某大厂,累计辅导学生2000+人,获得好评无数,主要技术有SpringBoot、SSM、Vue、Mysql、SQLserver、Html、javascript、css、JSP、可视化、小程序、uniapp、javaswing、nodejs、electron等设计与开发,累计开发程序6000+套,有需要的小伙伴可以在文末获得联系方式,诚信经营,个人开发,全程辅导,包通过,包维护,包讲解。

【2025最新】基于springboot的MBTI人格测试网站

摘要

随着心理学的发展和普及,MBTI(Myers-Briggs Type Indicator)人格测试在招聘、教育、心理咨询等领域得到了广泛应用。传统的MBTI测试方式通常需要纸质问卷或面对面测试,这种方式不仅耗时耗力,而且测试结果的准确性和客观性也难以保证。基于Spring Boot的MBTI人格测试网站则能够很好地解决这些问题。该系统采用B/S(Browser/Server,浏览器/服务器)架构,用户通过浏览器访问服务器端的系统。系统后端采用Spring Boot框架,提供了丰富的自动配置和依赖管理功能,简化了开发流程。同时,Spring Boot的内置Tomcat服务器使得应用部署更加便捷。前端则使用HTML、CSS、JavaScript等前端技术,结合React或Vue等前端框架,构建用户友好的界面。数据库方面,系统采用MySQL等关系型数据库,用于存储用户信息、测试结果等数据。用户可以通过网站进行在线MBTI测试,系统实时分析测试结果,并给出个性化的建议。这种方式大大提高了测试效率和准确性,同时也为用户提供了更加便捷和高效的测试体验。此外,该系统还可以根据用户需求进行功能扩展和优化,如增加测试结果分享、历史记录查询等功能,进一步提升用户体验和互动性。总之,基于Spring Boot的MBTI人格测试网站是现代心理学测试的重要工具之一,具有广泛的应用前景和市场需求。

2 系统开发技术

2.1 SpringBoot框架

SpringBoot适合初学者,也适合从以前的Spring框架开发者学习,学习起来是很方便的,不管是纯英文教程还是中文教程,国内外都有很多学习的资料。Spring Boot可以运行所有的Spring项目,进行无缝切换。内置了Servlet 容器,不需要对代码进行打包变成WAR就可以运行。自带应用监控,运行的时候可以实时的对正在运行的项目进行监控,可以随时发现问题所在并且能定位发生的问题,可以让程序员及时的修改问题。

2.2 MySQL数据库

一般学习程序开发的人员如果学习数据库的话,肯定是要学习MySQL数据库,MySQL数据库通过这么多年的不断发展,社区版本都是免费的,最重要的是小巧,占用电脑空间比较小,让更多的开发人员可以不需要更换更高级的电脑就可以进行学习。学习只是一个方面,最重要的是MySQL市场占有率是世界第一,基本上十个公司就有七八个用得MySQL数据库。MySQL的优点不只是这么粗浅,MySQL首先是开源的,只要不是商用就不用花钱,并且大型的数据也是支持的,只要是市面上存在的操作系统,MySQL都可以有对应的版本可供使用。因为MySQL是开源的,如果有对MySQL有特殊需求的甚至可以自己修改源码,达到符合自己使用的目的。MySQL数据库好处多多,最重要的一点符合本设计的开发需求,可以说本设计只用到了MySQL的一些基础功能,而这点基础功能就完全够用。MySQL学习的教程网上很多,许多关于入门的教程就完全可以达到普通程序员的开发水平,只需要把基本的知识学会了,到公司里面也只是根据不同的业务逻辑进行不同的语句编写而已。

2.3 Java语言

Java语言是目前最流行的语言之一,不仅可以做桌面窗口形式的程序,还可以做浏览器访问的程序,目前最流行的就是用Java语言作为基础,做各种程序的后台处理。Java语言是操作变量的语言,而变量则是Java对于数据存在形式的定义,变量用来操作内存,而内存则牵扯到计算机安全问题,这样Java语言反而有了免疫直接针对用Java语言开发出来的程序的病毒,有效地提高了Java语言开发出来程序的生存能力。Java是具有动态运行能力的一种语言,Java的类不仅仅可以用Java核心提供的基础类,还可以进行重写,这样会让Java的功能变得更加丰富,甚至可以编写一些功能模块进行封装。Java是一种开源的语言,可以对Java里面的各种类以及引用方法进行追溯,甚至可以对已经编译过的语言进行反编译,这样不仅仅提高学习的效率,并且可以学习其他从业者提供的优雅的编程方式。Java语言发展到现在,已经在各个行业扎根,学习Java可以从事的行业很多,并且学习的方法很多,网上有很多免费的教程,甚至有些高深的知识也只需要付费就可以进行学习,而不是像Java语言之初,每一个编程人员都需要用记事本进行手动编码,现在有很多集成开发环境帮助Java从业者。选择Java语言进行编程,是一种很好的解决问题的方式。

3.系统截图

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

3.部分源代码

package com.mentalhealth.project.system.answer.controller;

import com.mentalhealth.common.utils.poi.ExcelUtil;
import com.mentalhealth.framework.aspectj.lang.annotation.Log;
import com.mentalhealth.framework.aspectj.lang.enums.BusinessType;
import com.mentalhealth.framework.web.controller.BaseController;
import com.mentalhealth.framework.web.domain.AjaxResult;
import com.mentalhealth.framework.web.page.TableDataInfo;
import com.mentalhealth.project.system.answer.domain.ScaleAnswer;
import com.mentalhealth.project.system.answer.service.IScaleAnswerService;
import com.mentalhealth.project.system.question.domain.ScaleQuestion;
import com.mentalhealth.project.system.question.service.IScaleQuestionService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 问题选项信息Controller
 * 
 * @author wzxy
 * @date 2021-10-25
 */
@Controller
@RequestMapping("/system/answer")
public class ScaleAnswerController extends BaseController
{
    private String prefix = "system/answer";

    @Autowired
    private IScaleAnswerService scaleAnswerService;

    @Autowired
    private IScaleQuestionService  scaleQuestionService;

    @RequiresPermissions("system:answer:view")
    @GetMapping()
    public String answer()
    {
        return prefix + "/answer";
    }

    /**
     * 查询问题选项信息列表
     */
    @RequiresPermissions("system:answer:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(ScaleAnswer scaleAnswer)
    {
        startPage();
        List<ScaleAnswer> list = scaleAnswerService.selectScaleAnswerList(scaleAnswer);
        return getDataTable(list);
    }

    /**
     * 导出问题选项信息列表
     */
    @RequiresPermissions("system:answer:export")
    @Log(title = "问题选项信息", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(ScaleAnswer scaleAnswer)
    {
        List<ScaleAnswer> list = scaleAnswerService.selectScaleAnswerList(scaleAnswer);
        ExcelUtil<ScaleAnswer> util = new ExcelUtil<ScaleAnswer>(ScaleAnswer.class);
        return util.exportExcel(list, "问题选项信息数据");
    }

    /**
     * 新增问题选项信息
     */
    @GetMapping("/add")
    public String add()
    {
        return prefix + "/add";
    }

    /**
     * 新增保存问题选项信息
     */
    @RequiresPermissions("system:answer:add")
    @Log(title = "问题选项信息", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(ScaleAnswer scaleAnswer)
    {
        ScaleQuestion question = scaleQuestionService.selectScaleQuestionByQuestionId(scaleAnswer.getQuestionId());
        scaleAnswer.setFactorId(question.getFactorId());
        return toAjax(scaleAnswerService.insertScaleAnswer(scaleAnswer));
    }

    /**
     * 修改问题选项信息
     */
    @GetMapping("/edit/{answerId}")
    public String edit(@PathVariable("answerId") Long answerId, ModelMap mmap)
    {
        ScaleAnswer scaleAnswer = scaleAnswerService.selectScaleAnswerByAnswerId(answerId);
        //修改选项的时候查询所属问题
        ScaleQuestion scaleQuestion = scaleQuestionService.selectScaleQuestionByQuestionId(scaleAnswer.getQuestionId()) ;
        mmap.put("scaleAnswer", scaleAnswer);
        mmap.put("scaleQuestion", scaleQuestion);
        return prefix + "/edit";
    }

    /**
     * 修改保存问题选项信息
     */
    @RequiresPermissions("system:answer:edit")
    @Log(title = "问题选项信息", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(ScaleAnswer scaleAnswer)
    {

        return toAjax(scaleAnswerService.updateScaleAnswer(scaleAnswer));
    }

    /**
     * 删除问题选项信息
     */
    @RequiresPermissions("system:answer:remove")
    @Log(title = "问题选项信息", businessType = BusinessType.DELETE)
    @PostMapping( "/remove")
    @ResponseBody
    public AjaxResult remove(String ids)
    {
        return toAjax(scaleAnswerService.deleteScaleAnswerByAnswerIds(ids));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值