Introduction:
In today’s information society, the rapid development of computer science, most schools began to pay attention to the development of office efficiency is very critical, play a pivotal role in school management. Information service based on Internet has become an indispensable content measure in modern schools. Many campuses have become dissatisfied with the slow growth of business office management. College demand is a powerful, can provide perfect management, management information system speed. Society continues to move forward, especially the most popular computer, computer application has begun to the sustainable development of the large capacity data storage and processing and the computer as the core, using database as environmental management information system modernization, transaction management aspect with large capacity and the comprehensive application of all kinds of information dynamic management etc. The establishment of school student management system can standardize and rationalize the management of student information by school staff. It can effectively and quickly record a large number of students’ information, and can use a simple method to quickly find the course information they need, and can issue a series of functions such as notice, realizing the shift from the traditional manual to office information automation. Therefore, with Java related development tools, carefully constructed a student information management platform, to achieve a simple management system. This system can realize the management of students, course management, result management, course selection and application situation management, system user management; Can realize student newspaper’s inquiry, the selected course grades of query, modify personal information query, and other functions, the completion of student information management system for school management researchers and students to provide a lot of convenience, can better improve the quality of teaching, the scientific nature and rationality has a pivotal role on the development of the school.
Video presentationStudent Information Management system mp4
Screenshots of main functions:
The user logs in, enters the account password for authentication and determines the user role, and has different menu permissions for different roles
Home introduction: can be defined as their own like
Data display: Echarts simulation tree and line graph and distribution map, etc., can dynamically obtain data from the background.
Learning organization structure: list can be folded, add, modify, delete, query function is complete.
User management: View, add, modify, etc User role management: User role binding, role binding menu permission display, flexible control Menu management: Control permissions to button level. The selection menu type is directory, menu, or button.
SQL Monitoring: Ali’s SQL monitoring API
Log query: AOP cut logging, bind to the Controller layer and add annotations.
Student and teacher management: data entry, add, modify, delete, query, etc
Add teacher information:
Student management: data entry, add, modify, delete, query, etc
Add student information:
Class management: add, modify, delete, query, etc
Course management: add, modify, delete, query, etc
Add and modify course information:
Student course selection: Student users can select courses
Course grades: Teachers grade students who have chosen courses.
View my course grade information:
School notice announcement information: add, modify, delete, query, etc., use rich text for data upload and display
School News Management:
Upload and download of books:
Attachment Viewing preview download:
Change password:
Main code display:
User Login Authentication
/** * Login related **@author lyy
*/
@RestController
public class SysLoginController extends AbstractController {
@Autowired
private SysUserService sysUserService;
@Autowired
private SysUserTokenService sysUserTokenService;
@Autowired
private SysCaptchaService sysCaptchaService;
/** * Verification code */
@GetMapping("captcha.jpg")
public void captcha(HttpServletResponse response, String uuid)throws IOException {
response.setHeader("Cache-Control"."no-store, no-cache");
response.setContentType("image/jpeg");
// Get the image verification code
BufferedImage image = sysCaptchaService.getCaptcha(uuid);
ServletOutputStream out = response.getOutputStream();
ImageIO.write(image, "jpg", out);
IOUtils.closeQuietly(out);
}
/** * login */
@PostMapping("/sys/login")
public Map<String, Object> login(@RequestBody SysLoginForm form)throws IOException {
boolean captcha = sysCaptchaService.validate(form.getUuid(), form.getCaptcha());
// if(!captcha){
// return r.ror (" Verification code is not correct ");
/ /}
// User information
SysUserEntity user = sysUserService.queryByUserName(form.getUsername());
// The account does not exist or the password is incorrect
if(user == null| |! user.getPassword().equals(new Sha256Hash(form.getPassword(), user.getSalt()).toHex())) {
return R.error("Incorrect account number or password");
}
// The account is locked
if(user.getStatus() == 0) {return R.error("Account has been locked. Please contact your administrator.");
}
// Generate tokens and save them to the database
R r = sysUserTokenService.createToken(user.getUserId());
return r;
}
/** * exit */
@PostMapping("/sys/logout")
public R logout(a) {
sysUserTokenService.logout(getUserId());
returnR.ok(); } `Copy the code
Front-end VUE+ Element form:
<h3 class="login-title">Student information management login</h3>
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" status-icon>
<el-form-item prop="userName">
<el-input v-model="dataForm.userName" placeholder="Account"></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input v-model="dataForm.password" type="password" placeholder="Password"></el-input>
</el-form-item>
<el-form-item prop="captcha">
<el-row :gutter="20">
<el-col :span="14">
<el-input v-model="dataForm.captcha" placeholder="Verification code">
</el-input>
</el-col>
<el-col :span="10" class="login-captcha">
<img :src="captchaPath" @click="getCaptcha()" alt="">
</el-col>
</el-row>
</el-form-item>
<el-form-item>
<el-button class="login-btn-submit" type="danger" @click="dataFormSubmit()">The login</el-button>
</el-form-item>
</el-form>
Copy the code
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) = > {
if (valid) {
this.$http({
url: this.$http.adornUrl('/sys/login'),
method: 'post'.data: this.$http.adornData({
'username': this.dataForm.userName,
'password': this.dataForm.password,
'uuid': this.dataForm.uuid,
'captcha': this.dataForm.captcha
})
}).then(({data}) = > {
if (data && data.code === 0) {
this.$cookie.set('token', data.token)
this.$router.replace({ name: 'home'})}else {
this.getCaptcha()
this.$message.error(data.msg)
}
})
}
})
},
Copy the code
Permission control:
@Bean("shiroFilter")
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
shiroFilter.setSecurityManager(securityManager);
/ / request filtering
Map<String, Filter> filters = new HashMap<>();
filters.put("oauth2".new OAuth2Filter());
shiroFilter.setFilters(filters);
Map<String, String> filterMap = new LinkedHashMap<>();
filterMap.put("/webjars/**"."anon");
filterMap.put("/druid/**"."anon");
filterMap.put("/app/**"."anon");
filterMap.put("/sys/login"."anon");
filterMap.put("/swagger/**"."anon");
filterMap.put("/v2/api-docs"."anon");
filterMap.put("/swagger-ui.html"."anon");
filterMap.put("/swagger-resources/**"."anon");
filterMap.put("/captcha.jpg"."anon");
filterMap.put("/aaa.txt"."anon");
filterMap.put("/virtuel/**"."anon");
filterMap.put("/ * *"."oauth2");
shiroFilter.setFilterChainDefinitionMap(filterMap);
return shiroFilter;
}
Copy the code
Database connection configuration:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql: / /localhost: 3306 /renren_students?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 123456
initial-size: 10
max-active: 100
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000#validation-query: SELECT1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
stat-view-servlet:
enabled: true
url-pattern: /druid/* #login-username: admin #login-password: admin filter: stat: log-slow-sql: true slow-sql-millis: 1000 merge-sql: false wall: config: multi-statement-allow: trueCopy the code
Database table structure document:
** database name: **renren_students
** Issue: **V1.0.0
** Database table design description
Table cla
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | int | 10 | 0 | N | Y | ||
2 | name | varchar | 255 | 0 | Y | N | ||
3 | class_num | varchar | 255 | 0 | Y | N | ||
4 | user_nums | varchar | 255 | 0 | Y | N |
Table course
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | int | 10 | 0 | N | Y | ||
2 | name | varchar | 255 | 0 | Y | N | ||
3 | teacher_num | varchar | 255 | 0 | Y | N | ||
4 | sk_time | datetime | 19 | 0 | Y | N | ||
5 | sk_place | varchar | 255 | 0 | Y | N | ||
6 | weeks_number | varchar | 255 | 0 | Y | N | ||
7 | kc_type | varchar | 255 | 0 | Y | N | ||
8 | faculty | varchar | 255 | 0 | Y | N | ||
9 | score | varchar | 255 | 0 | Y | N | ||
10 | bz | varchar | 255 | 0 | Y | N |
Table dj_news
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | int | 10 | 0 | N | Y | ||
2 | title | varchar | 255 | 0 | Y | N | The title | |
3 | ty | varchar | 255 | 0 | Y | N | type | |
4 | create_time | datetime | 19 | 0 | Y | N | Release time | |
5 | unit | varchar | 255 | 0 | Y | N | Release the unit | |
6 | num | varchar | 255 | 0 | Y | N | Release number | |
7 | content | mediumtext | 16777215 | 0 | Y | N | The main content | |
8 | create_by | varchar | 255 | 0 | Y | N | Release people | |
9 | bz | varchar | 255 | 0 | Y | N | Note information | |
10 | kind | varchar | 255 | 0 | Y | N | Type (Important news of Party Construction and Style of organization) |
Watch the file
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | int | 10 | 0 | N | Y | ||
2 | path | varchar | 255 | 0 | Y | N | ||
3 | file_name | varchar | 255 | 0 | Y | N | ||
4 | file_type | varchar | 255 | 0 | Y | N | ||
5 | classify | varchar | 255 | 0 | Y | N | ||
6 | create_time | datetime | 19 | 0 | Y | N | ||
7 | create_by | varchar | 255 | 0 | Y | N |
Table inform
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | int | 10 | 0 | N | Y | ||
2 | title | varchar | 255 | 0 | Y | N | ||
3 | content | text | 65535 | 0 | Y | N | ||
4 | create_time | timestamp | 19 | 0 | Y | N | CURRENT_TIMESTAMP | |
5 | create_by | varchar | 255 | 0 | Y | N | ||
6 | bz | varchar | 255 | 0 | Y | N |
Table my_course
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | int | 10 | 0 | N | Y | ||
2 | name | varchar | 255 | 0 | Y | N | ||
3 | teacher_num | varchar | 255 | 0 | Y | N | ||
4 | sk_time | datetime | 19 | 0 | Y | N | ||
5 | sk_place | varchar | 255 | 0 | Y | N | ||
6 | weeks_number | varchar | 255 | 0 | Y | N | ||
7 | kc_type | varchar | 255 | 0 | Y | N | ||
8 | faculty | varchar | 255 | 0 | Y | N | ||
9 | score | varchar | 255 | 0 | Y | N | ||
10 | bz | varchar | 255 | 0 | Y | N | ||
11 | user_id | int | 10 | 0 | Y | N | ||
12 | user_name | varchar | 255 | 0 | Y | N | ||
13 | user_score | varchar | 255 | 0 | Y | N |
Table student
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | int | 10 | 0 | N | Y | ||
2 | name | varchar | 255 | 0 | Y | N | ||
3 | sex | varchar | 255 | 0 | Y | N | ||
4 | birth_date | datetime | 19 | 0 | Y | N | ||
5 | ruxue_date | datetime | 19 | 0 | Y | N | ||
6 | college | varchar | 255 | 0 | Y | N | ||
7 | bz | varchar | 255 | 0 | Y | N | ||
8 | cla_name | varchar | 255 | 0 | Y | N |
Table SYS_CAPTCHA (System verification code)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | uuid | char | 36 | 0 | N | Y | uuid | |
2 | code | varchar | 6 | 0 | N | N | Verification code | |
3 | expire_time | datetime | 19 | 0 | Y | N | Expiration time |
Table SYS_config (System configuration information table)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 0 | N | Y | ||
2 | param_key | varchar | 50 | 0 | Y | N | key | |
3 | param_value | varchar | 2000 | 0 | Y | N | value | |
4 | status | tinyint | 4 | 0 | Y | N | 1 | Status 0: Hidden 1: displayed |
5 | remark | varchar | 500 | 0 | Y | N | note |
Table SYS_DEPT
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | dept_id | bigint | 20 | 0 | N | Y | ||
2 | parent_id | bigint | 20 | 0 | Y | N | ID of the upper department. The value of the primary department is 0 | |
3 | name | varchar | 50 | 0 | Y | N | Department name | |
4 | order_num | int | 10 | 0 | Y | N | The sorting | |
5 | del_flag | tinyint | 4 | 0 | Y | N | 0 | Delete or not -1: deleted. 0: Normal |
6 | remark | varchar | 255 | 0 | Y | N |
Table SYS_log
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 0 | N | Y | ||
2 | username | varchar | 50 | 0 | Y | N | The user name | |
3 | operation | varchar | 50 | 0 | Y | N | The user action | |
4 | method | varchar | 200 | 0 | Y | N | Request method | |
5 | params | varchar | 5000 | 0 | Y | N | Request parameters | |
6 | time | bigint | 20 | 0 | N | N | Execution time (ms) | |
7 | ip | varchar | 64 | 0 | Y | N | The IP address | |
8 | create_date | datetime | 19 | 0 | Y | N | Creation time |
Table SYS_menu (Menu Management)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | menu_id | bigint | 20 | 0 | N | Y | ||
2 | parent_id | bigint | 20 | 0 | Y | N | ID of the parent menu. The first-level menu is 0 | |
3 | name | varchar | 50 | 0 | Y | N | The name of the menu | |
4 | url | varchar | 200 | 0 | Y | N | Menu URL | |
5 | perms | varchar | 500 | 0 | Y | N | Authorization (multiple users are separated by commas, for example,user: list,user:create) | |
6 | type | int | 10 | 0 | Y | N | Type 0: directory 1: menu 2: button | |
7 | icon | varchar | 50 | 0 | Y | N | The menu icon | |
8 | order_num | int | 10 | 0 | Y | N | The sorting |
Table SYS_OSS (file upload)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 0 | N | Y | ||
2 | url | varchar | 200 | 0 | Y | N | The URL address | |
3 | create_date | datetime | 19 | 0 | Y | N | Creation time |
Table SYS_role
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | role_id | bigint | 20 | 0 | N | Y | ||
2 | role_name | varchar | 100 | 0 | Y | N | Character name | |
3 | remark | varchar | 100 | 0 | Y | N | note | |
4 | create_user_id | bigint | 20 | 0 | Y | N | Creator ID | |
5 | create_time | datetime | 19 | 0 | Y | N | Creation time | |
6 | dept_id | int | 10 | 0 | Y | N |
Table SYS_ROLE_DEPT (Role and department mapping)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 0 | N | Y | ||
2 | role_id | bigint | 20 | 0 | Y | N | Character ID | |
3 | dept_id | bigint | 20 | 0 | Y | N | Department ID |
Table SYS_ROLE_MENU (Role and menu mapping)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 0 | N | Y | ||
2 | role_id | bigint | 20 | 0 | Y | N | Character ID | |
3 | menu_id | bigint | 20 | 0 | Y | N | Menu ids |
Table SYS_user (system user)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | user_id | bigint | 20 | 0 | N | Y | ||
2 | username | varchar | 50 | 0 | N | N | The user name | |
3 | password | varchar | 100 | 0 | Y | N | password | |
4 | salt | varchar | 20 | 0 | Y | N | salt | |
5 | varchar | 100 | 0 | Y | N | |||
6 | mobile | varchar | 100 | 0 | Y | N | Mobile phone no. | |
7 | status | tinyint | 4 | 0 | Y | N | Status 0: Disabled 1: Normal | |
8 | create_user_id | bigint | 20 | 0 | Y | N | Creator ID | |
9 | create_time | datetime | 19 | 0 | Y | N | Creation time | |
10 | dept_id | int | 10 | 0 | Y | N | ||
11 | stage | varchar | 255 | 0 | Y | N | ||
12 | parent_name | varchar | 255 | 0 | Y | N | Department name |
Table SYS_user_role (User and role mapping)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 0 | N | Y | ||
2 | user_id | bigint | 20 | 0 | Y | N | The user ID | |
3 | role_id | bigint | 20 | 0 | Y | N | Character ID |
Table SYS_user_token (System user Token)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | user_id | bigint | 20 | 0 | N | Y | ||
2 | token | varchar | 100 | 0 | N | N | token | |
3 | expire_time | datetime | 19 | 0 | Y | N | Expiration time | |
4 | update_time | datetime | 19 | 0 | Y | N | Update time |
Table tb_user (user)
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | user_id | bigint | 20 | 0 | N | Y | ||
2 | username | varchar | 50 | 0 | N | N | The user name | |
3 | mobile | varchar | 20 | 0 | N | N | Mobile phone no. | |
4 | password | varchar | 64 | 0 | Y | N | password | |
5 | create_time | datetime | 19 | 0 | Y | N | Creation time |
Watch the teacher
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | user_id | bigint | 20 | 0 | N | Y | ||
2 | username | varchar | 50 | 0 | N | N | The user name | |
3 | mobile | varchar | 20 | 0 | N | N | Mobile phone no. | |
4 | password | varchar | 64 | 0 | Y | N | password | |
5 | create_time | datetime | 19 | 0 | Y | N | Creation time |
Watch the teacher
Serial number | The name of the | The data type | The length of the | Decimal places | Allows null values | A primary key | The default value | instructions |
---|---|---|---|---|---|---|---|---|
1 | id | int | 10 | 0 | N | Y | ||
2 | name | varchar | 255 | 0 | Y | N | ||
3 | sex | varchar | 255 | 0 | Y | N | ||
4 | birthdate | datetime | 19 | 0 | Y | N | Date of birth | |
5 | education | varchar | 255 | 0 | Y | N | Record of formal schooling | |
6 | position | varchar | 255 | 0 | Y | N | ||
7 | ruzhi_date | datetime | 19 | 0 | Y | N | ||
8 | college | varchar | 255 | 0 | Y | N | ||
9 | bz | varchar | 255 | 0 | Y | N |
Summary of course Design:
Through the recent mastery and learning of Java object-oriented programming, front-end knowledge and Java framework, as well as the development of this period of education and teaching system, I have learned more about the importance of Java learning. In the development of this system, I not only carried out many tests, but also tested the function of the system. In the implementation process of the paper, I put a lot of efforts into the realization of Java proficiency, and then I felt very happy to apply related technologies. In the process, I discovered that Java has an enormous amount of functionality to explore. Java is encapsulation, abstraction, polymorphism, and inheritance. The code can be reused and expanded to greatly improve the overall speed and efficiency of software development. As a student of educational technology, learning Java language well is of great significance to my future employment or the expansion of my knowledge. The main purpose of my study of programming is to improve my key skills and techniques in programming solutions to practical problems. Java object-oriented programming is a practical relatively very strong language, Springboot, SpringMVC framework MVC three-tier architecture pattern, and framework encountered in the design pattern of data access and logic operations are concentrated in the components, enhance the system’s reuse and expansibility. The expansibility of the system is greatly enhanced. As well as the front-end VUE, Element and jQuery styles, I have mastered the layout, style adjustment and font of web pages to achieve more accurate webpage effects.
In the process of implementing the system, I realized that now more and more attention is paid to personal privacy security, student management system should have verification code security mechanism and printing function. Although in the implementation of this system, I did not have time to explore these functions, but the management system will add security verification mechanism later.
The project is only suitable for curriculum design or graduation design reference study use, there are many not rigorous place ha
Everyone likes, likes, likes, comments, clocked the post updated 110/365 days