Java编写的数据结构在线考试系统 完整源码 附带详细的设计报告

今天为大家分享一个java语言编写的在数据结构在线考试系统,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步

开发环境

开发语言为Java,开发环境Eclipse或者IDEA都可以。数据库采用:MySQL。

本项目是基于MVC的JSP技术进行的Web应用程序开发,其中

  • JSP技术为表示层,包括EL表达式、JSP动作、JSTL标准标签技术

  • Servlet为控制层技术

  • JavaBean为开发模型层

  • 采用MVC设计模式对各个模块进行开发

  • 数据库采用mysql数据库

  • 采用Tomcat作为Web服务器

  • 火狐浏览器,360浏览器,Chrome浏览器,IE浏览器做为本次程序的运行浏览器

系统主要功能

项目开发背景

在线考试成为未来的发展趋势所在,结合自己大学期间所学的知识,和大学的实际。选择开发一个数据结构在线考试系统,通过这个在线考试系统,老师可以了解学生对数据结构这门课程的掌握程度,同学们通过系统可以更加好的掌握数据结构方面的知识,增强学生和老师之前的互动,更好的促进数据结构课程的建设

主要功能

JSP+JAVABEAN+SERVLET的开发模式,Servlet负责处理用户的请求,JavaBean从数据库获取相关的数据,JSP动态显示从Servlet返回的数据,遵循MVC的开发模式。本系统分管理员类用户和学生用户。不同的用户类型所能实现的功能不同。管理员类用户可以对已经注册的学生信息进行修改、删除,对于未注册过的学生可以进行添加操作。管理员可以添加考试科目、添加试题、修改试题、删除试题,也可以对成绩进行管理,发布学校新闻以及重要公告。学生类用户可以对自己的信息进行维护,可以在线练习、在线考试以及查询自己的成绩。

性能要求

(1)能够支撑超过100个用户同时访问,用户的每次操作都能在1s内返回结果。

(2)在人性化方面,系统会在响应成功或者失败的时候有明显的提示。

(3)频繁的连接和释放数据库,数据库是系统应用程序的一个瓶颈。考虑采用数据库连接池,减少数据库的压力。

(4)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。

(5)具有易维护性和易操作性。

(6)跨平台性:系统能够在Window,Linux,Unix等操作系统中运行。操作系统发生变化后,程序不需要修改就能正常运行。

(7)可恢复性:系统发生故障后,能在比较短的时间内恢复到正常状态,不会引起用户投诉。

系统架构

模块设计

实现效果

1 用户注册

2 主界面

3 在线练习

3 学员查看考试成绩

4 管理员后台管理

5 题库管理

关键代码

package com.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DB
{
    private Connection con;

    private PreparedStatement pstm;

    private String user = "root";

    private String password = "root";

    private String className = "com.mysql.jdbc.Driver";
    

    private String url = "jdbc:mysql://localhost:3306/structureexam?useUnicode=true&characterEncoding=utf8";
    
    public DB()
    {
        try
        {
            Class.forName(className);
        } catch (ClassNotFoundException e)
        {
            System.out.println("");
            e.printStackTrace();
        }
    }

    /** 获取连接*/
    public Connection getCon()
    {
        try
        {
            con = DriverManager.getConnection(url, user, password);
        } catch (SQLException e)
        {
            System.out.println("SQLException e");
            con = null;
            e.printStackTrace();
        }
        return con;
    }

    public void doPstm(String sql, Object[] params)
    {
        if (sql != null && !sql.equals(""))
        {
            if (params == null)
                params = new Object[0];

            getCon();
            if (con != null)
            {
                try
                {
                    System.out.println(sql);
                    pstm = con.prepareStatement(sql,
                            ResultSet.TYPE_SCROLL_INSENSITIVE,
                            ResultSet.CONCUR_READ_ONLY);
                    for (int i = 0; i < params.length; i++)
                    {
                        pstm.setObject(i + 1, params[i]);
                    }
                    pstm.execute();
                } catch (SQLException e)
                {
                    System.out.println("doPstm()Exception");
                    e.printStackTrace();
                }
            }
        }
    }

    public ResultSet getRs() throws SQLException
    {
        return pstm.getResultSet();
    }

    public int getCount() throws SQLException
    {
        return pstm.getUpdateCount();
    }

    public void closed()
    {
        try
        {
            if (pstm != null)
                pstm.close();
        } catch (SQLException e)
        {
            System.out.println("closed Exception1");
            e.printStackTrace();
        }
        try
        {
            if (con != null)
            {
                con.close();
            }
        } catch (SQLException e)
        {
            System.out.println("closed Exception1");
            e.printStackTrace();
        }
    }
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值