基于javaweb的校园门户平台系统(java+ssm+jsp+bootstrap+mysql)

基于javaweb的校园门户平台系统(java+ssm+jsp+bootstrap+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220819204426

20220819204427

20220819204428

20220819204429

20220819204430

20220819204431

20220819204432

基于javaweb+mysql的校园门户平台系统(java+SSM+JSP+bootstrap+mysql)

项目介绍

本系统为前后台项目,后台为管理员登录,前台为社团、学生、教师角色登录;

管理员角色包含以下功能:

管理员登录,角色管理,权限管理,社团管理,教师管理,学生管理,公告管理,新闻管理,校园风采管理,求职招聘管理,校历管理,学科资源管理等功能。

社团角色包含以下功能: 社团登录,新闻管理,求职招聘管理,公告管理,校园风采管理等功能。

用户角色包含以下功能: 用户首页,学生登录,新闻快讯,通知公告,查看校历,查看求职招聘信息,查看学科资源等功能。

教师角色包含以下功能: 教师角色登录,公告管理等功能。

环境需要

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 collects = collectService

.getCollectByUserId(user.getId());

for (Collect collect : collects) {

collect.setGood(goodService.getGoodById(collect.getGoodId()));

List goods = goodService.getGoodByUserId(user.getId());

List orders = orderService.getOrderByCustomerId(user.getId());

List reviews = reviewService.gerReviewByToUserId(user.getId());

List replies = reviewService.gerReplyByToUserId(user.getId());

List 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 sellGoods = orderService.getOrderBySellerId(user.getId());

List reviews = reviewService.gerReviewByToUserId(user.getId());

List 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(“原密码输入不正确!”);


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
宁志天蓝色中小学校网站管理系统是一套专为学校/教育建站首选的信息网站管理系统,天蓝色风格宽频页面十分大方。 宁志网站管理系统是国内知名建站软件,它由技术人员开发好了的一种现成建站软件,主要为全国各地方政府、公安、事业单位、企业公司、自助建站提供方便。网站系统无复杂的安装设置要求,适合广大工作人员使用。特点:安全、稳定、美观、实用、易操作...可设管理员权限分配。 功能简介: 站点管理 站点设置/前台导航设置/首页ID调用/首页模块开关/外部调用代码/SQL防注入管理/服务器检测 用户管理 管理用户/添加用户/积分初始化/会员发稿排行榜/数据清空新/ 内容管理 信息管理/添加新文章/添加链接文章/栏目类别管理/按类管理信息/管理所有信息/红头文件/添加红头文件/管理红头文件 /附件管理/相关设置/文章IP限制管理/数据清空 会员管理 会员注册/管理会员权限/修改会员信息/发布会员专区权限文章/ 专题链接管理 专题外链图片/弹窗公告管理/漂浮图片管理/首页办公图片 数据库管理 数据库在线备份 留言本管理 留言查看/处理留言/留言类别/相关设置 投票管理 管理投票/添加投票 站点链接管理 文字链接/站群链接/图片链接/便民网址 在线报名管理 查看报名单/导出报名表/查看导出表单/添加报考学校/添加学历层次/添加专业名称 学员成绩查询管理 查看成绩表/添加学员/添加班级/导出成绩表/查看导出表单 站点日志管理 用户登录日志/操作日志/清除日志 更新: 列表的图文格式调整尺寸大些更大气 修复新注册会员文章权限BUG 站群链接管理添加分类管理
网选课系统一个非常实用的系统,可以方便学生进行选课操作,也可以方便教师进行课程管理。下面是一个基于JavaWeb的网上选课系统的设计思路: 1. 系统架构 该系统采用 B/S 架构,即浏览器/服务器架构。前端使用 HTML、CSS、JavaScript 和 JQuery,后端使用 Java+SSM 框架和 MySQL 数据库。 2. 系统功能 (1)学生模块:学生可以登录系统后进行选课操作,查看已选课程,并对已选课程进行退选操作。 (2)教师模块:教师可以登录系统后进行课程管理操作,包括添加课程、修改课程、删除课程等操作。 (3)管理员模块:管理员可以登录系统后对学生和教师进行管理,包括添加学生、添加教师、修改学生信息、修改教师信息等操作。 (4)公告管理:管理员可以发布公告,学生和教师可以浏览公告。 (5)选课规则管理:管理员可以设置选课规则,例如每个学生最多选择多少门课程,每门课程最多选多少人等。 3. 数据库设计 该系统需要设计以下数据库表: (1)学生表:包括学生编号、学生姓名、学生性别、学生年龄、所在班级等字段。 (2)教师表:包括教师编号、教师姓名、教师性别、所教课程、教龄等字段。 (3)课程表:包括课程编号、课程名称、授课教师、上课时间、选课人数等字段。 (4)选课记录表:包括学生编号、课程编号等字段。 (5)公告表:包括公告编号、公告内容、发布时间等字段。 4. 技术实现 该系统采用 Java+SSM 框架进行实现,其中: (1)后端技术:采用 SpringMVC 框架进行控制器的开发,采用 MyBatis 框架进行数据库操作。 (2)前端技术:采用 HTML、CSS、JavaScript 和 JQuery 进行页面布局和交互效果的实现。 (3)数据库技术:采用 MySQL 数据库进行数据存储和管理。 5. 总结 网上选课系统一个非常实用的系统,它可以方便学生进行选课操作,也可以方便教师进行课程管理。该系统采用 B/S 架构,采用 Java+SSM 框架进行开发,实现了学生模块、教师模块、管理员模块、公告管理和选课规则管理等功能。在实现时需要注意数据库表的设计和技术实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值