专栏首页IT技术圈(CSDN)基于SSM框架的JavaWeb通用权限管理系统

基于SSM框架的JavaWeb通用权限管理系统

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通用权限管理系统”免费领取。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于SSM框架的JavaWeb通用权限管理系统

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

    C you again
  • 【程序源代码】基于SSM框架的权限管理系统

    今天给大家讲一讲:SpringBoot快速开发框架,内容相对比较简单。开发时使用的idea工具,大家按照如下步骤进行操作就可以了。基于SSM框架的权限管理系统,...

    程序源代码
  • JavaWeb之ssm框架整合,用户角色权限管理

    SSM框架整合 Spring SpringMVC MyBatis 导包: 1, spring 2, MyBatis 3, mybatis-spring ...

    二十三年蝉
  • 【五一福利】Java程序员编程学习之路资源合集

    七月半夏
  • 学习Spring,看这几本书就够了

    经过了10多年的发展,Java Web从开发框架到社区都已经非常成熟,而目前市面上最流行的Java Web框架已然是Spring全家桶,从过去的Spring,S...

    程序员书单
  • 学习Spring,看这几本书就够了

    经过了10多年的发展,Java Web从开发框架到社区都已经非常成熟,而目前市面上最流行的Java Web框架已然是Spring全家桶,从过去的Spring,S...

    程序员书单
  • 【毕业设计】2021年计算机专业-12套精品项目源码免费下载

    宿舍管理是高校管理的重要组成部分,一套优秀的管理系统不仅可以降低宿舍管理的难度,也能在一定程度上减少学校管理费用的支出,能是建设现代化高校管理体系的重要标志。本...

    C you again 的博客
  • 这份Java Web必读书单,值得所有Java工程师一看!

    经过了10多年的发展,Java Web从开发框架到社区都已经非常成熟,而目前市面上最流行的Java Web框架已然是Spring全家桶,从过去的Spring,S...

    黄小斜学Java
  • 最主流的SSM实现的通用权限管理系统

    IT架构圈
  • JavaEE课程概述 && JavaEE基础班课程概述 && JavaEE就业班课程概述

    黑泽君
  • Spring入门

    框架:在这里特指软件框架,它是我们在实际开发中解决项目需求的技术集合。运用框架可以大大简化我们的代码编写,缩短开发周期。同时,对后续项目维护在面对开发团队人员更...

    用户7589824
  • Java集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同

    本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看

    Java技术江湖
  • 最详细的java学习线路(基础,源码,项目,实战)

    这个阶段你需要找一个好的基础学习视频,对着视频进行学习,每天严格要求自己学习,边看视频边用电脑记事本进行练习,不要使用IDE,因为这个时候可以培养你的代码书写规...

    Java编程指南
  • 基于SpringCloud的RBAC权限管理系统

    基于 Spring Cloud Greenwich.SR2 、Spring Security OAuth2 的RBAC权限管理系统;基于数据驱动视图的理念封装 ...

    程序源代码
  • 基于SpringBoot的java权限管理系统

    基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用

    程序源代码
  • JavaEE就业学习路线(给初学者以及自学者一个学习方向)

    第一节java入门 1-Java 背景介绍 2-Java 入门程序的编写 3-环境配置 4-基本概念介绍 5-类型转换 6-开发工具使用 第二节java基础 1...

    Java学习
  • Java学习之路 -- Java怎么学?

    当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java。有了c++的基础,其实学java确实感觉挺容易上手。如果没有c或者c++的基础,...

    秦怀杂货店
  • Java 技术路线

    用户5240466
  • 基于SSM框架的客户管理系统设计与实现

    一个简单的客户关系管理系统,管理客户的基本数据、客户的分配、客户的流失以及客户的状态。

    C you again

扫码关注云+社区

领取腾讯云代金券