基于javaweb和mysql的ssm家校通管理系统(java+ssm+jsp+bootstrap+echarts+mysql)
·
基于javaweb和mysql的ssm家校通管理系统(java+ssm+jsp+bootstrap+echarts+mysql)
私信源码获取及调试交流
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
注意本项目需使用jdk1.7版本
注意本项目需使用jdk1.7版本
注意本项目需使用jdk1.7版本
基于javaweb的SSM家校通管理系统(java+ssm+jsp+bootstrap+echarts+mysql)
项目介绍
本项目包含管理员、教师、家长用户三种角色; 管理员角色包含以下功能: 管理员登录,用户注册申请,学校用户账号管理,学校管理员管理,网站介绍管理,系统公告管理,网站新闻发布,新闻审核管理,公告审核管理等功能。
教师角色包含以下功能: 教师登录,学生管理,考试管理,沟通交流管理,布置作业等功能。
家长用户角色包含以下功能: 用户首页,网站新闻,公告信息,用户登录,家长互动等功能。
环境需要
1.运行环境:jdk必须使用JDK7,其它版本暂不支持。 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项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
技术栈
- 后端:Spring SpringMVC MyBatis 2. 前端:JSP+css+javascript+bootstrap+jQuery+echarts
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入地址 登录
//真正删除
noticeService.deleteById(id);
//通过参数删除
//Map<String,Object> params = new HashMap<String,Object>();
//params.put("id", id);
//noticeService.deleteBySqId("deleteBySql", params);
//状态删除
//Notice load = noticeService.load(id);
//load.setIsDelete(1);
//noticeService.update(load);
return "redirect:/notice/findByObj.do";
}
/**
* 删除通过主键
* @return
*/
@RequestMapping(value = "/delete1.do")
public String delete1(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
//真正删除
noticeService.deleteById(id);
//通过参数删除
//Map<String,Object> params = new HashMap<String,Object>();
//params.put("id", id);
//noticeService.deleteBySqId("deleteBySql", params);
//状态删除
//Notice load = noticeService.load(id);
//load.setIsDelete(1);
//noticeService.update(load);
return "redirect:/notice/findByObj2.do";
}
// --------------------------------------- 华丽分割线 ------------------------------
/**
* 分页查询 返回list json(通过对象)
*
* @param request
* @param response
* @return
@ResponseBody
public String exAddJson(Introduction introduction, Model model, HttpServletRequest request, HttpServletResponse response) {
introductionService.insert(introduction);
JSONObject jsonObject = JsonUtil2.getJsonObject();
jsonObject.put("message", "添加成功");
return jsonObject.toString();
}
/**
* ajax 修改
* @param
* @return
*/
@RequestMapping(value = "/exUpdate.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
@ResponseBody
public String exUpdateJson(Introduction introduction, Model model, HttpServletRequest request, HttpServletResponse response) {
introductionService.update(introduction);
JSONObject jsonObject = JsonUtil2.getJsonObject();
jsonObject.put("message", "修改成功");
return jsonObject.toString();
}
/**
* ajax 删除
* @return
*/
@RequestMapping(value = "/delete.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
@ResponseBody
public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
//真正删除
introductionService.deleteById(id);
//通过参数删除
//Map<String,Object> params = new HashMap<String,Object>();
//params.put("id", id);
//introductionService.deleteBySqId("deleteBySql", params);
//状态删除
//Introduction load = introductionService.load(id);
//load.setIsDelete(1);
//introductionService.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("开始");
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 "";
}
// --------------------------------------- 华丽分割线 ------------------------------
}
Map<String,Object> params = new HashMap<String,Object>();
if(!isEmpty(score.getDisciplineId())){
params.put("disciplineId", score.getDisciplineId());
}
if(!isEmpty(score.getStudentId())){
params.put("studentId", score.getStudentId());
}
if(!isEmpty(score.getMark())){
params.put("mark", score.getMark());
}
//分页查询
Pager<Score> pagers = scoreService.findByMap(params);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", score);
return "score/score";
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add.do")
public String add(Model model,HttpSession session) {
Student student=new Student();
Integer classroomId = (Integer) session.getAttribute("classroomId");
student.setClassroomId(classroomId);
student.setIsDelete(0);
List<Student> studentList=studentService.listAllByEntity(student);
model.addAttribute("studentList", studentList);
List<Discipline> disciplineList=disciplineService.listAll();
model.addAttribute("disciplineList", disciplineList);
return "score/add";
}
/**
* 添加执行
* @return
*/
@RequestMapping(value = "/exAdd.do")
public String exAdd(Score score, Model model, HttpServletRequest request, HttpServletResponse response) {
scoreService.insert(score);
return "redirect:/score/findByObj.do";
}
/**
* 跳至修改页面
* @return
*/
@RequestMapping(value = "/update.do")
public String update(Integer id,Model model,HttpSession session) {
@RequestMapping(value = "/delete.do")
public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
//真正删除
scoreService.deleteById(id);
//通过参数删除
//Map<String,Object> params = new HashMap<String,Object>();
//params.put("id", id);
//scoreService.deleteBySqId("deleteBySql", params);
//状态删除
//Score load = scoreService.load(id);
//load.setIsDelete(1);
//scoreService.update(load);
return "redirect:/score/findByObj.do";
}
// --------------------------------------- 华丽分割线 ------------------------------
/**
* 分页查询 返回list json(通过对象)
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/findByObj.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
@ResponseBody
public String findByObjByEntity(Score score, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
Pager<Score> pagers = scoreService.findByEntity(score);
JSONObject jsonObject = JsonUtil2.getJsonObject();
jsonObject.put("pagers", pagers);
jsonObject.put("obj", score);
return jsonObject.toString();
}
/**
* 分页查询 返回list json(通过Map)
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/findByMap.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
@ResponseBody
public String findByMapMap(Score score, Model model, HttpServletRequest request, HttpServletResponse response) {
//通过map查询
Map<String,Object> params = new HashMap<String,Object>();
if(!isEmpty(score.getDisciplineId())){
params.put("disciplineId", score.getDisciplineId());
}
if(!isEmpty(score.getStudentId())){
params.put("studentId", score.getStudentId());
}
* @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);
jsonObject.put("pagers", pagers);
jsonObject.put("obj", introduction);
return jsonObject.toString();
}
/**
* 分页查询 返回list json(通过Map)
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/findByMap.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
@ResponseBody
public String findByMapMap(Introduction introduction, Model model, HttpServletRequest request, HttpServletResponse response) {
//通过map查询
Map<String,Object> params = new HashMap<String,Object>();
if(!isEmpty(introduction.getTitle())){
params.put("title", introduction.getTitle());
}
if(!isEmpty(introduction.getContent())){
params.put("content", introduction.getContent());
}
if(!isEmpty(introduction.getAddTime())){
params.put("addTime", introduction.getAddTime());
}
if(!isEmpty(introduction.getImageUrl())){
params.put("imageUrl", introduction.getImageUrl());
}
//分页查询
Pager<Introduction> pagers = introductionService.findByMap(params);
JSONObject jsonObject = JsonUtil2.getJsonObject();
jsonObject.put("pagers", pagers);
jsonObject.put("obj", introduction);
return jsonObject.toString();
}
/**
* ajax 添加
* @param
* @return
*/
@RequestMapping(value = "/exAdd.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
@ResponseBody
if(!isEmpty(notice.getStatus())){
params.put("status", notice.getStatus());
}
//分页查询
Pager<Notice> pagers = noticeService.findByMap(params);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", notice);
return "notice/notice";
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add.do")
public String add() {
return "notice/add";
}
/**
* 添加执行
* @return
*/
@RequestMapping(value = "/exAdd.do")
public String exAdd(Notice notice, Model model, HttpServletRequest request, HttpServletResponse response,HttpSession session) {
Integer schoolId = (Integer) session.getAttribute("schoolId");
if (schoolId!=null) {
notice.setSchoolId(schoolId);
}
notice.setType(1);//1:为系统公告2:校内公告
notice.setStatus(1);//0:未审核1:审核通过2:审核未通过
notice.setAddTime(new Date());
noticeService.insert(notice);
return "redirect:/notice/findByObj.do";
}
/**
System.out.println("上传出错");
}
}
}
return "";
}
// --------------------------------------- 华丽分割线 ------------------------------
}
/**
* @ClassName:
* @Description:
*/
@Controller
}
/**
* 分页查询 返回list对象(通过Map)
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/findByMap.do")
public String findByMap(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response,HttpSession session) {
//通过map查询
Map<String,Object> params = new HashMap<String,Object>();
if(!isEmpty(classroom.getName())){
params.put("name", classroom.getName());
}
if(!isEmpty(classroom.getGradeId())){
params.put("gradeId", classroom.getGradeId());
}
if(!isEmpty(classroom.getIsDelete())){
params.put("isDelete", classroom.getIsDelete());
}
//分页查询
Pager<Classroom> pagers = classroomService.findByMap(params);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", classroom);
return "classroom/classroom";
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add.do")
public String add(Model model,HttpSession session) {
Integer schoolId = (Integer) session.getAttribute("schoolId");
School school=new School();
school.setId(schoolId);
List<School> schoolList=schoolService.listAllByEntity(school);
model.addAttribute("schoolList", schoolList);
return "classroom/add";
}
/**
* 添加执行
* @return
*/
public String exAdd(Parent parent, Model model, HttpServletRequest request, HttpServletResponse response) {
parent.setIsDelete(0);
parent.setIsPass(0);
parent.setType(3);
parentService.insert(parent);
return "redirect:/parent/findByObj.do";
}
/**
* 跳至修改页面
*
* @return
*/
@RequestMapping(value = "/update.do")
public String update(Integer id, Model model) {
Parent obj = parentService.load(id);
List<School> schoolList = schoolService.listAll();
model.addAttribute("schoolList", schoolList);
List<Grade> gradeList = gradeService.listAll();
model.addAttribute("gradeList", gradeList);
List<Classroom> classroomList = classroomService.listAll();
model.addAttribute("classroomList", classroomList);
model.addAttribute("obj", obj);
return "parent/update";
}
/**
* 添加修改
*
* @return
*/
@RequestMapping(value = "/exUpdate.do")
public String exUpdate(Parent parent, Model model, HttpServletRequest request, HttpServletResponse response) {
parentService.update(parent);
return "redirect:/parent/findByObj.do";
}
/**
* 跳至审核页面
*
* @return
*/
@RequestMapping(value = "/isPass.do")
public String isPass(Integer id, Model model) {
Parent obj = parentService.load(id);
List<School> schoolList = schoolService.listAll();
model.addAttribute("schoolList", schoolList);
List<Grade> gradeList = gradeService.listAll();
model.addAttribute("gradeList", gradeList);
List<Classroom> classroomList = classroomService.listAll();
return "redirect:/message/findByObj.do";
}
/**
* 删除通过主键
* @return
*/
@RequestMapping(value = "/delete.do")
public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
//真正删除
messageService.deleteById(id);
//通过参数删除
//Map<String,Object> params = new HashMap<String,Object>();
//params.put("id", id);
//messageService.deleteBySqId("deleteBySql", params);
//状态删除
//Message load = messageService.load(id);
//load.setIsDelete(1);
//messageService.update(load);
return "redirect:/message/findByObj.do";
}
// --------------------------------------- 华丽分割线 ------------------------------
/**
* 分页查询 返回list json(通过对象)
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/findByObj.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
@ResponseBody
public String findByObjByEntity(Message message, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
Pager<Message> pagers = messageService.findByEntity(message);
JSONObject jsonObject = JsonUtil2.getJsonObject();
jsonObject.put("pagers", pagers);
jsonObject.put("obj", message);
return jsonObject.toString();
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add.do")
public String add() {
return "grade/add";
}
/**
* 添加执行
* @return
*/
@RequestMapping(value = "/exAdd.do")
public String exAdd(Grade grade, Model model, HttpServletRequest request, HttpServletResponse response,HttpSession session) {
Integer schoolId = (Integer) session.getAttribute("schoolId");
grade.setSchoolId(schoolId);
grade.setIsDelete(0);
gradeService.insert(grade);
return "redirect:/grade/findByObj.do";
}
/**
* 跳至修改页面
* @return
*/
@RequestMapping(value = "/update.do")
public String update(Integer id,Model model) {
Grade obj = gradeService.load(id);
model.addAttribute("obj",obj);
return "grade/update";
}
/**
* 添加修改
* @return
*/
@RequestMapping(value = "/exUpdate.do")
public String exUpdate(Grade grade, Model model, HttpServletRequest request, HttpServletResponse response,HttpSession session) {
Integer schoolId = (Integer) session.getAttribute("schoolId");
grade.setSchoolId(schoolId);
gradeService.update(grade);
return "redirect:/grade/findByObj.do";
}
@RequestMapping(value = "/delete.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
@ResponseBody
public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
//真正删除
gradeService.deleteById(id);
//通过参数删除
//Map<String,Object> params = new HashMap<String,Object>();
//params.put("id", id);
//gradeService.deleteBySqId("deleteBySql", params);
//状态删除
//Grade load = gradeService.load(id);
//load.setIsDelete(1);
//gradeService.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 "";
}
model.addAttribute("messagesList", messagesList);
//作业下载
List<Homework> homeworkList=homeworkService.list(map2);
model.addAttribute("homeworkList", homeworkList);
return "login/uIndex";
}else{
return "login/mIndex";
}
}
}
public class SystemContextFilter implements Filter{
private Integer pageSize;
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
Integer offset = 0;
try {
offset = Integer.parseInt(req.getParameter("pager.offset"));
Pager<News> pagers =new Pager<News>();
if(news.getTitle()!=null){
Map<String, Object> map = getMap();
map.put("schoolId",schoolId);
map.put("title",news.getTitle());
map.put("type",2);
//模糊查询分页查询
pagers = newsService.findByMap(map);
}else{
Map<String, Object> map = getMap();
map.put("schoolId",schoolId);
map.put("type",2);
pagers = newsService.findByMap(map);
}
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", news);
return "news/news2";
}
/**
* 详情查看
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/findById.do")
public String findById(News news, Model model, HttpServletRequest request, HttpServletResponse response) {
News obj = newsService.load(news.getId());
model.addAttribute("obj",obj);
return "news/newsDetail";
}
/**
* 分页查询 返回list对象(通过Map)
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/findByMap.do")
public String findByMap(News news, Model model, HttpServletRequest request, HttpServletResponse response) {
//通过map查询
Map<String,Object> params = new HashMap<String,Object>();
if(!isEmpty(news.getTitle())){
params.put("title", news.getTitle());
map.put("type",1);
pagers = noticeService.findByMap(map);
}
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", notice);
return "notice/notice";
}
/**
* 公告审核
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/findByObj1.do")
public String findByObj1(Notice notice, Model model, HttpServletRequest request, HttpServletResponse response) {
Pager<Notice> pagers =new Pager<Notice>();
if(notice.getTitle()!=null){
Map<String, Object> map = getMap();
map.put("title",notice.getTitle());
//模糊查询分页查询
pagers = noticeService.findByMap(map);
}else{
//分页查询
pagers = noticeService.findByEntity(notice);
}
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", notice);
return "notice/notice1";
}
/**
* 详情查看
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/findById.do")
public String findById(Notice notice, Model model, HttpServletRequest request, HttpServletResponse response) {
Notice obj = noticeService.load(notice.getId());
model.addAttribute("obj",obj);
return "notice/noticeDetail";
}
/**
* 分页查询 返回list对象(通过Map)
*
* @param request
* @param response






更多推荐


所有评论(0)