基于java(ssm)家教管理平台(java毕业设计)

news2025/1/17 6:15:27

基于java(ssm)家教管理平台

家教管理,是基于java变成语言,mysql数据库,ssm框架和idea工具开发,本系统分为用户,管理员,教师三个角色,其中用户可以注册,登陆,查看公告,查看教师简历,查看课程,查看招聘教师,发布教师招聘;教师注册登陆后可以对自己的简历,课程,应聘职位,评价信息进行管理。管理员可以对用户,教师,简历,教师申请,课程信息,应聘职位,通知公告进行管理。本系统功能齐全,文档有论文和答辩ppt,适合作为java毕业设计和java课程设计参考和学习。


一.技术环境

jdk版本:1.8 及以上
ide工具:IDEA
数据库: mysql5.7 (必须5.7)
编程语言: Java
tomcat: 8.0 及以上
java框架:SSM
maven: 3.6.1
前端:layui,vue
详细技术:HTML+CSS+JS+JSP+JAVA+SSM+MYSQL+JQUERY+MAVEN+VUE


二.项目文件(项目获取请看文末官网)

在这里插入图片描述


三.系统功能

在这里插入图片描述


四.代码示例

package com.lmu.controller;
/**
 * 和登陆有关的都在这里
 */

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.lmu.model.Role;
import com.lmu.model.User;
import com.lmu.service.RoleService;
import com.lmu.service.UserService;
import com.lmu.utils.JsonUtils;
import com.lmu.utils.UserUtils;

import org.apache.commons.collections.map.HashedMap;
import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@Controller("loginController")
@Scope("prototype")
public class LoginController extends ActionSupport {
    @Autowired
    private UserService userService;
    @Autowired
    private RoleService roleService;
    private User user;
    private Map<String, Object> map = new HashMap();
    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public UserService getUserService() {
        return userService;
    }

    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    /**
 * 用户登陆
 * @return
 */
	public void index() throws IOException {
       User user1 = userService.getUser(user);
        if (user1 != null){
            if (user1.getIsSh() == 1){
                if (user1.getRole().getEnName().equals("admin")){
                    ActionContext.getContext().getSession().put("user", user1);
                }
                if (user1.getRole().getEnName().equals("js")){
                    ActionContext.getContext().getSession().put("user1", user1);
                }
                if (user1.getRole().getEnName().equals("xs")){
                    ActionContext.getContext().getSession().put("user2", user1);
                }
                map.put("flag", 1);
                map.put("url", "login_indexs.do");
                map.put("id", user1.getId());
                JsonUtils.toJson(map);
            } else {
                map.put("flag", 2);
                JsonUtils.toJson(map);
            }
        } else {
            map.put("flag", 3);
            JsonUtils.toJson(map);
        }
    }

    public String indexs() throws IOException {
        User u = UserUtils.getUser();
        if (u != null){
            ActionContext.getContext().put("user", u);
            String ss = u.getRole().getEnName();
            ActionContext.getContext().put("role", u.getRole().getEnName());
        }
        return SUCCESS;
    }
	//登陆页面
	public String login() {

        return SUCCESS;
	}

   //退出
	public String tuichu() {
		ActionContext ac = ActionContext.getContext();
		Map session = ac.getSession();
		session.remove("userName");
		session.remove("userId");
		ServletActionContext.getRequest().getSession().invalidate();
		return "login";
	}

}

package com.lmu.controller;

/**
 * 用户新增
 */

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.lmu.model.Role;
import com.lmu.model.User;
import com.lmu.service.RoleService;
import com.lmu.service.UserService;
import com.lmu.utils.JsonUtils;
import com.lmu.utils.Pager;
import com.lmu.utils.UserUtils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import java.awt.event.FocusEvent;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@Controller("userController")
@Scope("prototype")
public class UserController extends ActionSupport implements ModelDriven<User> {
    @Autowired
    private UserService userService;
    @Autowired
    private RoleService roleService;
    private User user;
    private Integer userId;
    private Map<String, Object> map = new HashMap();


    /**
     * list
     *
     * @return
     */
    public String list() throws IOException {
        User user1 = UserUtils.getUser();
        if (user1 == null || user1.getId() == null){
            ActionContext.getContext().put("login", 1);
            return SUCCESS;
        }
        Pager<User> pagers = null;
        Role role = user1.getRole();
        if (role.getEnName().equals("admin")) {
            pagers = userService.getList(user);
            ActionContext.getContext().put("pagers", pagers);
            ActionContext.getContext().put("user", user1);
            ActionContext.getContext().put("role", role);
            ActionContext.getContext().put("bean", user);
            return SUCCESS;
        } else if (role.getEnName().equals("xs") || role.getEnName().equals("js")) {
            pagers = userService.getList(user1);
            ActionContext.getContext().put("pagers", pagers);
            ActionContext.getContext().put("bean", user);
            return SUCCESS;
        }
        return null;
    }



