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 email varchar 100 0 Y N email
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