Main function design: user management, role management, subject management, examinee management, test questions, exams, paper management, result statistics, and student side examination and results

Source code to obtain: Q810569458

Main technologies: Java, SpringMVC, Mybatis, mysql, Tomcat, jquery, JavaScript, HTML, CSS, JSP, log4j and other common basic technologies.

Taking Internet as the platform, this paper studies the design and development of examination system based on Web, including system demand analysis, system function design and database design. It focuses on the design of user registration module, user login module, online examination module, question bank management module, examination paper management module, student management module, answer management module and result management module.

User login as well as registration and click to jump to administrator background login design

User registration:

Main functions of student login:

The main functions can realize my examination view, have the examination can click into the examination, you can view the examination, click into the examination paper review and other functions, modify the password and view the modification of personal information, see the figure below

Student Answer module

Administrator background main function design: user management, role management, subject management, examinee management, test questions management, test management, test paper management, score statistics, etc

 

datasource.connection.driver_class=com.mysql.jdbc.Driver datasource.connection.url=jdbc:mysql://localhost:3306/db_online_exam? useUnicode=true&characterEncoding=utf-8 datasource.connection.username=root datasource.connection.password=123456 The minimum number of connections maintained by the pool,default: 3 (recommended) a datasource. Connection. MinPoolSize = 3 # in the pool with the maximum number of connections, if get a new connection when the connection more than the total value is not to get a new connection, but wait for the other connection release, So this value may be design is very big, default: 15 (recommended) a datasource. Connection. MaxPoolSize = 15 # connect the biggest free time, if more than this time, a database connection has not been used, will break out this connection. If it is 0, the connection is never disconnected, that is, the connection is reclaimed. Default: 0 unit s (recommended) a datasource. The connection. The maxIdleTime = 0 # connection pool in no free connection available one-time to create a new database connection number, when the default: 3 (recommended) a datasource. Connection. AcquireIncrement = 3 # the total number of connection pool for data cache PreparedStatement. Since PreparedStatements are a single Connection, this number should be calculated by multiplying the average number of connections in your application by the average PreparedStatements per Connection. At the same time maxStatementsPerConnection configuration is invalid. default : 0 (not recommended) a datasource. The connection. MaxStatements = 0 # connection pool for a single data source connection cache PreparedStatement number, this configuration is more meaningful than maxStatements, Because the service object it caches is a single data connection, it can certainly improve performance if set up well. Zero is not cached. Default: 0 (see cases) datasource. Connection. The initialization maxStatementsPerConnection = 0 # connection pool is created when the number of connections, the default: 3 (recommended) a datasource. Connection. InitialPoolSize = 3 # used to configure test free connection interval. The test method is one of the two above and can be used to resolve mysql8-hour disconnection. Because it guarantees that connection pooling will test idle connections at regular intervals, thus ensuring that valid idle connections can access the database at regular intervals, breaking the session-free state at MySQL8 hours. 0 does not test. Default: 0 (recommended) a datasource. Connection. The idleConnectionTestPeriod = 0 # connection pool to obtain the number of new connection fails retry, if less than or equal to 0, infinite retry until the connection to succeed. Default: 30 (recommended) a datasource. Connection. AcquireRetryAttempts = 30 # if it is true, then shut down automatically when link for failure data source, unless the restart the application. So usually not. Default: false (not recommended) a datasource. Connection. BreakAfterAcquireFailure = false # performance overhead. If true, it will be tested every time getConnection is used, and should not be used to improve performance. Default: false (not recommended) a datasource. Connection. TestConnectionOnCheckout = false # configuration when the connection pool all connection with the application of getConnection waiting time. If it is 0, wait indefinitely until another connection is released or a new connection is created. If it is not 0, a SQLException is thrown if no connection has been obtained when the time is up. This is actually the acquireRetryAttempts*acquireRetryDelay. Default: 0 (with the above two, have repeated, choose two of them will do) the datasource. Connection. CheckoutTimeout = 30000 # if it is true, then the validity of the test when the close connection. default : False (not recommended) a datasource. Connection. TestConnectionOnCheckin = false # configure a table name, The connection pool uses its own test SQL statement to test the database connection against the empty table, which can only be used by C3P0 and cannot be operated by users. Default: null (not recommended) a datasource. Connection. AutomaticTestTable = # c3p0TestTable connection pool to obtain new connection interval. Default: 1000 units (recommended) a datasource. Ms connection. AcquireRetryDelay = 1000 # 0 for all of the connection must be closed in the application. If it is not 0, the Connection is forced to be reclaimed after the set time arrives, so care must be taken to ensure that all database operations are completed before the reclaim. This restriction does not apply very well in cases where Connection is not closed. You are advised to manually disable the switch. default : 0 unit s (not recommended) a datasource. The connection. The unreturnedConnectionTimeout = 0 # this configuration is mainly in order to reduce the load connection pool quickly, such as the number of connections in the pool for a data access is rush to create a lot of data connection, However, the number of database connections in the later period is small and needs to be released quickly, which must be smaller than maxIdleTime. There is no need to configure this. MaxIdleTime is already configured. Default: 0 unit s (not recommended) a datasource. The connection. The survival time of maxIdleTimeExcessConnections = 0 # configuration, more than the time the connection will automatically disconnect dropped by the connection pool. Of course the connection in use will not be disconnected immediately, but will wait for it to close and then be disconnected. If the value is set to 0, the lifetime of the connection is not limited. Default: 0 unit s (not recommended) a datasource. The connection. The maxConnectionAge = 0Copy the code

Role menu editing permission

Discipline management and addition:

Examinee management, each module has corresponding CRUD operation…

Test question management: you can CRUD test questions and import test questions from templates

Examination paper management: design examination paper, time verification and subject selection, etc

Check students’ answers and scores

Finally, I made a simple diagram

Relevant system design and implementation recommendations:

Based on Java Springboot + Mybatis film ticket website management system front + background design and implementation

Design and implementation of winery internal management system based on Java SSM Springboot + Mybatis

Design and implementation of intelligent life sharing platform based on JAVA Springboot + Mybatis

>>>

Ok, that’s enough for today, friends, like, favorites, comments, one button three go! See you next time ~~