    /**
     * 跳转add
     *
     * @return
     */
    public String add() {
        Pager<Role> pagers = roleService.pagers();
        ActionContext.getContext().put("pagers", pagers);
        return SUCCESS;
    }

    /**
     * 查询修改
     *
     * @return
     */
    public String edit() {
        User bean = userService.findById(userId);
        Pager<Role> pagers = roleService.pagers();
        ActionContext.getContext().put("bean", bean);
        ActionContext.getContext().put("pagers", pagers);
        return SUCCESS;
    }


    /**
     * 审核
     *
     * @return
     */
    public void updateSh() throws IOException {
        user.setIsSh(1);
        userService.updates(user);
        map.put("flag", true);
        map.put("url", "user_list.do");
        JsonUtils.toJson(map);
    }

    /**
     * 更新
     *
     * @return
     */
    public String update() throws IOException {
        if (user.getPass().equals("")){
            user.setPass(null);
        }
        userService.updates(user);
        map.put("flag", true);
        map.put("url", "user_list.do");
        JsonUtils.toJson(map);
        return SUCCESS;
    }

    /**
     * 保存
     *
     * @return
     */
    public void save() throws IOException {
        if (userService.getUser(user) != null){
            map.put("flag", false);
            map.put("url", "login_login.do");
            JsonUtils.toJson(map);
        } else {
            user.setTime(new Date());
            userService.save(user);
            map.put("flag", true);
            map.put("url", "login_login.do");
            JsonUtils.toJson(map);
        }
    }

    public void delete() throws IOException {
        User user1 = userService.findById(userId);
        user1.setIsDelete(1);
        userService.update(user1);
        map.put("flag", true);
        map.put("url", "user_list.do");
        JsonUtils.toJson(map);
    }

