四川通江县住房和建设局网站,百度热搜关键词排行榜,济南住建官网,做个小程序需要多少钱项目描述
临近学期结束#xff0c;还是毕业设计#xff0c;你还在做java程序网络编程#xff0c;期末作业#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题#xff0c;今天给大家介绍…项目描述
临近学期结束还是毕业设计你还在做java程序网络编程期末作业老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题今天给大家介绍一篇基于SSM的在线作业管理系统设计与实现。
功能需求
本在线作业管理系统通过分析和确定系统的角色和功能划分按照业务合理区分为不同的菜单功能模块。从用户角度出发对每个功能的需求实现点进行人性化详细的构思。对每个功能的细节点进行分析设计整合完成整个在作业系统的设计。 这两类的主要功能如下 根管理员端1管理注册学生。2管理注册教师。3管理题库。4管理课程。5管理公告。6管理班级。7修改密码。等等
教师端1管理题库题库类型包括选择题 判断题和简答题题库中的题目对应不同的课程 2作业管理从题库中搜索选择对应课程的题目发布作业 3统计成绩汇总班级成绩且导出成绩表 4发布公告向学生发送公告。 5个人信息修改、登录密码修改
学生端1查看公告 2查看个人课程个人可以自己报名选择课程 3个人信息修改、登录密码修改 4在线完成作业可查看成绩和答案。 等等具体以图片中的功能为主
部分效果图 在这里插入图片描述
部分代码 Controller
public class StudentExamController {int tihao 0;Autowiredprivate StudentExamService studentExamService;Autowiredprivate ManagerScoreService managerScoreService;RequestMapping(value /toStudentExam.action)public String handlerExam(Integer id, String user_sno, HttpServletRequest request) {ArrayListQuestion listAll new ArrayListQuestion();Paper paper studentExamService.findPaperById(id);int numSing 0;int numMuti 0;int numJud 0;int numFill 0;int numEss 0;int time 0;numSing paper.getQty_sing();numMuti paper.getQty_muti();numJud paper.getQty_jud();numFill paper.getQty_fill();numEss paper.getQty_ess();time paper.getQty_time();
// 将每种题目按照题目类型存储LinkedListQuestion listSing new LinkedListQuestion();LinkedListQuestion listMuti new LinkedListQuestion();LinkedListQuestion listJud new LinkedListQuestion();LinkedListQuestion listFill new LinkedListQuestion();LinkedListQuestion listEss new LinkedListQuestion();ListQuestion questions studentExamService.findQuestion();for (Question question : questions) {switch (question.getType()) {case 单选题:listSing.add(question);break;case 多选题:listMuti.add(question);break;case 判断题:listJud.add(question);break;case 填空题:listFill.add(question);break;default:listEss.add(question);break;}}
// System.out.println(单 listSing.size());
// System.out.println(多 listMuti.size());
// System.out.println(判 listJud.size());
// System.out.println(简 listEss.size());
// System.out.println(填 listFill.size());listAll.addAll(randomQue(listSing, numSing));listAll.addAll(randomQue(listMuti, numMuti));listAll.addAll(randomQue(listJud, numJud));listAll.addAll(randomQue(listFill, numFill));listAll.addAll(randomQue(listEss, numEss));
// System.out.println(全 listAll.size());tihao 0;HttpSession session request.getSession();//判断用户参加考试的次数User user (User) session.getAttribute(USER_SESSION);user_sno user.getSno();Score score new Score();score.setUser_sno(user_sno);score.setPaper_id(id);Integer number Integer.valueOf(0);number studentExamService.examCount(score);session.setAttribute(paper,paper);session.setAttribute(number, number);session.setAttribute(examTime, time);session.setAttribute(ques, listAll);return Student/student_exam_info;}public ArrayListQuestion randomQue(LinkedListQuestion list, int count) {ArrayListQuestion listA new ArrayListQuestion();while (list.size() 0 count 0) {count--;int m (int) (Math.random() * list.size());Question question list.get(m);list.remove(m);tihao;question.setId(String.valueOf(tihao));String selectString question.getSel();if (selectString ! null) {String[] temp selectString.split(\\);question.setOptions(temp);}listA.add(question);}return listA;}RequestMapping(value /calScore.action)public String calScore(HttpServletRequest request) {HttpSession session request.getSession();Score userScore new Score();ArrayListQuestion questions (ArrayListQuestion) session.getAttribute(ques);User user (User) session.getAttribute(USER_SESSION);Paper paper (Paper) session.getAttribute(paper);String stuAnsArr[] null;double score 0;double score_muti 0;double score_sing 0;double score_jud 0;double score_fill 0;double score_ess 0;for (int i 0; i questions.size(); i) {Question question questions.get(i);stuAnsArr request.getParameterValues(question.getId());if (!question.getType().equals(简答题)) {if (stuAnsArr ! null) {String stuAns ;for (int j 0; j stuAnsArr.length; j) {stuAns stuAnsArr[j];}//System.out.println(stuAns);if (stuAns.equalsIgnoreCase(question.getAnswer())) {switch (question.getType()) {case 单选题:score_sing question.getScore();score score_sing;break;case 多选题:score_muti question.getScore();score score_muti;break;case 判断题:score_jud question.getScore();score score_jud;break;case 填空题:score_fill question.getScore();score score_fill;break;default:break;}}}} else {//简答题的判断方法//拆分正确答案中的关键词String[] KEY_WORD question.getAnswer().split(\\);//获取简答题分值Integer totalScore question.getScore();//每个的分点的细分int singleScore 0;String stuAns ;if (stuAnsArr ! null) {for (int j 0; j stuAnsArr.length; j) {//组装学生答案stuAns stuAnsArr[j];}}// 使用contains方法//如果关键词存在if (KEY_WORD ! null) {//按照关键词数量细分分值singleScore totalScore / KEY_WORD.length;for (int j 0; j KEY_WORD.length; j) {//判断考生答案中是否出现关键词if (stuAns.contains(KEY_WORD[j])) {//System.out.println(stuAns 包含关键词: KEY_WORD[j]);score_ess singleScore;score score_ess;} else {System.out.println(不包含关键词: KEY_WORD[j]);}}}}}userScore.setUser_sno(user.getSno());userScore.setPaper_id(paper.getId());userScore.setScore_sing(score_sing);userScore.setScore_muti(score_muti);userScore.setScore_jud(score_jud);userScore.setScore_fill(score_fill);userScore.setScore_ess(score_ess);userScore.setScore(score);session.setAttribute(score,userScore);int rows managerScoreService.createScore(userScore);if (rows 0){return Student/student_exam_after;}else{return Student/student_exam;}}
}
安装部署需求
IDEA运行启动
系统部署
系统开发后在生产环境配置项目运行环境具体步骤如下 安装linux或者windows10操作系统 安装JDK1.8并配置环境变量 安装MySQL5.7版本以上版本数据库创建数据库并执行脚本创建表 在IDEA中配置运行
本项目用到的技术和框架
1.开发语言Java 2.开发模式B/S 3.数据库MySQL5.7 4.框架SSM
本项目中的关键点
此系统的开发采用java语言开发基于B/S结构这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。
环境工具
开发工具 Eclipse 语言 JDK1.8 、java 硬件笔记本电脑 软件Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL 操作系统Windows 10 其它软件截图工具、常用浏览器 以上是本系统的部分功能展示如果你的选题正好相符那么可以做毕业设计或课程设计使用。