自己做商城网站能卖服装吗/百度网盘搜索引擎入口官网
源码获取:俺的博客首页 "资源" 里下载!
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
1. 后端:Spring+SpringMVC+Mybatis
2. 前端:JSP+CSS+JavaScript+jQuery+bootstrap
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;
用户信息管理控制层:
/*** 用户信息* */
@Controller
@RequestMapping("/system/user")
public class SysUserController extends BaseController
{private String prefix = "system/user";@Autowiredprivate ISysUserService userService;@Autowiredprivate ISysRoleService roleService;@Autowiredprivate ISysPostService postService;@Autowiredprivate SysPasswordService passwordService;@RequiresPermissions("system:user:view")@GetMapping()public String user(){return prefix + "/user";}@RequiresPermissions("system:user:list")@PostMapping("/list")@ResponseBodypublic TableDataInfo list(SysUser user){startPage();List<SysUser> list = userService.selectUserList(user);return getDataTable(list);}@Log(title = "用户管理", businessType = BusinessType.EXPORT)@RequiresPermissions("system:user:export")@PostMapping("/export")@ResponseBodypublic AjaxResult export(SysUser user){List<SysUser> list = userService.selectUserList(user);ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);return util.exportExcel(list, "用户数据");}@Log(title = "用户管理", businessType = BusinessType.IMPORT)@RequiresPermissions("system:user:import")@PostMapping("/importData")@ResponseBodypublic AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception{ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);List<SysUser> userList = util.importExcel(file.getInputStream());String operName = ShiroUtils.getSysUser().getLoginName();String message = userService.importUser(userList, updateSupport, operName);return AjaxResult.success(message);}@RequiresPermissions("system:user:view")@GetMapping("/importTemplate")@ResponseBodypublic AjaxResult importTemplate(){ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);return util.importTemplateExcel("用户数据");}/*** 新增用户*/@GetMapping("/add")public String add(ModelMap mmap){mmap.put("roles", roleService.selectRoleAll());mmap.put("posts", postService.selectPostAll());return prefix + "/add";}/*** 新增保存用户*/@RequiresPermissions("system:user:add")@Log(title = "用户管理", businessType = BusinessType.INSERT)@PostMapping("/add")@ResponseBodypublic AjaxResult addSave(@Validated SysUser user){if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(user.getLoginName()))){return error("新增用户'" + user.getLoginName() + "'失败,登录账号已存在");}else if (UserConstants.USER_PHONE_NOT_UNIQUE.equals(userService.checkPhoneUnique(user))){return error("新增用户'" + user.getLoginName() + "'失败,手机号码已存在");}else if (UserConstants.USER_EMAIL_NOT_UNIQUE.equals(userService.checkEmailUnique(user))){return error("新增用户'" + user.getLoginName() + "'失败,邮箱账号已存在");}user.setSalt(ShiroUtils.randomSalt());user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));user.setCreateBy(ShiroUtils.getLoginName());return toAjax(userService.insertUser(user));}/*** 修改用户*/@GetMapping("/edit/{userId}")public String edit(@PathVariable("userId") Long userId, ModelMap mmap){mmap.put("user", userService.selectUserById(userId));mmap.put("roles", roleService.selectRolesByUserId(userId));mmap.put("posts", postService.selectPostsByUserId(userId));return prefix + "/edit";}/*** 修改保存用户*/@RequiresPermissions("system:user:edit")@Log(title = "用户管理", businessType = BusinessType.UPDATE)@PostMapping("/edit")@ResponseBodypublic AjaxResult editSave(@Validated SysUser user){userService.checkUserAllowed(user);if (UserConstants.USER_PHONE_NOT_UNIQUE.equals(userService.checkPhoneUnique(user))){return error("修改用户'" + user.getLoginName() + "'失败,手机号码已存在");}else if (UserConstants.USER_EMAIL_NOT_UNIQUE.equals(userService.checkEmailUnique(user))){return error("修改用户'" + user.getLoginName() + "'失败,邮箱账号已存在");}user.setUpdateBy(ShiroUtils.getLoginName());return toAjax(userService.updateUser(user));}@RequiresPermissions("system:user:resetPwd")@Log(title = "重置密码", businessType = BusinessType.UPDATE)@GetMapping("/resetPwd/{userId}")public String resetPwd(@PathVariable("userId") Long userId, ModelMap mmap){mmap.put("user", userService.selectUserById(userId));return prefix + "/resetPwd";}@RequiresPermissions("system:user:resetPwd")@Log(title = "重置密码", businessType = BusinessType.UPDATE)@PostMapping("/resetPwd")@ResponseBodypublic AjaxResult resetPwdSave(SysUser user){userService.checkUserAllowed(user);user.setSalt(ShiroUtils.randomSalt());user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));if (userService.resetUserPwd(user) > 0){if (ShiroUtils.getUserId() == user.getUserId()){ShiroUtils.setSysUser(userService.selectUserById(user.getUserId()));}return success();}return error();}@RequiresPermissions("system:user:remove")@Log(title = "用户管理", businessType = BusinessType.DELETE)@PostMapping("/remove")@ResponseBodypublic AjaxResult remove(String ids){try{return toAjax(userService.deleteUserByIds(ids));}catch (Exception e){return error(e.getMessage());}}/*** 校验用户名*/@PostMapping("/checkLoginNameUnique")@ResponseBodypublic String checkLoginNameUnique(SysUser user){return userService.checkLoginNameUnique(user.getLoginName());}/*** 校验手机号码*/@PostMapping("/checkPhoneUnique")@ResponseBodypublic String checkPhoneUnique(SysUser user){return userService.checkPhoneUnique(user);}/*** 校验email邮箱*/@PostMapping("/checkEmailUnique")@ResponseBodypublic String checkEmailUnique(SysUser user){return userService.checkEmailUnique(user);}/*** 用户状态修改*/@Log(title = "用户管理", businessType = BusinessType.UPDATE)@RequiresPermissions("system:user:edit")@PostMapping("/changeStatus")@ResponseBodypublic AjaxResult changeStatus(SysUser user){userService.checkUserAllowed(user);return toAjax(userService.changeStatus(user));}
}
角色信息管理控制层:
/*** 角色信息* */
@Controller
@RequestMapping("/system/role")
public class SysRoleController extends BaseController
{private String prefix = "system/role";@Autowiredprivate ISysRoleService roleService;@Autowiredprivate ISysUserService userService;@RequiresPermissions("system:role:view")@GetMapping()public String role(){return prefix + "/role";}@RequiresPermissions("system:role:list")@PostMapping("/list")@ResponseBodypublic TableDataInfo list(SysRole role){startPage();List<SysRole> list = roleService.selectRoleList(role);return getDataTable(list);}@Log(title = "角色管理", businessType = BusinessType.EXPORT)@RequiresPermissions("system:role:export")@PostMapping("/export")@ResponseBodypublic AjaxResult export(SysRole role){List<SysRole> list = roleService.selectRoleList(role);ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class);return util.exportExcel(list, "角色数据");}/*** 新增角色*/@GetMapping("/add")public String add(){return prefix + "/add";}/*** 新增保存角色*/@RequiresPermissions("system:role:add")@Log(title = "角色管理", businessType = BusinessType.INSERT)@PostMapping("/add")@ResponseBodypublic AjaxResult addSave(@Validated SysRole role){if (UserConstants.ROLE_NAME_NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))){return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");}else if (UserConstants.ROLE_KEY_NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))){return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");}role.setCreateBy(ShiroUtils.getLoginName());ShiroUtils.clearCachedAuthorizationInfo();return toAjax(roleService.insertRole(role));}/*** 修改角色*/@GetMapping("/edit/{roleId}")public String edit(@PathVariable("roleId") Long roleId, ModelMap mmap){mmap.put("role", roleService.selectRoleById(roleId));return prefix + "/edit";}/*** 修改保存角色*/@RequiresPermissions("system:role:edit")@Log(title = "角色管理", businessType = BusinessType.UPDATE)@PostMapping("/edit")@ResponseBodypublic AjaxResult editSave(@Validated SysRole role){roleService.checkRoleAllowed(role);if (UserConstants.ROLE_NAME_NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))){return error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");}else if (UserConstants.ROLE_KEY_NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))){return error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");}role.setUpdateBy(ShiroUtils.getLoginName());ShiroUtils.clearCachedAuthorizationInfo();return toAjax(roleService.updateRole(role));}/*** 角色分配数据权限*/@GetMapping("/authDataScope/{roleId}")public String authDataScope(@PathVariable("roleId") Long roleId, ModelMap mmap){mmap.put("role", roleService.selectRoleById(roleId));return prefix + "/dataScope";}/*** 保存角色分配数据权限*/@RequiresPermissions("system:role:edit")@Log(title = "角色管理", businessType = BusinessType.UPDATE)@PostMapping("/authDataScope")@ResponseBodypublic AjaxResult authDataScopeSave(SysRole role){roleService.checkRoleAllowed(role);role.setUpdateBy(ShiroUtils.getLoginName());if (roleService.authDataScope(role) > 0){ShiroUtils.setSysUser(userService.selectUserById(ShiroUtils.getSysUser().getUserId()));return success();}return error();}@RequiresPermissions("system:role:remove")@Log(title = "角色管理", businessType = BusinessType.DELETE)@PostMapping("/remove")@ResponseBodypublic AjaxResult remove(String ids){try{return toAjax(roleService.deleteRoleByIds(ids));}catch (Exception e){return error(e.getMessage());}}/*** 校验角色名称*/@PostMapping("/checkRoleNameUnique")@ResponseBodypublic String checkRoleNameUnique(SysRole role){return roleService.checkRoleNameUnique(role);}/*** 校验角色权限*/@PostMapping("/checkRoleKeyUnique")@ResponseBodypublic String checkRoleKeyUnique(SysRole role){return roleService.checkRoleKeyUnique(role);}/*** 选择菜单树*/@GetMapping("/selectMenuTree")public String selectMenuTree(){return prefix + "/tree";}/*** 角色状态修改*/@Log(title = "角色管理", businessType = BusinessType.UPDATE)@RequiresPermissions("system:role:edit")@PostMapping("/changeStatus")@ResponseBodypublic AjaxResult changeStatus(SysRole role){roleService.checkRoleAllowed(role);return toAjax(roleService.changeStatus(role));}/*** 分配用户*/@RequiresPermissions("system:role:edit")@GetMapping("/authUser/{roleId}")public String authUser(@PathVariable("roleId") Long roleId, ModelMap mmap){mmap.put("role", roleService.selectRoleById(roleId));return prefix + "/authUser";}/*** 查询已分配用户角色列表*/@RequiresPermissions("system:role:list")@PostMapping("/authUser/allocatedList")@ResponseBodypublic TableDataInfo allocatedList(SysUser user){startPage();List<SysUser> list = userService.selectAllocatedList(user);return getDataTable(list);}/*** 取消授权*/@Log(title = "角色管理", businessType = BusinessType.GRANT)@PostMapping("/authUser/cancel")@ResponseBodypublic AjaxResult cancelAuthUser(SysUserRole userRole){return toAjax(roleService.deleteAuthUser(userRole));}/*** 批量取消授权*/@Log(title = "角色管理", businessType = BusinessType.GRANT)@PostMapping("/authUser/cancelAll")@ResponseBodypublic AjaxResult cancelAuthUserAll(Long roleId, String userIds){return toAjax(roleService.deleteAuthUsers(roleId, userIds));}/*** 选择用户*/@GetMapping("/authUser/selectUser/{roleId}")public String selectUser(@PathVariable("roleId") Long roleId, ModelMap mmap){mmap.put("role", roleService.selectRoleById(roleId));return prefix + "/selectUser";}/*** 查询未分配用户角色列表*/@RequiresPermissions("system:role:list")@PostMapping("/authUser/unallocatedList")@ResponseBodypublic TableDataInfo unallocatedList(SysUser user){startPage();List<SysUser> list = userService.selectUnallocatedList(user);return getDataTable(list);}/*** 批量选择用户授权*/@Log(title = "角色管理", businessType = BusinessType.GRANT)@PostMapping("/authUser/selectAll")@ResponseBodypublic AjaxResult selectAuthUserAll(Long roleId, String userIds){return toAjax(roleService.insertAuthUsers(roleId, userIds));}
}
登录验证管理控制层:
/*** 登录验证*/
@Controller
public class SysLoginController extends BaseController
{@GetMapping("/login")public String login(HttpServletRequest request, HttpServletResponse response){// 如果是Ajax请求,返回Json字符串。if (ServletUtils.isAjaxRequest(request)){return ServletUtils.renderString(response, "{\"code\":\"1\",\"msg\":\"未登录或登录超时。请重新登录\"}");}return "login";}@PostMapping("/login")@ResponseBodypublic AjaxResult ajaxLogin(String username, String password, Boolean rememberMe){UsernamePasswordToken token = new UsernamePasswordToken(username, password, rememberMe);Subject subject = SecurityUtils.getSubject();try{subject.login(token);return success();}catch (AuthenticationException e){String msg = "用户或密码错误";if (StringUtils.isNotEmpty(e.getMessage())){msg = e.getMessage();}return error(msg);}}@GetMapping("/unauth")public String unauth(){return "error/unauth";}
}
源码获取:俺的博客首页 "资源" 里下载!