基于SSM实现的通用权限管理系统项目

1 概述 这是一个通用权限管理系统项目,基于SSM(Spring + Spring-MVC +Mybatis)框架开发,其SQL语句持久在Hibernate 中

本文包含相关资料包-----> 点击直达获取<-------

1 概述

这是一个通用权限管理系统项目,基于SSM(Spring + Spring-MVC +Mybatis)框架开发,其SQL语句持久在Hibernate 中,对原生SQL的支持较好。制作该系统的初衷是用来帮助JavaWeb开发者或初学者学习、借鉴的需要。读者可以在这个 系统基础上引入其它技术或完全依赖本系统技术进行功能拓展,来开发实际应用需求的项目,免去了应用系统中对于" 权限设计"这一部分的麻烦。

2 技术

Jsp 、SSM(Spring + Spring-MVC + Mybatis)、Shiro 、Mvc、Jdbc、MySQL、DWZ富客户端框架 + Jquery + Ajax

3 环境

JDK:JDK1.6+

WEB:Tomcat6.0+

DB:MySQL5+

IDE: MyEclipse8.5+/Eclipse4.4+

4 工程结构

5 运行截图

登录界面

员工管理界面

部门管理界面

角色管理界面

6 主要代码

员工部门管理

package com.kzfire.portal.action.user;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.kzfire.portal.base.BaseAction;
import com.kzfire.portal.entiy.SysDept;
import com.kzfire.portal.service.DeptService;
import com.kzfire.portal.service.UserService;
import com.kzfire.portal.utils.JSONUtils;
import com.kzfire.portal.utils.VoFactory;
import com.kzfire.portal.vo.ConditionVo;

@RequestMapping("/user/dept")
@Controller
public class DeptAction extends BaseAction{
 @Autowired
 DeptService deptService;
 @Autowired
 UserService userService;

 /**
  * 设置员工部门
  * @param model
  * @param request
  * @param response
  * @return
  */
 @RequestMapping("/setUserDept")
 public String setUserDept(Model model,HttpServletRequest request,HttpServletResponse response) {

  String userId=request.getParameter("userId");
  model.addAttribute("userId", userId);
  //设置部门树
  List<SysDept> list=deptService.getAllDept();
  model.addAttribute("data", JSONUtils.parseList(list));
  return VIEW+"user/dept/setUserDept";
 }

 @RequestMapping("/saveUserdept")
 public ModelAndView saveUserdept(Model model, HttpServletRequest request,
   HttpServletResponse response) {
  try {
   Integer userId=Integer.parseInt(request.getParameter("userId"));
   Integer deptId=Integer.parseInt(request.getParameter("deptId"));
   deptService.saveUserdept(userId,deptId);
  } catch (Exception e) {
   e.printStackTrace();
   return ajaxDoneError("操作失败:"+e.getMessage());
  }
  return ajaxDoneSuccess("操作成功");
 }

 @RequestMapping("/main")
 public String list(Model model,HttpServletRequest request,HttpServletResponse response) {
  //设置部门树
  List<SysDept> list=deptService.getAllDept();
  System.out.println("json格式----->"    + JSONUtils.parseList(list).toString() );
  model.addAttribute("data", JSONUtils.parseList(list));
  return VIEW+"user/dept/dept";
 }

 @RequestMapping("/userList")
 public String userList(Model model,HttpServletRequest request,HttpServletResponse response) {
  ConditionVo cvo=VoFactory.getConditionVo(request);
  String deptId=request.getParameter("deptId");
  if("1".equals(deptId))
  {
   cvo.setText4("1");
  }else
  {
   cvo.setText3(request.getParameter("deptId"));
  }
  request.setAttribute("deptId", deptId);
  cvo.setTotalCount(userService.getUserCount(cvo));
  model.addAttribute("vo", cvo);
  model.addAttribute("list", userService.getList(cvo));
  return VIEW+"user/dept/userList";
 }

 @RequestMapping("/add")
 public String add(Model model,HttpServletRequest request,HttpServletResponse response) {
  SysDept dept=new SysDept();
  dept.setPid(Integer.parseInt(request.getParameter("selDept")));
  model.addAttribute("dept", dept);
  return VIEW+"user/dept/deptEdit";
 }
 @RequestMapping("/edit")
 public String edit(Model model,HttpServletRequest request,HttpServletResponse response) {
  SysDept dept=deptService.getDeptById(Integer.parseInt(request.getParameter("selDept")));
  model.addAttribute("dept", dept);
  return VIEW+"user/dept/deptEdit";
 }

 @RequestMapping("/del")
 public ModelAndView del(Model model, HttpServletRequest request)
 {
  try {
   String deptId=request.getParameter("selDept");
   deptService.delDeptById(Integer.parseInt(deptId));
  } catch (Exception e) {
   e.printStackTrace();
   return ajaxDoneError("操作失败:"+e.getMessage());
  }
  return ajaxDoneSuccess("操作成功");
 }

