基于javaweb+mysql的ssh课程资源教学在线考试平台(java+ssh+mysql+jsp+tomcat)

基于javaweb+mysql的ssh课程资源教学在线考试平台(java+ssh+mysql+jsp+tomcat)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的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等等。

		this.hibernateTemplate.update(question);
	}

	public void delete(Question question) {
		this.hibernateTemplate.delete(question);
	}
	
	public List<Question> findInQP(Integer pid){
		Configuration config=new Configuration().configure(); 
		SessionFactory sessionFactory=config.buildSessionFactory();
		Session session = sessionFactory.openSession();
	    Transaction t = session.beginTransaction();
	    Query query=session.createSQLQuery("select * from question q where exists(select * from q_p qp where qp.pid=? and qp.qid=q.qid)").addEntity(Question.class);
	    query.setInteger(0, pid);
	    List<Question> questions=query.list();
	    if(questions.isEmpty())
	    	System.out.print("wocao");
	    for(Question q:questions){
	    	System.out.print(q.getType());
	    }
	    t.commit();
	    session.close();
	    sessionFactory.close();
	    return questions;
	}
	
	public List<Question> findOutQP(Integer pid){
		Configuration config=new Configuration().configure(); 
		SessionFactory sessionFactory=config.buildSessionFactory();
		Session session = sessionFactory.openSession();
	    Transaction t = session.beginTransaction();
	    Query query=session.createSQLQuery("select * from question q where not exists(select * from q_p qp where qp.pid=? and qp.qid=q.qid)").addEntity(Question.class);
	    query.setInteger(0, pid);
	    List<Question> questions=query.list();
	    if(questions.isEmpty())
	    	System.out.print("卧槽");
	    for(Question q:questions){
	    	System.out.print(q.getType());
	    }
	    t.commit();
	    session.close();
	    sessionFactory.close();
	    return questions;
	}
	
	public List<Question> findOutQPBy(Integer pid,Integer cid,String type){
		Configuration config=new Configuration().configure(); 
		SessionFactory sessionFactory=config.buildSessionFactory();
		Session session = sessionFactory.openSession();
        List<Homework> homeworks = homeworkService.findAllHomework();
        ActionContext.getContext().put("homeworks", homeworks);
        return "selectAll";
    }

    public String beforeUpdate() {
        Homework homework = homeworkService.findHomeworkById(this.homework.getHid());
        ActionContext.getContext().put("homework", homework);
        return "beforeUpdate";
    }

    public String update() {
        this.homeworkService.updateHomework(homework);
        return "success";
    }

    public String delete() {
        homeworkService.deleteHomework(homework);
        List<Homework> homeworks = homeworkService.findAllHomework();
        ActionContext.getContext().put("homeworks", homeworks);
        return "selectAll";
    }

    public String add() {
        homeworkService.saveHomework(homework);
        return "success";
    }

    public String beforeAdd() {
        List<Course> courses = courseService.findAllCourse();
        ActionContext.getContext().put("courses", courses);
        return "beforeAdd";
    }

    public String selectAllofMine() {
        System.out.println(homework.getStudent().getSid());
        List<Homework> homeworks = homeworkService.findHomeworkBySid(homework.getStudent().getSid());
        ActionContext.getContext().put("homeworks", homeworks);
        return "selectAllofMine";
    }
		for(int i=0;i<5;i++)
			
			System.out.println(result[i]);
		
		//System.out.println(all.remove(4));
		//System.out.println(all.remove(4));
		System.out.println("********************");
		for(int i=0;i<all.size();i++)
			System.out.println(all.get(i));
			*/
		 WritableWorkbook book = null;
	        try {
	            // 打开文件
	            book = Workbook.createWorkbook(new File("E:/测试.xls"));
	            // 生成名为"学生"的工作表,参数0表示这是第一页
	            WritableSheet sheet = book.createSheet("学生", 0);
	            // 指定单元格位置是第一列第一行(0, 0)以及单元格内容为张三
	            Label label = new Label(0, 0, "三");
	            // 将定义好的单元格添加到工作表中
	            sheet.addCell(label);
	            // 保存数字的单元格必须使用Number的完整包路径
	            jxl.write.Number number = new jxl.write.Number(1, 0, 30);
	            sheet.addCell(number);
	            // 写入数据并关闭文件
	            book.write();
	        } catch (Exception e) {
	            System.out.println(e);
	        }finally{
	            if(book!=null){
	                try {
	                    book.close();
	                } catch (Exception e) {
	                    e.printStackTrace();
	                } 
	            }
	        }
		
	}

}

        ActionContext.getContext().put("courses", courses);
        return "beforeUpdate";
    }

    public String update() {
        this.questionService.updateQuestion(question);
        return "success";
    }

    public String delete() {
        questionService.deleteQuestion(question);
        List<Question> questions = questionService.findAllQuestion();
        ActionContext.getContext().put("questions", questions);
        return "selectAll";
    }

    public String add() {
        questionService.saveQuestion(question);
        System.out.println("测试多选题答案" + question.getAnswer());
        return "success";
    }

}

