(java毕业设计源码)基于java(springboot)英语单词学习系统

基于php花店订购管理系统

项目获取请查看文末官网

[java毕业设计项目源码,java毕设下载]基于java(springboot)英语单词学习系统是基于java编程语言,mysql数据库,springboot框架和idea开发工具,本系统分为管理员、用户两个角色,适合作为java毕业设计和java课程设计源码下载进行参考学习。


一.技术环境

jdk版本:1.8
IDE工具:idea
数据库: mysql 8.0
编程语言: Java
后端框架:springboot
前端框架:layui
详细技术:HTML+CSS+JS+JAVA+Mysql+Springboot+layui+Maven


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

系统源码+安装视频教程+数据库+安装环境
在这里插入图片描述


三.系统功能

基于java(springboot)英语单词学习系统

系统主要分为用户(学生)、和管理员两个角色

用户的主要功能有:

1.用户输入账号密码登录系统,可以注册系统

支持图形验证码登录;注册创建账号;退出登录;基于角色动态加载菜单。

2.用户查看词汇书与单词列表信息,在线进行学习

分页查询词汇书与单词;按书籍编码、词性、单词/中文含义筛选;进入学习与练习页面(基础、综合、翻译)。

3.用户查看自己的学习成绩记录,可以删除或修改

按时间范围与书籍筛选个人成绩;支持成绩新增、修改、删除;查看成绩详情。

4.用户可以查看、修改个人资料信息

查看与修改头像、昵称、联系方式等基本资料;用户中心页面。

5.用户查看个人学习面板信息

加载个人菜单与学习面板;访问学习主界面与面板页面。

6.用户可以查看单词信息,在线播放发音与下载词书

查看单词详情并播放音频发音;下载已导入的词汇书文件;在线作答并进行单词正确性校验。

7.用户查看自己的考试成绩概览,查看统计数据

查看个人成绩概览与统计数据(正确率、时段数据等)。

8.用户可以提交学习成绩记录

提交练习/考试成绩,记录学习结果。

9.用户可以查看系统仪表盘信息

查看仪表盘与静态资源信息(静态菜单、学习入口等)。

10.用户查看修改个人资料信息,修改密码

验证原密码;修改登录密码;更新个人基本信息。

11.用户退出登录

清理会话令牌并安全退出系统。

管理员的主要功能有:

1.管理员输入账号密码登录系统

验证码登录;会话令牌与本地缓存管理;基于角色与菜单的权限控制。

2.词汇书管理:管理员对词汇书进行导入、修改、删除、查询

同教师词汇书管理能力,包含模板导出、文件下载与编码字典。

3.成绩信息管理:管理员对用户成绩进行查询与管理

按书籍与时间范围分页查询全量成绩;新增、修改、删除成绩;查看统计与概览数据。

4.词库管理:管理员对单词信息进行添加,修改,删除,查询

单词增删改查;作答验证;音频文件在线响应。

5.菜单管理:管理员对系统菜单信息进行添加,修改,删除,查询

新增与修改菜单;删除菜单;查询完整菜单树与菜单列表。

6.角色管理:管理员对系统角色进行添加,修改,删除,查询

角色增删改查;为角色授权菜单;查询角色已授权菜单;获取角色ID列表。

7.用户管理:管理员对用户信息进行添加,修改,删除,查询

代注册/新增用户;修改与删除用户;分页查询用户;获取用户ID列表;基于角色控制权限。

8.部门管理:管理员对部门信息进行添加,修改,删除,查询

维护组织部门结构,支持增删改查与分页检索。

9.文件与资源服务:管理员对系统文件提供下载/导出服务

导出词汇书Excel模板;下载已导入词书文件;在线响应单词音频文件。

10.管理员个人信息修改,密码修改

修改管理员个人资料;验证原密码并更新新密码。

11.管理员退出登录

清理会话令牌并安全退出。


四.代码示例

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;
    }
}

五.项目截图

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

六.项目获取点击下面网站获取

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值