Design and implementation of online course selection system based on Java (source code + lw + deployment documents + explanation, etc.)

Blogger Introduction: ?300,000+ fans across the entire network, csdn guest author, blog expert, CSDN Rising Star Program mentor, high-quality creator in the Java field, Blog Star, Nuggets / Huawei Cloud / Alibaba Cloud / InfoQ and other platforms are high-quality authors, focusing on the field of Java technology and practical graduation projects?

Contact for source code at the end of the article

Recommended subscription for wonderful columns Otherwise, you won’t find it next time

The most comprehensive collection of computer software graduation project topics for 2022-2024: 1,000 popular topic recommendations?

Java project quality practical cases “100 sets”

Java WeChat Mini Program Project Practical “100 Sets”

If you are interested, you can save it first. If you have questions about graduation topics, projects, thesis writing and other related questions, you can leave me a message for consultation. I hope to help more people

?

System introduction:

In today’s society, regarding the processing of information, no company or individual will ignore how to quickly transmit information, archive, store and query. The previous paper recording model no longer meets the current usage requirements. Therefore, to improve the management of student course selection information and to better maintain student course selection information, the emergence of online course selection systems has become indispensable. Through the development of the online course selection system, you can not only apply what you have learned and turn the learned knowledge into results, but also strengthen your knowledge memory and expand your knowledge reserve, which is a good way to improve yourself. Through specific development, I have a deep understanding of the entire software development process, whether it is early design or subsequent coding testing.

The online course selection system is developed through MySQL database and Eclipse tools. The online course selection system can realize course management, course collection management, course message management, announcement management, class teacher management, course selection management, student management and other functions.

Through the processing of relevant information through the online course selection system, information processing becomes more systematic and standardized, which is an inevitable result. The processed information, whether used for search or analysis, will be doubled in efficiency, making the computer more in line with production needs and becoming an indispensable information processing tool for people, realizing green office. Save social resources and make our best contribution to environmental protection.

Key wordsWords:Online course selection system, courses, course selections

This system is mainly based on data addition, modification, deletion and other operations. Users can enter the designated operation area through the login function set in advance, where the functions designed by the user are structurally displayed.

The drawing result of the administrator functional structure diagram is shown in Figure 4-1. The administrator’s functions when logging into this system include managing class teachers, managing students, managing course messages, managing course selections, and managing basic data. The basic data includes class management, announcement type management, course type management, department management, and other information.

Figure 4-1 Administrator function structure diagram

The drawing result of the class teacher’s functional structure diagram is shown in Figure 4-2. The functions that the class teacher can use when logging into this system include viewing announcements, managing courses, replying to course messages, viewing course selection information, adding grades to course selections, etc.

Figure 4-2 Functional structure diagram of the head teacher

The drawing results of the student functional structure diagram are shown in Figure 4-3. The functions for students to log in to this system include selecting courses, querying courses, leaving messages on courses, and viewing course results.

When the program is handed over to the user for use, the operation flow chart of the program needs to be provided, so that the user can easily understand the specific working steps of the program. Nowadays, the operation process of the program has a general standard, that is, first submit the login data through the login page, After the program is verified correctly, the user can operate the corresponding function on the program function operation area page.

?

Program operation flow chart

Function screenshot:

5.1 Administrator function implementation

5.1.1 Class teacher management

After the administrator enters the class teacher management interface as shown in Figure 5-1, the administrator clicks the modify, delete, and reset password buttons on the far right side of the information display column to complete the modification, deletion, and password reset of the class teacher information in sequence. , the administrator can also query the class teacher information, add class teacher information, etc. in the current interface.

Figure 5-1 Class teacher management interface

5.1.2 Student Management

After the administrator enters the student management interface as shown in Figure 5-2, the administrator clicks the Modify and Delete buttons on the far right side of the information display column to complete the modification, deletion and other operations of student information in sequence. The administrator can also perform operations on the current interface. Add students and query students.

Figure 5-2 Student management interface

5.1.3 Department Management