    @Override
    public User getModel() {
        if (user == null) {
            user = new User();
        }
        return user;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
}

五.项目截图

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

项目获取

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

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

相关文章

网络工程师之海明校验

海明校验&#xff08;又称汉明码&#xff09; 基本思想 将有效信息按某种规律分成若干组&#xff0c;每组安排一个校验位&#xff0c;做奇偶测试&#xff0c;就能提供多位检错信息&#xff0c;以指出最大可能是哪位出错&#xff0c;从而将其纠正。 特点 它不仅具有检测错误的…

深入浅出网络编程TCP,UDP,Socket,Http网络编程面试题

目录 什么是网络编程 网络编程中的主要问题 计算机网络体系结构 TCP / UDP Socket HTTP 什么是网络编程 网络编程中的主要问题 计算机网络体系结构 OSI参考模型 OSI&#xff08;Open System Interconnect&#xff09;&#xff0c;即开放式系统互联。一般都叫OSI参考模型&…

Geoserver提示HTTP ERROR 503 Service Unaviaiable以及Context initialization failed

场景 GeoServer简介、下载、配置启动、发布shapefile全流程(图文实践)&#xff1a; GeoServer简介、下载、配置启动、发布shapefile全流程(图文实践)_霸道流氓气质的博客-CSDN博客_geoserver简介 geoserver版本为2.19.2&#xff0c;在windows10系统中正常启动并运行后&#…

教程篇 | 史上最简单也最全新手Revit教程

Hi&#xff0c;朋友们&#xff0c;我是建模助手。 近期发现&#xff0c;后台留言的画风日渐扭曲&#xff0c;很多用户的私信内容不仅跟有求必应无关&#xff0c;甚至跟建模助手也无关&#xff0c;而是关于Revit的问题。&#xff08;这就很离谱了&#xff09; 但后来小编也算是…

MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括

1、存储引擎 1.1、MySQL体系结构 连接层&#xff1a;最上层是一些客户端和链接服务&#xff0c;主要完成一些类似于连接处理、授权认证以及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。服务层&#xff1a;第二层架构主要完成大多数的核心服务功…

Qt6 qtmqtt编译及演示示例(附带动态库)

前言 随着物联网的不断发展&#xff0c;如今很多项目都需要接入&#xff0c;而两年前也是因为项目需要&#xff0c;了解了一些关于mqtt的用法&#xff0c;并将其过程记录成几篇博客&#xff0c;近一年多时间陆陆续续有好多人私信咨询关于mqtt相关的问题&#xff0c;其中又有很…

ReentrantLock源码分析AQS原理

目录 (一)AQS简介 (二)AQS原理剖析 (三)源码思想-加锁&#xff1a; (1)构造方法 (2)公平锁lock方法(核心) 3、acquire获取资源方法(核心) (一)AQS简介 AQS是AbstractQueuedSynchronizer的简称,是一种实现阻塞锁和依赖FIFO队列的同步器框架。其依赖于一个原子变量state,子…

Unity Text Mesh Pro 浮动文字-学习

TextMeshPro&#xff08;TMP&#xff09;是unity的一套UI文字方案&#xff0c;支持对顶点、颜色进行编辑&#xff0c;自定义强&#xff0c;可扩展等优点。 对于英文数字即字符只需制作ASCII的文件即可&#xff0c;但是对于中文&#xff0c;如果我们的文字需要动态生成且不可控…

k8s教程(19)-pod之批处理调度

文章目录01 引言02 批处理调度2.1 任务模式分类2.1.1 按实现方式分类2.1.2 按批处理并行分类2.1 案例2.1.1 Job Template Expansion案例2.1.2 Queue with Pod Per Work Item案例2.1.3 Queue with Variable Pod Count案例03 文末01 引言 声明&#xff1a;本文为《Kubernetes权威…

思维方式之系统思维

这世界上的所有事物&#xff0c;都被规律作用着&#xff0c;以一种叫作“系统”的方式存在着。 我们身处时代这个大系统之中&#xff0c;如果没有一种全局的系统观&#xff0c;很容易就会和机遇失之交臂。凡事要顺势而为&#xff0c;用“个位”的管理对抗“千位”的时代&#…

精华推荐 |【Redis技术探索】「底层架构原理」深入透析主从架构的底层原理分析实现机制

&#x1f4d5;技术箴言 当心中有更高的山峰去攀登&#xff0c;就不会在意脚下的泥沼。 &#x1f4d5;前提概要 Redis高可用的方案包括&#xff1a;持久化、主从复制&#xff08;及读写分离&#xff09;、哨兵和集群&#xff08;Cluster&#xff09;。 &#x1f4d5;&#x1f…

音视频面试涨知识(四)

视频格式播放体验流量占用情况DASH统计直播推流端到播放端延时。支持和视频帧绑定的内容交互。比如&#xff0c;直播答题在播放端的弹窗等。小HLS对视频进行切片&#xff0c;按切片播放&#xff0c;缓存小起播快&#xff1b;拖动时间轴到任意时间播放时&#xff0c;可以快速定位…

dubbo2和dubbo3 入门简介

稳定版本:2.5.3 目前已恢复更新Apache Dubbo 是一款微服务框架,为大规模微服务实践提供高性能 RPC通信、流量治理、可观测性等解决方案, 涵盖 Java、Golang 等多种语言 SDK 实现。3.0 版本的正式发布,标志着 Apache Dubbo 正式进入云原生时代。3.0 在通信协议、服务发现、部…

微服务框架 SpringCloud微服务架构 多级缓存 48 多级缓存 48.1 初识OpenResty

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存48 多级缓存48.1 初识OpenResty48.1.1 初识OpenResty48.1.2 安装OpenResty48 多级缓存 48.1 初识Open…

python 使用tk报错

文章目录Preface解决方法问题1:问题2: **tk.Tk()** 这里的 Tk 的 k 是小写错误信息 ~~并没有什么实际作用/提示~~Preface 最近刚开始学习用python 的时候遇到一个对于我这样的新手来说比较棘手的问题. 我查询了好久, 大多数给出的答案就是代码写错了 而且是不给错误行数的那种…

微服务框架 SpringCloud微服务架构 多级缓存 48 多级缓存 48.3 请求参数处理

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存48 多级缓存48.3 请求参数处理48.3.1 OpenResty获取请求参数48.3.2 直接上案例48 多级缓存 48.3 请求…

Service 与 Pod 有什么联系?

目录前言一、创建 Deployment二、创建 Service三、集群外部访问前言 首先我们要清楚&#xff0c;Pod 中的容器很可能因为各种原因故障而死掉&#xff0c;如果真的发生故障&#xff0c;那 Deployment 等 Controller 会通过动态创建和销毁 Pod 来保证应用整体的健壮性。而每个 P…

java的垃圾回收浅谈

目录 并发标记问题 三色算法问题 浮动垃圾问题 漏标问题 cms的解决方式 g1的解决方式 跨代(区)引用 CMS垃圾回收日志 G1垃圾回收日志 垃圾回收过程其实都包含两步&#xff1a;标记回收。 标记算法&#xff1a; 引用计数&#xff1a;每个对象都有一个计数器&#xff…

【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)

Hive基础SQL语法 1&#xff1a;DDL操作 DDL是数据定义语言&#xff0c;与关系数据库操作相似&#xff0c; 创建数据库 CREATE DATABASE|SCHEMA [IF NOT EXISTS] database_name显示数据库 SHOW databases&#xff1b;查看数据库详情 DESC DATABASE|SCHEMA database_name切…

2022年都快完了,还学Access的人是不是傻?

2022年都快完了&#xff0c;还学Access的人是不是傻&#xff1f;这是某问答平台&#xff0c;讨论火热的话题。 该问题下&#xff0c;部分程序员拍手称好&#xff0c;对Access语言充满不屑&#xff0c;认为Access过时该被淘汰&#xff0c;笔者作为开发者&#xff0c;并不赞同。事…