這是一個通用權限管理系統項目,基於SSM(Spring + Spring-MVC +Mybatis)框架開發,其SQL語句持久在Hibernate 中,對原生SQL的支持較好。製做該系統的初衷是用來幫助JavaWeb開發者或初學者學習、借鑑的須要。讀者能夠在這個 系統基礎上引入其它技術或徹底依賴本系統技術進行功能拓展,來開發實際應用需求的項目,免去了應用系統中對於「 權限設計」這一部分的麻煩。java
Jsp 、SSM(Spring + Spring-MVC + Mybatis)、Shiro 、Mvc、Jdbc、MySQL、DWZ富客戶端框架 + Jquery + Ajaxweb
JDK:JDK1.6+ 、WEB:Tomcat6.0+ 、DB:MySQL5+ 、IDE: MyEclipse8.5+/Eclipse4.4+ ajax
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("操做成功"); } }
一、MySQL數據庫帳戶spring
MySQL數據庫默認端口:「3306」、數據庫名:「kzfire」、帳戶名:「root」、密碼:空。數據庫
二、SQL文件json
SQL文件放在「MySQL數據庫SQL文件」 目錄,需經過「Navicat for MySQL」工具執行此SQL文件。網絡
三、系統啓動文件app
系統啓動文件是「webroot」目錄下的「login.jsp」框架
四、系統登陸用戶名及密碼jsp
「login.jsp」啓動(運行)後,正常狀況下進入登陸界面,用戶名輸入「admin」,密碼輸入「123456」。若是登陸不進去,頗有多是數據庫參數配置問題致使,請檢查數據庫參數配置文件,數據庫參數配置文件放
關注公衆號【C you again】,回覆「基於SSM框架的JavaWeb通用權限管理系統」免費領取。
亦可直接掃描主頁二維碼關注,回覆「基於SSM框架的JavaWeb通用權限管理系統」免費領取,點此打開我的主頁
說明:此源碼來源於網絡,如有侵權,請聯繫刪除!!
做者: C you again,從事軟件開發 努力在IT搬磚路上的技術小白
公衆號: 【C you again】,分享計算機類畢業設計源碼、IT技術文章、遊戲源碼、網頁模板、程序人生等等。公衆號回覆 【粉絲】進博主技術羣,與大佬交流,領取乾貨學習資料
關於轉載:歡迎轉載博主文章,轉載時代表出處
求贊環節:創做不易,記得點贊+評論+轉發 謝謝你一路支持