基于SSM框架的JavaWeb通用权限管理系统
- - -》关注博主公众号【C you again】,获取更多IT资源(IT技术文章,毕业设计、课程设计系统源码,经典游戏源码,HTML网页模板,PPT、简历模板,!!还可以投稿赚钱!!,点击查看- - - >>>>>
欢迎访问博主个人网站,记得收藏哦,点击查看 - - - >>>>
查看更多系统:系统大全,课程设计、毕业设计,请点击这里查看
01 概述
这是一个通用权限管理系统项目,基于SSM(Spring + Spring-MVC +Mybatis)框架开发,其SQL语句持久在Hibernate 中,对原生SQL的支持较好。制作该系统的初衷是用来帮助JavaWeb开发者或初学者学习、借鉴的需要。读者可以在这个 系统基础上引入其它技术或完全依赖本系统技术进行功能拓展,来开发实际应用需求的项目,免去了应用系统中对于“ 权限设计”这一部分的麻烦。
02 技术
Jsp 、SSM(Spring + Spring-MVC + Mybatis)、Shiro 、Mvc、Jdbc、MySQL、DWZ富客户端框架 + Jquery + Ajax
03 环境
JDK:JDK1.6+ 、WEB:Tomcat6.0+ 、DB:MySQL5+ 、IDE: MyEclipse8.5+/Eclipse4.4+
04 工程结构

05 运行截图
登录界面

员工管理界面

部门管理界面

角色管理界面

06 主要代码
员工部门管理
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("操作成功");
}
}
07 其它
1、MySQL数据库账户
MySQL数据库默认端口:“3306”、数据库名:“kzfire”、账户名:“root”、密码:空。
2、SQL文件
SQL文件放在“MySQL数据库SQL文件” 目录,需通过“Navicat for MySQL”工具执行此SQL文件。
3、系统启动文件
系统启动文件是“webroot”目录下的“login.jsp”
4、系统登录用户名及密码
“login.jsp”启动(运行)后,正常情况下进入登录界面,用户名输入“admin”,密码输入“123456”。如果登录不进去,很有可能是数据库参数配置问题导致,请检查数据库参数配置文件,数据库参数配置文件放
08 源码下载
关注公众号【C you again】,回复“基于SSM框架的JavaWeb通用权限管理系统”免费领取。
亦可直接扫描主页二维码关注,回复“基于SSM框架的JavaWeb通用权限管理系统”免费领取,点此打开个人主页

