源码获取:俺的博客首页 "资源" 里下载!
项目介绍
本系统为前后台项目,后台为管理员登录,前台为社团、学生、教师角色登录;
管理员角色包含以下功能:
管理员登录,角色管理,权限管理,社团管理,教师管理,学生管理,公告管理,新闻管理,校园风采管理,求职招聘管理,校历管理,学科资源管理等功能。
社团角色包含以下功能:
社团登录,新闻管理,求职招聘管理,公告管理,校园风采管理等功能。
用户角色包含以下功能:
用户首页,学生登录,新闻快讯,通知公告,查看校历,查看求职招聘信息,查看学科资源等功能。
教师角色包含以下功能:
教师角色登录,公告管理等功能。
环境需要
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配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ssm_xymh_sys/ 登录
注:Tomcat中配置项目路径必须为ssm_xymh_sys,否则会有异常
用户登录管理控制层:
public class LoginController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
JSONObject jsonObject = new JSONObject();
String username = req.getParameter("username");
String password = req.getParameter("password");
resp.setCharacterEncoding("UTF-8");
HttpSession session = req.getSession();
if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
jsonObject.put("code", 2000);
jsonObject.put("flag", "fail");
jsonObject.put("user", null);
jsonObject.put("msg", "usernameOrPasswordIsBank");//用户名密码不能为空
resp.getWriter().print(jsonObject);
return;
}
password = MyMD5Util.encrypt(password);
System.out.println(password);
BusinessUserVO businessUserVO = new BusinessUserVO();
businessUserVO.setUsername(username);
businessUserVO.setPassword(password);
StudentUserVO studentUserVO = new StudentUserVO();
studentUserVO.setUsername(username);
studentUserVO.setPassword(password);
String flag1 = null;
String flag2 = null;
try {
flag1 = BusinessUserDao.selectUsername(businessUserVO);
if ("ok".equals(flag1)) {//企业用户名存在
BusinessUserDTO businessUserDTO = BusinessUserDao.select(businessUserVO);
if (businessUserDTO != null) {
jsonObject.put("code", 2000);
jsonObject.put("flag", "success");//登录成功
jsonObject.put("user", businessUserDTO);
jsonObject.put("msg", "login_success");
session.setAttribute("businessUser",businessUserDTO);
resp.getWriter().print(jsonObject);
return;
} else {
jsonObject.put("code", 2000);
jsonObject.put("flag", "fail");//登录失败
jsonObject.put("user", null);
jsonObject.put("msg", "passwordError");//密码错误
resp.getWriter().print(jsonObject);
return;
}
}
flag2 = StudentUserDao.selectUsername(studentUserVO);
if ("ok".equals(flag2)) {//学生用户名存在
StudentUser studentUser = StudentUserDao.select(studentUserVO);
if (studentUser != null) {
jsonObject.put("code", 2000);
jsonObject.put("flag", "success");//登录成功
jsonObject.put("user", studentUser);
jsonObject.put("msg", "login_success");
session.setAttribute("studentUser",studentUser);
resp.getWriter().print(jsonObject);
return;
} else {
jsonObject.put("code", 2000);
jsonObject.put("flag", "fail");//登录失败
jsonObject.put("user", null);
jsonObject.put("msg", "passwordError");//密码错误
resp.getWriter().print(jsonObject);
return;
}
}
//用户名不存在,前往注册
jsonObject.put("code", 2000);
jsonObject.put("flag", "fail");//登录失败
jsonObject.put("user", null);
jsonObject.put("msg", "usernameIsNotExist");//密码错误
resp.getWriter().print(jsonObject);
return;
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return;
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
doGet(req, resp);
}
}
后台登录管理控制层:
public class AdminLoginController extends HttpServlet {
@SneakyThrows
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
password = MyMD5Util.encrypt(password);
JSONObject jsonObject = new JSONObject();
HttpSession session = req.getSession();
Admin admin = new Admin(username, password);
Admin adminFromDB = AdminDao.findByUsernamePassword(admin);
if (adminFromDB!=null){
jsonObject.put("code",2000);
jsonObject.put("msg","login_success");
jsonObject.put("admin",adminFromDB.getUsername());
jsonObject.put("flag","success");
resp.getWriter().print(jsonObject);
session.setAttribute("admin",adminFromDB);
return;
}else {
jsonObject.put("code",2000);
jsonObject.put("msg","no admin");
jsonObject.put("admin",null);
jsonObject.put("flag","fail");
resp.getWriter().print(jsonObject);
return;
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
用户管理控制层:
@Controller
@RequestMapping(value = "user")
public class UserController {
private final GoodService goodService;
private final OrderService orderService;
private final ReviewService reviewService;
private final UserService userService;
private final CollectService collectService;
@Autowired
public UserController(GoodService goodService, OrderService orderService,
ReviewService reviewService, UserService userService,
CollectService collectService) {
this.goodService = goodService;
this.orderService = orderService;
this.reviewService = reviewService;
this.userService = userService;
this.collectService = collectService;
}
@RequestMapping(value = "userProfile", method = RequestMethod.GET)
public String getMyProfile(ModelMap model, HttpSession session) {
User user = (User) session.getAttribute("user");
if (user == null) {
return "redirect:/";
}
List<Collect> collects = collectService
.getCollectByUserId(user.getId());
for (Collect collect : collects) {
collect.setGood(goodService.getGoodById(collect.getGoodId()));
}
List<Good> goods = goodService.getGoodByUserId(user.getId());
List<Order> orders = orderService.getOrderByCustomerId(user.getId());
List<Review> reviews = reviewService.gerReviewByToUserId(user.getId());
List<Reply> replies = reviewService.gerReplyByToUserId(user.getId());
List<Order> sellGoods = orderService.getOrderBySellerId(user.getId());
model.addAttribute("collects", collects);
model.addAttribute("goods", goods);
model.addAttribute("orders", orders);
model.addAttribute("reviews", reviews);
model.addAttribute("replies", replies);
model.addAttribute("sellGoods", sellGoods);
return "user/userProfile";
}
@RequestMapping(value = "/review", method = RequestMethod.GET)
public String getReviewInfo(@RequestParam(required = false) Integer goodId,
@RequestParam(required = false) Integer reviewId) {
System.out.println("reviewId" + reviewId);
if (reviewId != null) {
System.out.println("reviewId" + reviewId);
if (reviewService.updateReviewStatus(1, reviewId) == 1) {
return "redirect:/goods/goodInfo?goodId=" + goodId;
}
}
return "redirect:/user/userProfile";
}
@RequestMapping(value = "/reply", method = RequestMethod.GET)
public String getReplyInfo(
@RequestParam(required = false) Integer reviewId,
@RequestParam(required = false) Integer replyId) {
if (replyId != null) {
if (reviewService.updateReplyStatus(1, replyId) == 1) {
Integer goodId = reviewService.getGoodIdByReviewId(reviewId);
return "redirect:/goods/goodInfo?goodId=" + goodId;
}
}
return "redirect:/user/userProfile";
}
@RequestMapping(value = "/userEdit", method = RequestMethod.GET)
public String getUserEdit(ModelMap model,
@RequestParam(value = "userId", required = false) Integer userId,
HttpSession session) {
User sessionUser = (User) session.getAttribute("user");
if (sessionUser == null) {
return "redirect:/";
}
User user = userService.getUserById(userId);
List<Order> sellGoods = orderService.getOrderBySellerId(user.getId());
List<Review> reviews = reviewService.gerReviewByToUserId(user.getId());
List<Reply> replies = reviewService.gerReplyByToUserId(user.getId());
model.addAttribute("user", user);
model.addAttribute("sellGoods", sellGoods);
model.addAttribute("reviews", reviews);
model.addAttribute("replies", replies);
return "user/userEdit";
}
@RequestMapping(value = "/userEdit", method = RequestMethod.POST)
public String postUserEdit(ModelMap model, @Valid User user,
HttpSession session,
@RequestParam(value = "photo", required = false) MultipartFile photo)
throws IOException {
String status;
Boolean insertSuccess;
User sessionUser = (User) session.getAttribute("user");
user.setId(sessionUser.getId());
InfoCheck infoCheck = new InfoCheck();
if (!infoCheck.isMobile(user.getMobile())) {
status = "请输入正确的手机号!";
} else if (!infoCheck.isEmail(user.getEmail())) {
status = "请输入正确的邮箱!";
} else if (userService.getUserByMobile(user.getMobile()).getId() != user
.getId()) {
System.out.println(userService.getUserByMobile(user.getMobile())
.getId() + " " + user.getId());
status = "此手机号码已使用!";
} else if (userService.getUserByEmail(user.getEmail()).getId() != user
.getId()) {
status = "此邮箱已使用!";
} else {
if (!photo.isEmpty()) {
RandomString randomString = new RandomString();
FileCheck fileCheck = new FileCheck();
String filePath = "/statics/image/photos/" + user.getId();
String pathRoot = fileCheck.checkGoodFolderExist(filePath);
String fileName = user.getId()
+ randomString.getRandomString(10);
String contentType = photo.getContentType();
String imageName = contentType.substring(contentType
.indexOf("/") + 1);
String name = fileName + "." + imageName;
photo.transferTo(new File(pathRoot + name));
String photoUrl = filePath + "/" + name;
user.setPhotoUrl(photoUrl);
} else {
String photoUrl = userService.getUserById(user.getId())
.getPhotoUrl();
user.setPhotoUrl(photoUrl);
}
insertSuccess = userService.updateUser(user);
if (insertSuccess) {
session.removeAttribute("user");
session.setAttribute("user", user);
return "redirect:/user/userProfile";
} else {
status = "修改失败!";
model.addAttribute("user", user);
model.addAttribute("status", status);
return "user/userEdit";
}
}
System.out.println(user.getMobile());
System.out.println(status);
model.addAttribute("user", user);
model.addAttribute("status", status);
return "user/userEdit";
}
@RequestMapping(value = "/password/edit", method = RequestMethod.POST)
public ResponseEntity editPassword(@RequestBody Password password) {
User user = userService.getUserById(password.getUserId());
String oldPass = DigestUtils
.md5DigestAsHex((password.getOldPassword() + user.getCode())
.getBytes());
if (oldPass.equals(user.getPassword())) {
RandomString randomString = new RandomString();
String code = (randomString.getRandomString(5));
String md5Pass = DigestUtils.md5DigestAsHex((password
.getNewPassword() + code).getBytes());
Boolean success = userService.updatePassword(md5Pass, code,
password.getUserId());
if (success) {
return ResponseEntity.ok(true);
} else {
return ResponseEntity.ok("密码修改失败!");
}
} else {
return ResponseEntity.ok("原密码输入不正确!");
}
}
}
源码获取:俺的博客首页 "资源" 里下载!