public class ThemeAction extends ActionSupport implements ModelDriven<Theme>{
	
	private static final long serialVersionUID=1L;

	private Theme theme = new Theme();

	Student student = new Student();
	public Theme getModel() {
		Theme theme = this.theme;
		theme.setSender(student);
		return this.theme;
	}

	// *****************************
	private ThemeService themeService;
 * 使用注解方式
 */

@Repository
public class StudentDaoImpl implements StudentDao {
	// 提供hibernate模板
	private HibernateTemplate hibernateTemplate;
	

	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

	public Student findById(String sid) {
		return this.hibernateTemplate.get(Student.class, sid);
	}

	public List<Student> findAll() {
		return this.hibernateTemplate.find("from Student");
	}

	public void save(Student student) {
		this.hibernateTemplate.save(student);
	}

	public void update(Student student) {
		this.hibernateTemplate.update(student);
	}

	public void delete(Student student) {
		this.hibernateTemplate.delete(student);
	}
	
	public List<Student> findInChat(String tid){
		Configuration config=new Configuration().configure(); 
		SessionFactory sessionFactory=config.buildSessionFactory();
		Session session = sessionFactory.openSession();
			return this.ERROR;
		}
	}
	
	public String logoff() {
		ActionContext context=ActionContext.getContext();
		if("student".equals(identity)) {
			Student student = (Student)context.getSession().get("student");
			student.setStatus(1);
			studentService.updateStudent(student);
			context.getSession().remove("student");
		}
		else if("teacher".equals(identity)){ 
			Teacher teacher = (Teacher)context.getSession().get("teacher");
			teacher.setStatus(1);
			teacherService.updateTeacher(teacher);
			context.getSession().remove("teacher");
		}
		else {
			context.getSession().remove("admin");
		}
		
		return "logoff";
	}
}

/**
 * 使用hibernate.cfg.xml
 */
