基于SSM的学籍证明打印系统设计与实现。
创始人
2024-02-20 03:45:58
0

项目描述

临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇基于SSM的学籍证明打印系统的设计与实现。

功能需求

本系统的开发采用JSP进行动态网页设计,WEB 服务器是采用开源的ApacheTomcat,数据库服务器是采用MySQL 这一图形化工具来管理数据库,开发平台采用 MyEclipse,使计算机对学生学籍证明进行处理,通过internet实现网络信息处理功能。基于B/S架构。
1.建立学生数据库:
(1)在学校教务处允许的情况下读取学校教务系统学生数据;
(2)采用电子表格导入。
2.系统前端界面的设计。
3.中、英文不同学籍证明模板的设计。
4.自定义支付的实现。
5.打印系统模块:负责将数据生成报表并打印(包括数据导入、报表的生成及打印两个模块)中、英文不同学籍证明模板的设计。

具备以下功能:

打印系统可以连接到教务系统数据库,学生通过校园卡或者账户/密码来验证身份,然后显示个人的信息,调出信息。学生通过屏幕提示 ,自助完成学籍证明打印。也有需要管理员进行干预的自助方式,例如,管理员需要设置好不同类型的学生的方式以及收费方式,学生就可以在自助机上通过刷校园卡查询自己的成绩来选择打印,打印时根据设置来判断是否需要收费:按不同的身份可以打印的成绩单免费份数;按不同的身份设 置不同的扣费方式,比如本科生打印的费用,研究生打印的费用等。第二类的自助打印系统的流程是,学生首先在网上进行预约,学生的预约经过管理员的审核确认已经缴费 和符合其他条件以后学生就可以在预约的时间里进行打印,如果打印的时间过后,就得重新预约。(除了学籍证明,还希望有成绩单,结业证明,专业证明,绩点等等可以打印的文件)

系统总体设计

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

部分效果图

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

数据库设计

系统中用到了10张表,针对每个表都进行了设计,下面对部分核心表进行汇总罗列展示。

