门户网站"/>
(免费分享)基于ssm的校园门户网站
校园门户网站系统
功能分析:
本站点分为前台和后台两个管理层面:
(1)后台管理系统主要是对网站前台的信息管理,如管理员对社团组织(一个社团一个账号)、教师信息的管理,管理员可以统筹地对其信息进行查询、添加、删除以及修改操作,确保所有的用户信息的完整和安全,也可以对图片等日常使用文件的发布、修改、删除等操作,还包括对访客信息的统计以及校历、规章制度的管理 。简单来说就是对网站数据库和文件的快速操作和管理系统,以使前台内容得到及时更新和调整。
(2)前台设有信息展示模块、新闻管理、通知公告、消息推送、学科资源、求职招聘等功能,实现教务信息、资讯的透明公开,提高用户浏览、使用的体验。
- 前台系统
主要包括:新闻快讯、通知公告、校园风采、校历显示、求职招聘、个人信息展示、消息推送等模块。
前台系统模块如图:
新闻快讯 通知公告 校园风采 求职招聘
1、新闻快讯
- 功能描述:
了解校内新闻
- 实现原理:
用户可以在最短的时间内了解学校最新动态,减少用户的有效时间。
2、通知公告
- 功能描述:
了解最新通知公告
- 实现原理:
用户可以及时地了解校园最新的动态信息,这些信息可以以公告形式进行发布,使用户对学院的最新动态得以掌握。
3、校园风采
将校园内的新鲜事件以图片的形式发布,使校园事件更加具有趣味性。
4、求职招聘
将各种求职招聘信息公布以便于求职者进行选择。
5、消息推送
用户登陆时,有几种消息分类,用户可以根据自己的兴趣进行勾选;
1A B C D E
登陆后,会向用户推送登录时选择的分类的相关消息,
6、校历显示
学生和老师可以通过校历显示得知学校的时间安排,比如说开学时间、放假时间、上课时间等。
- 后台系统
主要包括:用户管理、个人信息管理、公告管理、校历管理、站点访问统计、新闻更新、图片上传、招聘整理上传、消息管理等。
后台系统模块如图:
1、用户登录
- 功能描述:
用户通过输入用户名、密码、后进行登录
- 实现原理:
- 在首页单击登录图标进入登录页面。
- 输入用户名、密码后单击登录按钮,验证用户名、密码正确后进行登录:
1)用户名不能为空,且在1-12个字符之间,英文、数字、中文均可以;
2)密码不能为空,且在4-8位之间;
- 登陆后,显示系统管理的界面。
2、用户角色管理
- 功能描述:
对不同用户角色赋予不同的权限
- 实现原理:
- 用户主体分为2大类,一类是老师或者社团组织,一类是系统管理员;
- 系统管理员可以对老师或社团组织的信息进行增删改查。
3、个人信息管理
- 功能描述:
对用户信息进行新增、删除、修改
- 实现原理:
- 在用户管理界面,可以通过新增、删除、修改图标对用户信息进行新增、删除、修改操作。
4、通知公告管理
- 功能描述:
将通知公告进行管理
- 实现原理:
- 管理员将校园最新公告进行汇总、通告,保证公告的全面性;
- 具备强大的公告系统,支持滚动类型,可对公告进行良好的管理。
- 社团组织可以发布活动信息,教师可以发布学术消息。
5、校历管理
- 功能描述:
规划学校一学年的整体工作部署
- 实现原理:
- 校历一学年为单位编制而成,是学校一年内工作和学习的日程安排,包括学校重点工作的项目、内容和要求、负责人和执行人。
6、站点访问统计
- 功能描述:
对站点访问量进行统计
- 实现原理:
- 通过此功能可以看到此站点的总访问量。
7、新闻更新
- 功能描述:
对新闻进行管理
- 实现原理:
- 管理员通过对校内新闻的采集,对校内新闻进行整理、编写以及播报,保证新闻的及时性。
8、图片上传
- 功能描述:
实现图片的上传
- 实现原理:
- 管理员通过对图片进行筛选和上传,保证图片的更新换代。
9、招聘整理上传
- 功能描述:
对照片信息进行整理上传
- 实现原理:
管理员通过了解招聘信息,对招聘信息进行及时地上传,另外可进行招聘技巧等信息进行专栏介绍。
10、消息管理
- 功能描述:
对消息进行管理
- 实现原理:
- 实现对消息进行增加、删除等操作。
11、系统管理
- 功能描述:
进入系统管理,以便对各个模块进行操作。
- 实现原理:
- 用系统管理员登录,进入管理页面,默认分页显示所有管理员用户信息,可以对用户信息进行增删改
- 对通知公告进行管理;
- 对新闻进行管理,包括上传新闻图片、审核新闻以及发布新闻;
- 对校历进行管理;
- 对招聘信息进行管理;
- 管理员功能流程图:
package com.my.xymh.controller;
import java.io.File;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
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.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipartmons.CommonsMultipartFile;import com.my.xymh.base.BaseController;
import com.my.xymh.utils.JsonUtil2;
import com.my.xymh.utils.Pager;
import net.sf.json.JSONObject;
import java.util.*;import com.my.xymh.entity.*;
import com.my.xymh.dao.*;
import com.my.xymh.service.*;/*** @ClassName: * @Description: * @author administrator*/@Controller
@RequestMapping("/action")
public class ActionController extends BaseController {/*** 依赖注入 start dao/service/===*/@Autowiredprivate ActionService actionService;// --------------------------------------- 华丽分割线 ------------------------------/*** 分页查询 返回list对象(通过对象)* * @param request* @param response* @return*/@RequestMapping(value = "/findByObj.do")public String findByObj(Action action, Model model, HttpServletRequest request, HttpServletResponse response) {//分页查询Pager<Action> pagers = actionService.findByEntity(action);model.addAttribute("pagers", pagers);//存储查询条件model.addAttribute("obj", action);return "action/action";}/*** 分页查询 返回list对象(通过Map)* * @param request* @param response* @return*/@RequestMapping(value = "/findByMap.do")public String findByMap(Action action, Model model, HttpServletRequest request, HttpServletResponse response) {//通过map查询Map<String,Object> params = new HashMap<String,Object>();if(!isEmpty(action.getName())){params.put("name", action.getName());}if(!isEmpty(action.getIsDelete())){params.put("isDelete", action.getIsDelete());}//分页查询Pager<Action> pagers = actionService.findByMap(params);model.addAttribute("pagers", pagers);//存储查询条件model.addAttribute("obj", action);return "action/action";}/*** 跳至添加页面* @return*/@RequestMapping(value = "/add.do")public String add() {return "action/add";}/*** 添加执行* @return*/@RequestMapping(value = "/exAdd.do")public String exAdd(Action action, Model model, HttpServletRequest request, HttpServletResponse response) {action.setIsDelete(0);actionService.insert(action);return "redirect:/action/findByObj.do";}/*** 跳至修改页面* @return*/@RequestMapping(value = "/update.do")public String update(Integer id,Model model) {Action obj = actionService.load(id);model.addAttribute("obj",obj);return "action/update";}/*** 添加修改* @return*/@RequestMapping(value = "/exUpdate.do")public String exUpdate(Action action, Model model, HttpServletRequest request, HttpServletResponse response) {actionService.update(action);return "redirect:/action/findByObj.do";}/*** 删除通过主键* @return*/@RequestMapping(value = "/delete.do")public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {//真正删除//actionService.deleteById(id);//通过参数删除//Map<String,Object> params = new HashMap<String,Object>();//params.put("id", id);//actionService.deleteBySqId("deleteBySql", params);//状态删除Action load = actionService.load(id);load.setIsDelete(1);actionService.update(load);return "redirect:/action/findByObj.do";}// --------------------------------------- 华丽分割线 ------------------------------/*** 分页查询 返回list json(通过对象)* * @param request* @param response* @return*/@RequestMapping(value = "/findByObj.json", method = RequestMethod.GET)@ResponseBodypublic String findByObjByEntity(Action action, Model model, HttpServletRequest request, HttpServletResponse response) {//分页查询Pager<Action> pagers = actionService.findByEntity(action);JSONObject jsonObject = JsonUtil2.getJsonObject();jsonObject.put("pagers", pagers);jsonObject.put("obj", action);return jsonObject.toString();}/*** 分页查询 返回list json(通过Map)* * @param request* @param response* @return*/@RequestMapping(value = "/findByMap.json", method = RequestMethod.GET)@ResponseBodypublic String findByMapMap(Action action, Model model, HttpServletRequest request, HttpServletResponse response) {//通过map查询Map<String,Object> params = new HashMap<String,Object>();if(!isEmpty(action.getName())){params.put("name", action.getName());}if(!isEmpty(action.getIsDelete())){params.put("isDelete", action.getIsDelete());}//分页查询Pager<Action> pagers = actionService.findByMap(params);JSONObject jsonObject = JsonUtil2.getJsonObject();jsonObject.put("pagers", pagers);jsonObject.put("obj", action);return jsonObject.toString();}/*** ajax 添加* @param * @return*/@RequestMapping(value = "/exAdd.json", method = RequestMethod.POST)@ResponseBodypublic String exAddJson(Action action, Model model, HttpServletRequest request, HttpServletResponse response) {actionService.insert(action);JSONObject jsonObject = JsonUtil2.getJsonObject();jsonObject.put("message", "添加成功");return jsonObject.toString();}/*** ajax 修改* @param * @return*/@RequestMapping(value = "/exUpdate.json",method = RequestMethod.POST)@ResponseBodypublic String exUpdateJson(Action action, Model model, HttpServletRequest request, HttpServletResponse response) {actionService.update(action);JSONObject jsonObject = JsonUtil2.getJsonObject();jsonObject.put("message", "修改成功");return jsonObject.toString();}/*** ajax 删除* @return*/@RequestMapping(value = "/delete.json", produces = "text/html;charset=UTF-8", method = RequestMethod.GET)@ResponseBodypublic String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {//真正删除actionService.deleteById(id);//通过参数删除//Map<String,Object> params = new HashMap<String,Object>();//params.put("id", id);//actionService.deleteBySqId("deleteBySql", params);//状态删除//Action load = actionService.load(id);//load.setIsDelete(1);//actionService.update(load);JSONObject jsonObject = JsonUtil2.getJsonObject();jsonObject.put("message", "删除成功");return jsonObject.toString();}/*** 单文件上传* @param file* @param request* @param model* @return*/@RequestMapping(value = "/saveFile") public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) { System.out.println("开始"); String path = request.getSession().getServletContext().getRealPath("/upload"); String fileName = file.getOriginalFilename(); System.out.println(path); File targetFile = new File(path, fileName); if(!targetFile.exists()){ targetFile.mkdirs(); } //保存 try { file.transferTo(targetFile); } catch (Exception e) { e.printStackTrace(); } return ""; } /*** springMvc多文件上传* @param files* @param id* @return*/@RequestMapping(value = "/saveFiles")public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){for(int i = 0;i<files.length;i++){System.out.println("fileName---------->" + files[i].getOriginalFilename());if(!files[i].isEmpty()){int pre = (int) System.currentTimeMillis();try {//拿到输出流,同时重命名上传的文件String filePath = request.getRealPath("/upload");File f=new File(filePath);if(!f.exists()){f.mkdirs();}String fileNmae=new Date().getTime() + files[i].getOriginalFilename();File file=new File(filePath+"/"+pre + files[i].getOriginalFilename());if(!file.exists()){file.createNewFile();}files[i].transferTo(file);} catch (Exception e) {e.printStackTrace();System.out.println("上传出错");}}}return "";}// --------------------------------------- 华丽分割线 ------------------------------}
获取完整源码:
大家点赞、收藏、关注、评论啦 、查看 👇🏻 👇🏻 👇🏻微信公众号获取联系 👇🏻 👇🏻 👇🏻
免费领取下载链接-公众号输入口令:039
更多推荐
(免费分享)基于ssm的校园门户网站
发布评论