After the administrator enters the department management interface as shown in Figure 5-3, the administrator can view department information, query, change, delete, etc.

Figure 5-3 Department management interface

5.1.4 Course Management

After the administrator enters the course management interface as shown in Figure 5-4, the administrator clicks the Modify and Delete buttons on the far right side of the information display column to complete the modification and deletion of course information in sequence. The administrator can also query on this interface. Course information, add course information, etc.

Figure 5-4 Course management interface

5.2 Class teacher function implementation

5.2.1 Course Message Management

After the class teacher enters the course message management interface as shown in Figure 5-5, the class teacher clicks the View and Reply buttons on the far right side of the information display bar to view and reply to the course message information in sequence.

Figure 5-5 Course message management interface

5.2.2 Course Selection Management

After the class teacher enters the course selection management interface as shown in Figure 5-6, the class teacher clicks the View and Add Score buttons on the right side of the information display bar to view the course selection information online and add scores to the selected courses.

Figure 5-6 Course selection management interface

5.2.3 Announcement View

After the head teacher enters the announcement viewing interface as shown in Figure 5-7, the head teacher queries the announcement and views the content of the announcement.

Figure 5-7 Announcement viewing interface

5.3 Student function implementation

5.3.1 Course Information

After students enter the course information interface as shown in Figure 5-8, students can view the course information recommended by the system displayed in the right area of the course information interface. They can click the Select This Course button to select courses, and they can post in the message area below the course information interface. message.

Figure 5-8 Course information interface

5.3.2 Announcement Information

After students enter the announcement information interface as shown in Figure 5-9, students can view the announcements published by the administrator, including the announcement title and content.

Figure 5-9 Announcement information interface

5.3.3 Course Selection

After students enter the course selection interface as shown in Figure 5-10, the courses the students have selected will be displayed on the course selection interface, and students can check the results of the selected courses.

Figure 5-10 Course selection interface

Code implementation:

/**
 * Login related
 */
@RequestMapping("users")
@RestController
public class UserController{
    
    @Autowired
    private UserService userService;
    
    @Autowired
    private TokenService tokenService;

    /**
     * Log in
     */
    @IgnoreAuth
    @PostMapping(value = "/login")
    public R login(String username, String password, String role, HttpServletRequest request) {
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user != null){
            if(!user.getRole().equals(role)){
                return R.error("Permissions are abnormal");
            }
            if(user==null || !user.getPassword().equals(password)) {
                return R.error("Account or password is incorrect");
            }
            String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
            return R.ok().put("token", token);
        }else{
            return R.error("Account or password or permissions are incorrect");
        }

    }
    
    /**
     * register
     */
    @IgnoreAuth
    @PostMapping(value = "/register")
    public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
            return R.error("User already exists");
        }
        userService.insert(user);
        return R.ok();
    }

    /**
     * quit
     */
    @GetMapping(value = "logout")
    public R logout(HttpServletRequest request) {
        request.getSession().invalidate();
        return R.ok("Exit successfully");
    }
    
    /**
     * reset Password
     */
    @IgnoreAuth
    @RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user==null) {
            return R.error("Account does not exist");
        }
        user.setPassword("123456");
        userService.update(user,null);
        return R.ok("Password has been reset to: 123456");
    }
    
    /**
     * list
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
        PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

    /**
     * information
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * Get the user's session user information
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
        Integer id = (Integer)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * save
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
            return R.error("User already exists");
        }
        userService.insert(user);
        return R.ok();
    }

    /**
     * Revise
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
        userService.updateById(user);//Update all
        return R.ok();
    }

    /**
     * delete
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

Paper reference:

Source code acquisition:

Everyone like, collect, follow, comment, viewget contact information

Recommended subscription for wonderful columns: In the column below

The most comprehensive collection of computer software graduation project topics for 2022-2024: 1,000 popular topic recommendations?

Java project quality practical cases “100 sets”

Java WeChat Mini Program Project Practical “100 Sets”

The knowledge points of the article match the official knowledge files, and you can further learn related knowledge. Java Skill TreeHomepageOverview 137745 people are learning the system