CREATE TABLE `apply` (`resourceId` varchar(255) COLLATE utf8_bin NOT NULL,`applyName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`applyType` varchar(255) COLLATE utf8_bin DEFAULT NULL,`applyContext` varchar(255) COLLATE utf8_bin DEFAULT NULL,`startDate` datetime DEFAULT NULL,`endDate` datetime DEFAULT NULL,`studentId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`studentName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`xueLi` varchar(255) COLLATE utf8_bin DEFAULT NULL,`userId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`userName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`authorDate` datetime DEFAULT NULL,`authorContext` varchar(255) COLLATE utf8_bin DEFAULT NULL,`authorType` varchar(255) COLLATE utf8_bin DEFAULT NULL,`money` varchar(255) COLLATE utf8_bin DEFAULT NULL,`payType` varchar(255) COLLATE utf8_bin DEFAULT NULL,`fileName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`fileURL` varchar(255) COLLATE utf8_bin DEFAULT NULL,`creatorId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`creatorName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updaterId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updaterName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updateTime` datetime DEFAULT NULL,`createTime` datetime DEFAULT NULL,PRIMARY KEY (`resourceId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;DROP TABLE IF EXISTS `log`;
CREATE TABLE `log` (`resourceId` varchar(255) COLLATE utf8_bin NOT NULL,`logName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`logAddress` varchar(255) COLLATE utf8_bin DEFAULT NULL,`creatorId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`creatorName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updaterId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updaterName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updateTime` datetime DEFAULT NULL,`createTime` datetime DEFAULT NULL,PRIMARY KEY (`resourceId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;DROP TABLE IF EXISTS `person`;
CREATE TABLE `person` (`personId` varchar(255) COLLATE utf8_bin NOT NULL,`personName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`password` varchar(255) COLLATE utf8_bin DEFAULT NULL,`role` varchar(255) COLLATE utf8_bin DEFAULT NULL,`personNo` varchar(255) COLLATE utf8_bin DEFAULT NULL,`cardNo` varchar(255) COLLATE utf8_bin DEFAULT NULL,`personMobile` varchar(255) COLLATE utf8_bin DEFAULT NULL,`sex` varchar(255) COLLATE utf8_bin DEFAULT NULL,PRIMARY KEY (`personId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (`resourceId` varchar(255) COLLATE utf8_bin NOT NULL,`studentNo` varchar(255) COLLATE utf8_bin DEFAULT NULL,`schoolNo` varchar(255) COLLATE utf8_bin DEFAULT NULL,`password` varchar(255) COLLATE utf8_bin DEFAULT NULL,`studentName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`sex` varchar(255) COLLATE utf8_bin DEFAULT NULL,`birthDay` datetime DEFAULT NULL,`idCard` varchar(255) COLLATE utf8_bin DEFAULT NULL,`schoolName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`xueYuan` varchar(255) COLLATE utf8_bin DEFAULT NULL,`zhuanYe` varchar(255) COLLATE utf8_bin DEFAULT NULL,`className` varchar(255) COLLATE utf8_bin DEFAULT NULL,`xueLi` varchar(255) COLLATE utf8_bin DEFAULT NULL,`ruXueYear` varchar(255) COLLATE utf8_bin DEFAULT NULL,`xueZhi` varchar(255) COLLATE utf8_bin DEFAULT NULL,`creatorId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`creatorName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updaterId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updaterName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updateTime` datetime DEFAULT NULL,`createTime` datetime DEFAULT NULL,PRIMARY KEY (`resourceId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;DROP TABLE IF EXISTS `studentscore`;
CREATE TABLE `studentscore` (`resourceId` varchar(255) COLLATE utf8_bin NOT NULL,`studentId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`studentName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`xueYear` varchar(255) COLLATE utf8_bin DEFAULT NULL,`xueQi` varchar(255) COLLATE utf8_bin DEFAULT NULL,`zhuanYePM` varchar(255) COLLATE utf8_bin DEFAULT NULL,`zhuanYeRS` varchar(255) COLLATE utf8_bin DEFAULT NULL,`creatorId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`creatorName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updaterId` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updaterName` varchar(255) COLLATE utf8_bin DEFAULT NULL,`updateTime` datetime DEFAULT NULL,`createTime` datetime DEFAULT NULL,`jd` float(3,1) DEFAULT NULL,PRIMARY KEY (`resourceId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;-- ---
-- ----------------------------
部分代码
@RequestMapping("findStudent")public String find(ModelMap modelMap,String id,HttpServletRequest request){Student student = studentService.findById(id);modelMap.addAttribute("pageEntity", student);logService.addLogInfo(request,"查询学生个人信息","findStudent.do");return "forward:/view/student/add_student.jsp";}@RequestMapping("updateStudent")public String update(ModelMap modelMap,Student student,HttpServletRequest request,HttpServletResponse response){//初始化新增的数据InitEntity initEntity = new InitEntity();try {student = initEntity.initUpdateInfo(student, request.getSession());studentService.updateStudent(student);logService.addLogInfo(request,"更新学生个人信息","updateStudent.do");} catch (Exception e) {e.printStackTrace();}String role = (String)request.getSession().getAttribute("role");if(role == null || "".equals(role)){return "redirect:/login.jsp";}else if(!"admin".equals(role)){return "redirect:/findStudent.do?id="+student.getResourceId();}return "redirect:/listStudent.do";}@RequestMapping("delteStudent")public String delte(String id,HttpServletRequest request){studentService.deteleStudent(id);logService.addLogInfo(request,"删除学生个人信息","delteStudent.do");return "redirect:/listStudent.do";}@RequestMapping("listStudent")public String list(ModelMap modelMap,HttpServletRequest request,Student student){PagerList pagerList = new PagerList(request);pagerList.setPageSize(StaticValue.pageSize);pagerList = this.studentService.findPagerList(pagerList,student);modelMap.addAttribute("pagerList", pagerList);modelMap.addAttribute("searchList", student);logService.addLogInfo(request,"学生个人信息列表","listStudent.do");return "forward:/view/student/list_student.jsp";}@RequestMapping("listSelectStudent")public String listSelectStudent(ModelMap modelMap,HttpServletRequest request,Student student){PagerList pagerList = new PagerList(request);pagerList.setPageSize(StaticValue.pageSize);pagerList = this.studentService.findPagerList(pagerList, student);modelMap.addAttribute("pagerList", pagerList);modelMap.addAttribute("searchList",  student);return "forward:/view/student/select_student.jsp";}@RequestMapping("addStudent")public String add(Student student,HttpServletRequest request,HttpServletResponse response){try {//初始化新增的数据InitEntity initEntity = new InitEntity();student = initEntity.initAddInfo(student, request.getSession());studentService.addStudent(student);logService.addLogInfo(request,"添加学生个人信息","addStudent.do");} catch (Exception e) {e.printStackTrace();}return "redirect:/listStudent.do";}@RequestMapping("exportStudent")public String export(HttpServletRequest request,HttpServletResponse response,Student student){PagerList pagerList = new PagerList(request);pagerList.setPageSize(999999);pagerList.setPageIndex(1);PagerList pagelet = this.studentService.findPagerList(pagerList,student);ObjectToExcel objectToExcl = ObjectToExcel.getInstance(pagelet, null, new String[]{"主键","学生名称","密码" ,"权限","登录名","身份证","电话","性别"},new String[]{"studentId","studentName","password","role","studentNo","cardNo","studentMobile","sex"}, null, null);String fileId = objectToExcl.convertToExcel();String root = StaticValue.ATTACH_PATH;DownFileHelper.downFile(response,root,fileId);return null;}@RequestMapping("importStudent")public void importExcl(@RequestParam("file") CommonsMultipartFile file,HttpServletRequest request,HttpServletResponse response,Student student) throws Exception{JSONObject json = new JSONObject();try{List impList = ExcelToObject.getInstance().parseExcel(file.getInputStream(),new String[]{"studentNo","schoolNo","password","studentName","sex","birthDay","idCard","schoolName","xueYuan","zhuanYe","className","xueLi","ruXueYear","xueZhi"},Student.class);//List studentList = new ArrayList();if(impList != null && impList.size() > 0){//自己在设置自己需要的值for(Object obj:impList){Student detail = (Student)obj;//studentList.add(detail);this.studentService.addStudent(detail);}logService.addLogInfo(request,"导入学生个人信息","importStudent.do");json.put("result", true);json.put("msg", "导入成功!导入"+impList.size()+"条数据");}else{json.put("result", false);json.put("msg", "导入失败!导入的excel没数据或解析excel失败");}}catch(Exception e){e.printStackTrace();json.put("result", false);json.put("msg", e.getMessage());}response.setCharacterEncoding("UTF-8");response.getWriter().print(json.toString());}
}
安装部署需求

eclipse、idea运行启动

系统部署

系统开发后,在生产环境配置项目运行环境,具体步骤如下:
安装linux或者windows10操作系统;
安装JDK1.8并配置环境变量;
安装MySQL5.7版本以上版本数据库,创建数据库并执行脚本创建表;
在IDEA中编辑进行打包;
下载并配置Tomcat8.0服务器,配置系统服务,上传项目打包文件

本项目用到的技术和框架

1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL
4.框架:jsp+SSM

本项目中的关键点

此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。

环境工具

开发工具 Eclipse/IDEA
语言 JDK1.8 、jsp、CSS、SSM
硬件:笔记本电脑;
软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
其它软件:截图工具、常用浏览器;
以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。

相关内容

热门资讯

初中数学手抄报资料 初中数学手抄报资料  手抄报是一种可传阅、可观赏、也可张贴的报纸的另一种形式。在学校,手抄报是第二课...
暑假手抄报图片 暑假手抄报图片大全  暑假暑假,属于你的快乐假期,书写你的精彩假期生活,讲述你的快乐暑期,舒畅你的暑...
建队节手抄报图片大全简单又漂...   建队节是中国少年先锋队成立的日子。本文将介绍简单又漂亮的2016建队节手抄报图片。  2016建...
爱牙日手抄报宣传资料(中小学...   2014爱牙日手抄报宣传资料(中小学生版)  中小学生口腔知识应知应会30题  1.乳牙有了洞需...
新学期手抄报内容资料 新学期手抄报内容资料  新学期,新起点,新面貌,让我们憧憬更美好的明天,让我们再一次踏上征途!  人...
简笔画节约用水手抄报   珍惜水资源,节约水资源,从现在开始!快来看看简笔画节约用水手抄报吧!  简笔画节约用水手抄报【1...
祖国在我心中手抄报图画精选大... 祖国在我心中手抄报图画精选大全,以下是大学网小编精心整理的相关文章,希望对大家有所帮助!祖国在我心中...
安全生产月黑板报内容   安全生产是一种责任,不仅是对自己负责、对家人负责,更是对员工负责、对企业负责、对社会负责。201...
四年级消防安全手抄报内容 四年级消防安全手抄报内容  消防安全是关系到生命的大事。人生只有一次,我们怎么能不珍惜他?整理了一些...
黑板报花边图案-独特的美丽 黑板报花边图案大全-独特的美丽  黑板报花边图案大全-独特的美丽——大家在出黑板报的时候,有没有总是...
简单手工折纸铅笔折纸教程 简单手工折纸铅笔折纸教程  铅笔可以说是每个小朋友童年时候最好的伙伴了,因为我们可以使用铅笔绘画出我...
我的童年手抄报 关于我的童年手抄报  童年的事让我开心,让我回味无穷,让我难以忘怀。它在我的记忆大门里留下了一道美好...
小学英文手抄报实用资料  以下是小编整理的一些有小学英语的手抄报资料,希望对你有帮助。  一、 中国古典名著书名英译  1...
原创手抄报红领巾相约中国梦 原创手抄报红领巾相约中国梦  红领巾是红旗的一角,红领巾心系中国梦,可以帮助我们梦想,下文是有关红领...
春节数学小报 春节数学小报  大家都知道我们学习知识是为了应用在实际的生活中去,所以大家可以在新年的时候把自己学习...
最简单的过年手抄报资料 过年真好过年了,过年了!早就盼望着过年。新年老人带着欢乐来到我们的身边,我们的脸乐开了花。过年了,大...
白衣天使的手抄报图片 白衣天使的手抄报图片  下面是小编收集整理的白衣天使的手抄报图片,欢迎阅读参考!  白衣天使的手抄报...
盐官观潮时间 盐官观潮时间  盐官是一座千年古城,位于浙江省杭州湾北岸杭嘉湖平原。古城悠久的`历史、灿烂的文化、动...
优秀小说:再续红楼梦 优秀小说:再续红楼梦  话说贾宝玉和林黛玉两人可谓是一见钟情。当丫鬟向黛玉报告说:“宝玉来了!”黛玉...
冬季森林防火黑板报图片大全   森林里的树木都是千年古木。一片无边无际的绿色,爬上山岗;侵入平原。欢迎参考小编为您整理好的森林防...