 @RequestMapping("/save")
 public ModelAndView save(SysDept dept,Model model, HttpServletRequest request,
   HttpServletResponse response) {
  try {
   if(dept!=null)
   {
    deptService.saveDept(dept);
   }
  } catch (Exception e) {
   e.printStackTrace();
   return ajaxDoneError("操作失败:"+e.getMessage());
  }
  return ajaxDoneSuccess("操作成功");
 }
}

角色管理

package com.kzfire.portal.action.user;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.kzfire.portal.base.BaseAction;
import com.kzfire.portal.entiy.SysRole;
import com.kzfire.portal.service.RoleService;
import com.kzfire.portal.utils.VoFactory;
import com.kzfire.portal.vo.ConditionVo;
import com.kzfire.portal.vo.PerGroupVo;

@RequestMapping("/user/role")
@Controller
public class RoleAction extends BaseAction{
 @Autowired
 RoleService roleService;

 @RequestMapping("/list")
 public String list(Model model,HttpServletRequest request,HttpServletResponse response) {
  ConditionVo cvo=VoFactory.getConditionVo(request);
  cvo.setTotalCount(roleService.getTableCount("sys_role"));
  model.addAttribute("vo", cvo);
  model.addAttribute("list", roleService.getList(cvo));
  return VIEW+"permission/role/list";
 }

 /**
  * 权限编辑页面
  * @param model
  * @param request
  * @return
  */
 @RequestMapping("/editPermission")
 public String editPermission(Model model, HttpServletRequest request)
 {
  String roleId=request.getParameter("roleId");
  //获取角色权限
  List<PerGroupVo> group=roleService.getPerGroupVoByUserId(Integer.parseInt(roleId));
  model.addAttribute("group", group);
  model.addAttribute("roleId", roleId);
  return VIEW+"permission/role/editPermission";
 }

 @RequestMapping("/savePer")
 public ModelAndView savePer(Model model, HttpServletRequest request,
   HttpServletResponse response) {
  try {
   String[] perIds=request.getParameterValues("perId");
   roleService.savePermission(perIds,Integer.parseInt(request.getParameter("roleId")));
  } catch (Exception e) {
   e.printStackTrace();
   return ajaxDoneError("操作失败");
  }

  return ajaxDoneSuccess("操作成功");
 }

 @RequestMapping("/add")
 public String add(Model model, HttpServletRequest request)
 {
  model.addAttribute("role", new SysRole());
  return VIEW+"permission/role/roleEdit";
 }




 @RequestMapping("/edit")
 public String edit(Model model, HttpServletRequest request)
 {
  String roleId=request.getParameter("roleId");
  SysRole role=roleService.getRoleById(Integer.parseInt(roleId));
  model.addAttribute("role", role);
  return VIEW+"permission/role/roleEdit";
 }




 @RequestMapping("/del")
 public ModelAndView del(Model model, HttpServletRequest request)
 {
  try {
   String roleId=request.getParameter("roleId");
   roleService.delRoleById(Integer.parseInt(roleId));
  } catch (Exception e) {
   e.printStackTrace();
   return ajaxDoneError("操作失败");
  }
  return ajaxDoneSuccess("操作成功");
 }

 @RequestMapping("/save")
 public ModelAndView save(SysRole role,Model model, HttpServletRequest request,
   HttpServletResponse response) {
  if(role!=null)
  {
   roleService.saveShop(role);
  }
  return ajaxDoneSuccess("操作成功");
 }


}

7 其它说明

1、MySQL数据库账户

MySQL数据库默认端口:"3306"、数据库名:"kzfire"。

2、SQL文件

SQL文件放在"MySQL数据库SQL文件" 目录,需通过"Navicat for MySQL"工具执行此SQL文件。

3、系统启动文件

系统启动文件是"webroot"目录下的"login.jsp"。

4、系统登录用户名及密码

"login.jsp"启动(运行)后,正常情况下进入登录界面,用户名输入"admin",密码输入"123456"。如果登录不进去,很有可能是数据库参数配置问题导致,请检查数据库参数配置文件,数据库参数配置文件放。

8 源码下载

关注公众号【C you again】,回复"基于SSM框架的JavaWeb通用权限管理系统"下载源码。

说明:此源码来源于网络,若有侵权,请联系删除!!

