——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSH课程资源教学在线考试平台(java+ssh+mysql+jsp+tomcat)
一、项目简述
功能包括: 管理员可以增删改查教材、教材商、入库教材、用户(用 户包括学生和教师)可以对教材商、教材进行。xcel的导入 导出操作。教师可以领取入库的教材,可以退还教材。学 生只能在对应的教师那里领取教材,并且可以退还教材、 查询自己已经领取的教材。并且对已领教材付款等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Struts+Spring+Hibernate + html+ css + JavaScript + JQuery + Ajax等等。
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 e.printStackTrace(); } } } } } <%@ page language="java" import="CourseWeb.Dao.AdminDaoImpl" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > <html > <head > <base href ="<%=basePath%>" > <meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" > <title > 课程资源在线管理平台后台</title > <link rel ="shortcut icon" href ="favicon.ico" > <link href ="css/bootstrap.min.css?v=3.3.6" rel ="stylesheet" > <link href ="css/font-awesome.min.css?v=4.4.0" rel ="stylesheet" > <link href ="css/animate.css" rel ="stylesheet" > <link href ="css/style.css?v=4.1.0" rel ="stylesheet" > </head > <body class ="fixed-sidebar full-height-layout gray-bg" style ="overflow:hidden" > <div align ="right" style ="background-color:#5A96BB;height: 45px; font-size: 30px; color: white;" > <div align ="right" style ="margin-right: 100px;" > 课程资源在线管理平台管理员端 </div > </div > <div id ="wrapper" > <nav class ="navbar-default navbar-static-side" role ="navigation" > <div class ="nav-close" > <i class ="fa fa-times-circle" > </i > </div > <div class ="sidebar-collapse" > <ul class ="nav" id ="side-menu" > <li class ="nav-header" > <div class ="dropdown profile-element" > <a data-toggle ="dropdown" class ="dropdown-toggle" href ="#" > <span class ="clear" > <span class ="block m-t-xs" style ="font-size:20px;" > <i class ="fa fa-area-chart" > </i >
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > <html > <head > <base href ="<%=basePath%>" > <title > My JSP 'updateQuestion.jsp' starting page</title > <meta http-equiv ="pragma" content ="no-cache" > <meta http-equiv ="cache-control" content ="no-cache" > <meta http-equiv ="expires" content ="0" > <meta http-equiv ="keywords" content ="keyword1,keyword2,keyword3" > <meta http-equiv ="description" content ="This is my page" > <link href ="css/bootstrap.min.css?v=3.3.6" rel ="stylesheet" > <link href ="css/font-awesome.min.css?v=4.4.0" rel ="stylesheet" > <link href ="css/animate.css" rel ="stylesheet" > <link href ="css/style.css?v=4.1.0" rel ="stylesheet" > <script type ="text/javascript" > function checkForm (f ) { var type = "${requestScope.question.type}" ; var course = document .getElementById("course" ); if (f.description.value=="" ){ alert("题目描述不能为空!!" ); f.description.focus(); return false ; } if (type=="single" ||type=="multiple" ){ if (f.option1.value=="" ){ alert("选项A不能为空!!" ); f.option1.focus(); return false ; } if (f.option2.value=="" ){ alert("选项B不能为空!!" ); f.option2.focus(); return false ; } if (f.option3.value=="" ){ alert("选项C不能为空!!" ); f.option3.focus(); return false ; } if (f.option4.value=="" ){ alert("选项D不能为空!!" ); f.option4.focus(); return false ; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 HttpServletRequest request = ServletActionContext.getRequest(); Integer si_e_n = Integer.parseInt(request.getParameter("si_e_n" )); Integer si_e_s = Integer.parseInt(request.getParameter("si_e_s" )); Integer si_m_n = Integer.parseInt(request.getParameter("si_m_n" )); Integer si_m_s = Integer.parseInt(request.getParameter("si_m_s" )); Integer si_d_n = Integer.parseInt(request.getParameter("si_d_n" )); Integer si_d_s = Integer.parseInt(request.getParameter("si_d_s" )); Integer m_e_n = Integer.parseInt(request.getParameter("m_e_n" )); Integer m_e_s = Integer.parseInt(request.getParameter("m_e_s" )); Integer m_m_n = Integer.parseInt(request.getParameter("m_m_n" )); Integer m_m_s = Integer.parseInt(request.getParameter("m_m_s" )); Integer m_d_n = Integer.parseInt(request.getParameter("m_d_n" )); Integer m_d_s = Integer.parseInt(request.getParameter("m_d_s" )); Integer j_e_n = Integer.parseInt(request.getParameter("j_e_n" )); Integer j_e_s = Integer.parseInt(request.getParameter("j_e_s" )); Integer j_m_n = Integer.parseInt(request.getParameter("j_m_n" )); Integer j_m_s = Integer.parseInt(request.getParameter("j_m_s" )); Integer j_d_n = Integer.parseInt(request.getParameter("j_d_n" )); Integer j_d_s = Integer.parseInt(request.getParameter("j_d_s" )); Integer su_e_n = Integer.parseInt(request.getParameter("su_e_n" )); Integer su_e_s = Integer.parseInt(request.getParameter("su_e_s" )); Integer su_m_n = Integer.parseInt(request.getParameter("su_m_n" )); Integer su_m_s = Integer.parseInt(request.getParameter("su_m_s" )); Integer su_d_n = Integer.parseInt(request.getParameter("su_d_n" )); Integer su_d_s = Integer.parseInt(request.getParameter("su_d_s" )); List<Course> courses = courseService.findAllCourse(); ActionContext.getContext().put("courses" ,courses); List<Question> qs_si_e = questionService.findQuestionByTD("single" , "1" ,paper.getCourse().getCid()); List<Question> qs_si_m = questionService.findQuestionByTD("single" , "2" ,paper.getCourse().getCid()); List<Question> qs_si_d = questionService.findQuestionByTD("single" , "3" ,paper.getCourse().getCid()); System.out.print("单选题" +qs_si_e.size()+";" +qs_si_m.size()+";" +qs_si_d.size()); if (si_e_n>qs_si_e.size()||si_m_n>qs_si_m.size()||si_d_n>qs_si_d.size()){ ActionContext.getContext().put("msg" , "题库中没有足够的满足条件的单选题" ); return "generateFalse" ; } List<Question> qs_m_e = questionService.findQuestionByTD("multiple" , "1" ,paper.getCourse().getCid()); List<Question> qs_m_m = questionService.findQuestionByTD("multiple" , "2" ,paper.getCourse().getCid()); List<Question> qs_m_d = questionService.findQuestionByTD("multiple" , "3" ,paper.getCourse().getCid()); if (m_e_n>qs_m_e.size()||m_m_n>qs_m_m.size()||m_d_n>qs_m_d.size()){ ActionContext.getContext().put("msg" , "题库中没有足够的满足条件的多选题" ); return "generateFalse" ; } List<Question> qs_j_e = questionService.findQuestionByTD("judgment" , "1" ,paper.getCourse().getCid()); List<Question> qs_j_m = questionService.findQuestionByTD("judgment" , "2" ,paper.getCourse().getCid()); List<Question> qs_j_d = questionService.findQuestionByTD("judgment" , "3" ,paper.getCourse().getCid()); System.out.print("判断题" +qs_j_e.size()+";" +qs_j_m.size()+";" +qs_j_d.size());
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 public class PaperDaoImpl implements PaperDao { private HibernateTemplate hibernateTemplate; public void setHibernateTemplate (HibernateTemplate hibernateTemplate) { this .hibernateTemplate = hibernateTemplate; } public Paper findById (Integer pid) { return this .hibernateTemplate.get(Paper.class, pid); } public List<Paper> findAll () { return this .hibernateTemplate.find("from Paper" ); } public void save (Paper paper) { this .hibernateTemplate.save(paper); } public void update (Paper paper) { this .hibernateTemplate.update(paper); } public void delete (Paper paper) { this .hibernateTemplate.delete(paper); } public List<Paper> findOutExam (String sid) { Configuration config=new Configuration().configure(); SessionFactory sessionFactory=config.buildSessionFactory(); Session session = sessionFactory.openSession(); Transaction t = session.beginTransaction(); System.out.println("调试pdao_" +sid); Query query=session.createSQLQuery("select * from paper p where p.status=2 and not exists(select * from exam e where e.sid=? and e.pid=p.pid)" ).addEntity(Paper.class); query.setString(0 , sid); List<Paper> papers=query.list(); t.commit(); session.close(); sessionFactory.close(); return papers; } public List<Paper> findInExam (String sid) { Configuration config=new Configuration().configure(); SessionFactory sessionFactory=config.buildSessionFactory(); Session session = sessionFactory.openSession(); Transaction t = session.beginTransaction(); Query query=session.createSQLQuery("select * from paper p where exists(select * from exam e where e.sid=? and e.pid=p.pid and e.status=2)" ).addEntity(Paper.class); query.setString(0 , sid); List<Paper> papers=query.list(); t.commit(); session.close(); sessionFactory.close();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 } return "logoff" ; } } package CourseWeb.Dao;
——————————PayStart——————————
项目链接: https://javayms.github.io?id=441422322105200kw https://javayms.pages.dev?id=441422322105200kw