//public class UserDaoImpl implements UserDao {
//	// 提供hibernate模板
//	private HibernateTemplate hibernateTemplate;
//	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
//		this.hibernateTemplate = hibernateTemplate;
//	}
//	public User findById(Integer id) {
//		return this.hibernateTemplate.get(User.class, id);
//	}
//	public List<User> findAll() {
//		return this.hibernateTemplate.find("from User");
//	}
//	public void save(User user) {
//		this.hibernateTemplate.save(user);
//	}
//	public void update(User user) {
		return "beforeUpdate";
	}
	
	public String update(){
		this.paperService.updatePaper(paper);
		return "success";
	}
	
	public String delete(){
		paperService.deletePaper(paper);
		List<Paper> papers = paperService.findAllPaper();
		ActionContext.getContext().put("papers", papers);
		return "selectAll";
	}
	
	public String add(){
		Course course = courseService.findCourseById(paper.getCourse().getCid());
		paper.setName(paper.getYear()+paper.getTerm()+course.getName()+"课程"+paper.getType()+"试卷");
		//System.out.println(paper.getCourse().getCid()+"名字"+paper.getCourse().getCid());
		paper.setStatus(1);
		paperService.savePaper(paper);
		List<Question> questions1 = questionService.findQuestionInQP(paper.getPid());
		List<Question> questions2 = questionService.findQuestionOutQP(paper.getPid());
		List<Course> courses = courseService.findAllCourse();
		ActionContext.getContext().put("paper", paper);
		ActionContext.getContext().put("questions1", questions1);
		ActionContext.getContext().put("questions2", questions2);
		ActionContext.getContext().put("courses", courses);
		return "generatePaper";
	}
	
	public String deleteQP(){
		QP qp = new QP();
		qp.setPid(this.paper.getPid());
		qp.setQid(qid);
		qpService.deleteQP(qp);
		Paper paper = paperService.findPaperById(this.paper.getPid());
		List<Question> questions1 = questionService.findQuestionInQP(paper.getPid());
		List<Question> questions2 = questionService.findQuestionOutQP(paper.getPid());
		List<Course> courses = courseService.findAllCourse();
		ActionContext.getContext().put("paper", paper);
		ActionContext.getContext().put("questions1", questions1);
		ActionContext.getContext().put("questions2", questions2);
		ActionContext.getContext().put("courses", courses);
		return "generatePaper";
	}
	
	public String addQP(){
		QP qp = new QP();
		qp.setPid(this.paper.getPid());
		qp.setQid(qid);
		qp.setScore(0);
		qpService.saveQP(qp);
    public InputStream getDownloadFile() {
        String filepath = "/homeworks/" + filename;
        return ServletActionContext.getServletContext().getResourceAsStream(filepath);
    }

    public String encodeDownloadFilename(String name, String agent) throws IOException {
        if (agent.contains("Firefox")) {
            name = "=?UTF-8?B?" + new BASE64Encoder().encode(name.getBytes("utf-8")) + "?=";
        } else {
            name = URLEncoder.encode(name, "utf-8");
        }
        return name;

    }

    // *****************************
    public String selectAll() {
        List<Homework> homeworks = homeworkService.findAllHomework();
        ActionContext.getContext().put("homeworks", homeworks);
        return "selectAll";
    }

    public String beforeUpdate() {
        Homework homework = homeworkService.findHomeworkById(this.homework.getHid());
        ActionContext.getContext().put("homework", homework);
        return "beforeUpdate";
    }

    public String update() {
        this.homeworkService.updateHomework(homework);
        return "success";
    }

    public String delete() {
        homeworkService.deleteHomework(homework);
        List<Homework> homeworks = homeworkService.findAllHomework();
        ActionContext.getContext().put("homeworks", homeworks);
        return "selectAll";
    }

    public String add() {
        homeworkService.saveHomework(homework);
        return "success";
    }

    public String beforeAdd() {
        List<Course> courses = courseService.findAllCourse();
        ActionContext.getContext().put("courses", courses);
        return "beforeAdd";
    }

    public String selectAllofMine() {

public class PaperAction extends ActionSupport implements ModelDriven<Paper>{

	private static final long serialVersionUID=1L;
	
	private Paper paper = new Paper();
	private Integer cid;
	private String type;
	private Integer qid;
	List<Integer> qids4=new ArrayList<Integer>();
	List<String> answers4=new ArrayList<String>();
	
	
	public List<Integer> getQids4() {
		return qids4;
	}
	public void setQids4(List<Integer> qids4) {
		this.qids4 = qids4;
	}
	public List<String> getAnswers4() {
		return answers4;
	}
	public void setAnswers4(List<String> answers4) {
		this.answers4 = answers4;
	}
	public Integer getCid() {
		return cid;

    public void setHomeworkService(HomeworkService homeworkService) {
        this.homeworkService = homeworkService;
    }

    public void setCourseService(CourseService courseService) {
        this.courseService = courseService;
    }

    // **********上传文件*******************
    public String upload() throws Exception {

        InputStream is = new FileInputStream(file);
        String uploadPath = ServletActionContext.getServletContext().getRealPath("/homeworks");
        File toFile = new File(uploadPath, this.getFileFileName());
        OutputStream os = new FileOutputStream(toFile);
        byte[] buffer = new byte[1024];
        int length = 0;
        while (-1 != (length = is.read(buffer, 0, buffer.length))) {
            os.write(buffer);
        }
        is.close();
        os.close();

        homework.setName(fileFileName);
        homeworkService.saveHomework(homework);

        return "upload";
    }

    // **********下载文件*******************
    public InputStream getDownloadFile() {
        String filepath = "/homeworks/" + filename;
        return ServletActionContext.getServletContext().getResourceAsStream(filepath);
    }

    public String encodeDownloadFilename(String name, String agent) throws IOException {
        if (agent.contains("Firefox")) {
            name = "=?UTF-8?B?" + new BASE64Encoder().encode(name.getBytes("utf-8")) + "?=";
        } else {
            name = URLEncoder.encode(name, "utf-8");
        }
        return name;

    }

    // *****************************
    public String selectAll() {
	
	public void setPaperService(PaperService paperService) {
		this.paperService = paperService;
	}
	public void setQuestionService(QuestionService questionService) {
		this.questionService = questionService;
	}
	public void setCourseService(CourseService courseService) {
		this.courseService = courseService;
	}
	public void setQpService(QPService qpService) {
		this.qpService = qpService;
	}
	public void setExamService(ExamService examService) {
		this.examService = examService;
	}
	public void setMyAnswerService(MyAnswerService myAnswerService) {
		this.myAnswerService = myAnswerService;
	}
	
	public String selectAll() {
		List<Paper> papers = paperService.findAllPaper();
		ActionContext.getContext().put("papers",papers);
		return "selectAll";
	}
	
	
	public String beforeUpdate(){
		Paper paper = paperService.findPaperById(this.paper.getPid());
		ActionContext.getContext().put("paper", paper);
		return "beforeUpdate";
	}
	
	public String update(){
		this.paperService.updatePaper(paper);
		return "success";
	}
	
	public String delete(){
		paperService.deletePaper(paper);
		List<Paper> papers = paperService.findAllPaper();
		ActionContext.getContext().put("papers", papers);
		return "selectAll";
	}
	
	public String add(){
		Course course = courseService.findCourseById(paper.getCourse().getCid());

public class QuestionAction extends ActionSupport implements ModelDriven<Question> {

    private static final long serialVersionUID = 1L;

    private Question question = new Question();

    private Course course= new Course();

    public Question getModel() {
        Question question = this.question;
        question.setCourse(course);

        return question;
    }

    // *****************************
    private QuestionService questionService;
    private CourseService courseService;

    public void setQuestionService(QuestionService questionService) {
        this.questionService = questionService;
    }

    public void setCourseService(CourseService courseService) {
        this.courseService = courseService;
    }

    public String selectAll() {
        List<Question> temp = questionService.findAllQuestion();
        List<Question> questions = new ArrayList<Question>();
        Iterator<Question> it = temp.iterator();
        while (it.hasNext()) {
            Question q = it.next();
            Course c = courseService.findCourseById(q.getCourse().getCid());
            q.setCourse(c);
            questions.add(q);
        }
        ActionContext.getContext().put("questions", questions);
        return "selectAll";
    }

    public String beforeUpdate() {
        Question question = questionService.findQuestionById(this.question.getQid());
        List<Course> courses = courseService.findAllCourse();
        ActionContext.getContext().put("question", question);
        ActionContext.getContext().put("courses", courses);
    public String add() {
        homeworkService.saveHomework(homework);
        return "success";
    }

    public String beforeAdd() {
        List<Course> courses = courseService.findAllCourse();
        ActionContext.getContext().put("courses", courses);
        return "beforeAdd";
    }

    public String selectAllofMine() {
        System.out.println(homework.getStudent().getSid());
        List<Homework> homeworks = homeworkService.findHomeworkBySid(homework.getStudent().getSid());
        ActionContext.getContext().put("homeworks", homeworks);
        return "selectAllofMine";
    }

}

public class StudentAction extends ActionSupport implements ModelDriven<Student>{

	private static final long serialVersionUID=1L;
	
	private String content;
	public String getContent() {
		return content;
	}

@Repository
public class AdminDaoImpl implements AdminDao {
	// 提供hibernate模板
	private HibernateTemplate hibernateTemplate;
	

	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

	public Admin findById(String aid) {
		return this.hibernateTemplate.get(Admin.class, aid);
	}

	public List<Admin> findAll() {
		return this.hibernateTemplate.find("from Admin");
	}

	public void save(Admin admin) {
		this.hibernateTemplate.save(admin);
	}

	public void update(Admin admin) {
		this.hibernateTemplate.update(admin);
	}

	public void delete(Admin admin) {
		this.hibernateTemplate.delete(admin);
	}
}
/**
 * 使用hibernate.cfg.xml
 */
    	<div style="width:1000;margin:20">
			<table class="table table-bordered table-hover">
			<thead>
    			<tr align="center">
    				<td colspan="6" class="success"><h3>添加试题信息</h3></td>
    			</tr>
    		</thead>
 	 		<tbody>
    			<tr align="center">
      				<td class="active">试题描述</td>
     				<td colspan="5"><input type="text" name="description" class="form-control"></td>
    			</tr>
    			<tr class="active" align="center">
      				<td width=100>题型</td>
      				<td id="typename" align="center" width=100>
      				
      				</td>
      				<td width=100>所属课程</td>
     				<td width=200>
      					<select name="course.cid" id="course" class="form-control">
  		  					<s:iterator value="#request.courses" var="course">
            					<option value="${course.cid}">${course.name}
          					</s:iterator>
  	    				</select>
     				</td>
     				<td width=100>难度等级</td>
      				<td width=200>    	
  						<select name="difficulty" class="form-control">
            				<option value="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            				<option value="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            				<option value="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  	    				</select>
      				</td>
    			</tr>
    			
    			<s:if test="#type=='single'||#type=='multiple'">
   				<tr align="center">
        			<td class="active">选项A</td>
        			<td colspan="5"><input type="text" name="option1" class="form-control"></td>
      			</tr>
      			<tr align="center">
        			<td class="active">选项B</td>
        			<td colspan="5"><input type="text" name="option2" class="form-control"></td>
     	 		</tr>
      			<tr align="center">
        			<td class="active">选项C</td>
    <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>
                                        <strong class="font-bold">菜单栏</strong>
                                    </span>
                                </span>
                            </a>
                        </div>
                        <div class="logo-element">
                            	菜单栏
                        </div>
                    </li>
                    <li>
                        <a class="J_menuItem" href="welcome.html">
                            <i class="fa fa-home"></i>
                            <span class="nav-label">主页</span>
                        </a>
                    </li>
                    <li>
                        <a href="#">
                            <i class="fa fa-user"></i>
                            <span class="nav-label">用户管理</span>
                            <span class="fa arrow"></span>
                        </a>
                        <ul class="nav nav-second-level">
                            <li>
                                <a class="J_menuItem" href="teacherAction_selectAll">查询所有教师</a>
                            </li>
                            <li>
                                <a class="J_menuItem" href="admin/addTeacher.jsp">添加教师</a>
                            </li>
                            <li>
                                <a class="J_menuItem" href="studentAction_selectAll">查询所有学生</a>
                            </li>
                            <li>
                                <a class="J_menuItem" href="admin/readStudent.jsp">导入学生信息</a>
                            </li>
                            <li>
                                <a class="J_menuItem" href="admin/addStudent.jsp">添加学生</a>
                            </li>
                        </ul>
                    </li>
                    <li>
                        <a href="#">

public class PaperAction extends ActionSupport implements ModelDriven<Paper>{

	private static final long serialVersionUID=1L;
	
	private Paper paper = new Paper();
	private Integer cid;
	private String type;
	private Integer qid;
	List<Integer> qids4=new ArrayList<Integer>();
	List<String> answers4=new ArrayList<String>();
	
	
	public List<Integer> getQids4() {
		return qids4;
	}
	public void setQids4(List<Integer> qids4) {
		this.qids4 = qids4;
	}
	public List<String> getAnswers4() {
		return answers4;
	}
	public void setAnswers4(List<String> answers4) {
		this.answers4 = answers4;
	}
	public Integer getCid() {
		return cid;
	}
	public void setCid(Integer cid) {
		this.cid = cid;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}

	private Course course= new Course();

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javaweb是一种以Java为基础的web开发技术,它包括了servlet、jsp等相关技术。servlet是JavaEE规范中的一种组件,它主要用于处理用户发送的HTTP请求和返回HTTP响应。servlet可以接收前端页面传来的数据,然后对数据进行处理并返回给前端页面。mysql是一种关系型数据库管理系统,它能够存储大量的数据并提供有效的数据管理和查询功能。在javaweb开发中,我们可以通过servlet来连接mysql数据库,从而实现数据的持久化存储和操作。 jsp是一种基于Java的动态网页开发技术,它可以将Java代码嵌入到HTML页面中,从而实现动态页面的生成和展示。jsp可以使用Java代码来获取数据库中的数据并将其显示在前端页面上,实现了前后端的数据交互。 service是一种用于实现业务逻辑的组件或类,它负责处理具体的业务功能。在javaweb开发中,我们可以将业务逻辑封装在service中,然后在servlet中调用相应的service方法,实现对数据的处理和操作。 考试中无框架要求表示不可以使用现成的框架或库来完成开发任务,需要手动编写相关代码。在考试中,可以考察学生对javaweb技术的理解和应用能力,要求学生能够熟练地使用servlet、jsp等相关技术,并能够编写出符合需求的代码。此外,对于数据库操作,学生还需要了解mysql的基本操作和相关的jdbc编程技巧。 总而言之,javaweb servlet mysql jsp service的考试是考察学生对javaweb开发技术的掌握程度和应用能力的一种考试形式,学生需要熟练地使用这些技术,并能够灵活运用到实际的开发场景中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值