参考文献

  • 通用企业级权限管理系统的分析与设计(北京邮电大学·常学文)
  • 通用权限管理系统研究与应用(电子科技大学·杨莹莹)
  • PCM项目管理系统设计与实现(吉林大学·张翰)
  • 物业管理诚信体系信息化平台的设计与建设(上海交通大学·贾琦)
  • 面向业务的应用支撑平台安全管理体系设计与实现(山东大学·阮静)
  • 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
  • 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
  • 基于工作流的项目管理系统的设计与实现(华中科技大学·袁晓军)
  • 基于.NET技术下Web应用的RBAC权限研究与应用(华南理工大学·王畅)
  • 面向中小企业的项目管理系统设计与开发(南京理工大学·王军)
  • 基于SSM框架的资质管理系统开发(首都经济贸易大学·田国兵)
  • 面向产品设计的PDM系统的设计与实现(大连理工大学·李功健)
  • 基于SAN的存储管理软件的设计与实现(西北工业大学·可彦)
  • 一种改进的权限管理框架的研究与应用(华中科技大学·杨靖)
  • 基于SAN的存储管理软件的设计与实现(西北工业大学·可彦)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码工厂 ,原文地址:https://m.bishedaima.com/yuanma/35674.html

相关推荐

  • 基于Python制作的乒乓球游戏

    基于 Python 制作的乒乓球游戏 导语 月底了,很惭愧,并没有找到一些想复现的经典游戏的素材文件,所以这个月就搞个简单的小游戏吧,废话不多说
    2024年05月14日
    2 1 1
  • SSH框架+sqlserver实现在线拍卖系统源码+论文

    在当前数字化时代,网络拍卖系统已成为商业交易的重要方式之一,基于SSH框架和SQL Server数据库的在线拍卖系统能够满足日益增长的在线交易需求,该系统通过利用互联网技术
    2024年05月07日
    8 1 2
  • 基于python socket 实现的聊天室

    基于python socket 实现的聊天室 聊天室 聊天室用 python socket 实现,socket 分为客户端和服务端 服务端使用 server_socket 监听请求
    2024年05月14日
    4 1 3
  • 基于Python实现的手写数字识别

    基于Python实现的手写数字识别 一,准备 测试准备:pycharm,windows自带画图功能,python3,5 安装python3
    2024年05月14日
    4 1 1
  • 基于python的自动续借图书集

    基于python的自动续借图书集 Python 2,7 IDE Pycharm 5,0,3 Firefox浏览器:47
    2024年05月14日
    2 1 2
  • 基于jsp+servlet+mysql的图书管理系统

    Book-management-jsp 基于jsp+servlet+mysql的图书管理系统 参考文献 基于RBAC的SSH架构下的图书管理应用研究(大连理工大学·姜楠) 高校图书管理系统的设计与实现(东北大学·黄鑫) 复旦大学数字图书馆个人图书管理系统的设计与实现(电子科技大学·陆卫国) 图书综合管理系统(吉林大学·王宇) 宁波职业技术学院图书管理系统分析与设计(云南大学·赵顺勇) 大同实验小学图书馆借还系统的设计与实现(电子科技大学·王洪宇) 山西电大图书管理信息系统的设计与实现(北京工业大学·李莹) 山西电大图书管理信息系统的设计与实现(北京工业大学·李莹) 山西电大图书管理信息系统的设计与实现(北京工业大学·李莹) 医疗卫生图书网的设计与实现(电子科技大学·张占平) 基于Web的书刊进销存系统的设计与实现(大连理工大学·王宁) 基于JSP/Servlet的三层式网上书店的研究与实现(吉林大学·郭小雪) 基于RBAC的SSH架构下的图书管理应用研究(大连理工大学·姜楠) 基于B/S架构的网上书店系统的设计与实现(电子科技大学·陈云英) 基于
    2024年05月14日
    17 1 3
  • 基于web的在线问卷调查系统

    基于web的在线问卷调查系统 摘要 在科学技术和社会经济不断发展的今天,人们对各种各样新奇的事物以及品质都有了更高的要求,越来越多的组织或者个人迫切希望了解人们的状态及趋向
    2024年05月14日
    1 1 1
  • 基于Web的公司管理系统

    基于Web的公司管理系统 一,设计目的 企业自动化管理系统将个人信息,职业照片上传,公告管理等录入到当前系统中,让领导打开系统就能看到自己想看的内容,信息的沟通与共享是系统搭建的基础
    2024年05月14日
    2 1 1
  • 基于SSM框架的医院电子病历管理系统源代码

    这是一个🔥🔥基于SSM框架的医院电子病历管理系统源代码🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 医院电子病历管理开发技术栈为SSM项目
    2024年05月23日
    3 1 1
  • 基于Python实现的疲劳驾驶检测

    基于Python实现的疲劳驾驶检测 摘 要 相比于完全把神经网络当成黑盒来做训练,本文尝试了一种混合的思路:先通过人脸特征点检测获得特征点,再通过特征点预估人脸位置
    2024年05月14日
    1 1 1

发表回复

登录后才能评论