说明:此源码来源于网络,若有侵权,请联系删除!!
基于SSM框架的JavaWeb通用权限管理系统的更多相关文章
- 基于Extjs 4.2的通用权限管理系统,通用后台模板,EF+MVC+Extjs 4.2
基于Extjs 4.2的通用权限管理系统,通用后台. 我们的宗旨:珍爱生命,拒绝重复!Don't Repeat Yourself!!! 本案例采用EntityFramework+MVC4.0+Extj ...
- 基于云端的通用权限管理系统,SAAS服务,基于SAAS的权限管理,基于SAAS的单点登录SSO,企业单点登录,企业系统监控,企业授权认证中心
基于云端的通用权限管理系统 SAAS服务 基于SAAS的权限管理 基于SAAS的单点登录SSO 基于.Net的SSO,单点登录系统,提供SAAS服务 基于Extjs 4.2 的企业信息管理系统 基于E ...
- 使用 Shiro 设计基于用户、角色、权限的通用权限管理系统
一.前言 在大型的信息管理系统中,经常涉及到权限管理系统 下面来个 demo,很多复杂的系统的设计都来自它 代码已经放到github上了,地址:https://github.com/larger5/s ...
- 分享基于EF+MVC+Bootstrap的通用后台管理系统及架构
基于EF+MVC+Bootstrap构建通用后台管理系统,集成轻量级的缓存模块.日志模块.上传缩略图模块.通用配置及服务调用, 提供了OA.CRM.CMS的原型实例,适合快速构建中小型互联网及行业 ...
- 分享基于EF+MVC+Bootstrap的通用后台管理系统及架构(转)
http://www.cnblogs.com/guozili/p/3496265.html 基于EF+MVC+Bootstrap构建通用后台管理系统,集成轻量级的缓存模块.日志模块.上传缩略图模块.通 ...
- 基于EF+MVC+Bootstrap的通用后台管理系统及架构
分享基于EF+MVC+Bootstrap的通用后台管理系统及架构 基于EF+MVC+Bootstrap构建通用后台管理系统,集成轻量级的缓存模块.日志模块.上传缩略图模块.通用配置及服务调用, 提供了 ...
- 如何在通用权限管理系统中集成log4net日志功能
开发人员都知道,在系统运行中要记录各种日志,自己写一个日志功能,无论是在效率还是功能扩展上来说都不是很好,目前大多用的是第三方的日志系统,其中一个非常有名,用的最多的就是log4net.下面是关于这个 ...
- ASP.NET MVC通用权限管理系统(响应布局)源码更新介绍
一.asp.net mvc 通用权限管理系统(响应布局)源码主要以下特点: AngelRM(Asp.net MVC)是基于asp.net(C#)MVC+前端bootstrap+ztree+lodash ...
- 以WCF安全认证方式调用通用权限管理系统获取基础信息资料
在B/S开发中,涉及到获取系统基础资料的问题,因为是在不同平台下的开发,采用了WCF方式获取. 下面是一个调用通用权限管理系统(吉日嘎拉)基础信息资料的一个demo供参考 调用原理图: web.con ...
随机推荐
- 解析形如(k,v)(k,v)(k,v)字符串
有时根据需要会将map数据格式化成(k,v)(k,v)(k,v)--字符串,之后需要还原,下面代码实现了还原过程 1 void SplitString(const string& s, vec ...
- 刷题[安恒DASCTF2020四月春季赛]Ez unserialize
解题思路 打开直接源码,没别的,审就完事了 代码审计 <?php show_source("index.php"); function write($data) { retu ...
- JavaScript创建对象的方式汇总
1.Object构造函数创建 // 1.Object构造函数创建 var Obj = new Object(); Obj.name='saoge'; Obj.say=function(){ conso ...
- 推荐一个超牛的SpringCloud微服务项目,开发脚手架
前言 Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权.认证后台管理系统,其中包含具备用户管理.资源权限管理.网关API 管理等多个模块,支持多业务系统 ...
- netty第一讲 创建
1.新建一个maven项目 https://blog.csdn.net/yanghaibobo110/article/details/73835469 2.netty是什么玩意 官方那个给出的介绍是 ...
- python3 读取写入excel操作-win32com
前面有写一篇是用xlrd操作excel的,这一篇是使用win32com来进行操作excel,个人推荐使用win32com. 要使用win32com组件,也需要先导入win32com包. # -*- c ...
- VARCHART XGantt如何计算截止日期
甘特图从1998年的第一个商用版本开始就致力于计划编制和项目管理方面控件的研究和开发,经过20多年的积累和沉淀,目前可为软件开发商和最终用户提供最顶级的计划编制和项目管理的控件产品,帮助用户快速的整合 ...
- Python练习题 041:Project Euler 013:求和、取前10位数值
本题来自 Project Euler 第13题:https://projecteuler.net/problem=13 # Project Euler: Problem 13: Large sum # ...
- 【字符串算法】字典树(Trie树)
什么是字典树 基本概念 字典树,又称为单词查找树或Tire树,是一种树形结构,它是一种哈希树的变种,用于存储字符串及其相关信息. 基本性质 1.根节点不包含字符,除根节点外的每一个子节点都包含一个字符 ...
- Python实现的数据结构与算法之链表详解
一.概述 链表(linked list)是一组数据项的集合,其中每个数据项都是一个节点的一部分,每个节点还包含指向下一个节点的链接.根据结构的不同,链表可以分为单向链表.单向循环链表.双向链表.双向循 ...