Get the source code at the end
Development language: Java
Java development tools: JDK1.8
Backend framework: SSM
Frontend: Vue
Database: MySQL5.7 combined with Navicat management tool
Server: Tomcat8.5
Development software: IDEA/Eclipse
Is it a Maven project: Yes
Table of Contents
1. Project Introduction
2. System functions
3. System project screenshots
Implementation of the administrator module
Student information management
Class information management
Exam paper information management
Implementation of enterprise unit module
Take the test
Exam record management
Wrong question book
4. Core code
Login related
File Upload
encapsulation
1. Project Introduction
With the rapid development of information Internet shopping, most companies are creating their own management systems. This article introduces the entire development process of the graduate tracking survey feedback system for engineering education professional certification. By analyzing the needs of enterprises for the graduate tracking survey feedback system for engineering education professional certification, a computer management plan for the graduate tracking survey feedback system for engineering education professional certification was created. The article introduces the system analysis part of the graduate tracking survey feedback system for engineering education professional certification, including feasibility analysis, etc. The system design part mainly introduces the system function design and database design.
This graduate tracking survey feedback system for engineering education professional certification includes administrators, students, and corporate units.
Administrator functions include personal center, student management, class information management, enterprise unit management, teacher information management, course indicator management, test paper management, test question management, and exam management. Students can view teacher information, course indicators, and take exams. Therefore it has certain practicality.
This site is a B/S mode system, using the SSM framework as the development technology and the MYSQL database design and development to fully ensure the stability of the system. The system has the characteristics of clear interface, simple operation and complete functions, making the management of the graduate tracking survey feedback system for engineering education professional certification systematic and standardized.
2. System functions
This system is a website system based on B/S architecture. The designed functional structure diagram is shown below:
3. Screenshots of system projects
Implementation of the administrator module
Student Information Management
The system administrator of the graduate tracking survey feedback system for engineering education professional certification can manage student information and modify and delete student information.
Class Information Management
System administrators can add, modify, and delete class information.
Exam paper information management
The system administrator can add, modify and delete test paper information.
Realization of Enterprise Unit Module
Take the exam
Enterprise units can take the exam after logging in.
Exam record management
After the enterprise unit logs in, it can view the examination record information.
Wrong Question Book
After the enterprise unit logs in, it can view the wrong question book.
4. Core code
Login related
package com.controller; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.TokenEntity; import com.entity.UserEntity; import com.service.TokenService; import com.service.UserService; import com.utils.CommonUtil; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.PageUtils; import com.utils.R; import com.utils.ValidatorUtils; /** * Login related */ @RequestMapping("users") @RestController public class UserController{ \t @Autowired private UserService userService; \t @Autowired private TokenService tokenService; /** \t * Log in */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); 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); } \t /** \t * 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(); } /** \t * quit */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("Exit successfully"); } \t /** * 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"); } \t /** * 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); } /** * list */ @RequestMapping("/list") public R list(UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew)); } /** * 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){ Long id = (Long)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 Long[] ids){ userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } }
File upload
package com.controller; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import java.util.UUID; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.ConfigEntity; import com.entity.EIException; import com.service.ConfigService; import com.utils.R; /** * Upload file mapping table */ @RestController @RequestMapping("file") @SuppressWarnings({"unchecked","rawtypes"}) public class FileController{ @Autowired private ConfigService configService; /** \t * upload files */ @RequestMapping("/upload") public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception { if (file.isEmpty()) { throw new EIException("The uploaded file cannot be empty"); } String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1); File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } String fileName = new Date().getTime() + "." + fileExt; File dest = new File(upload.getAbsolutePath() + "/" + fileName); file.transferTo(dest); FileUtils.copyFile(dest, new File("C:\Users\Desktop\jiadian\springbootl7own\src\main\resources\static\upload" + "/" + fileName)); if(StringUtils.isNotBlank(type) & amp; & amp; type.equals("1")) { ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile")); if(configEntity==null) { configEntity = new ConfigEntity(); configEntity.setName("faceFile"); configEntity.setValue(fileName); } else { configEntity.setValue(fileName); } configService.insertOrUpdate(configEntity); } return R.ok().put("file", fileName); } \t /** \t * download file */ @IgnoreAuth @RequestMapping("/download") public ResponseEntity<byte[]> download(@RequestParam String fileName) { try { File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } File file = new File(upload.getAbsolutePath() + "/" + fileName); if(file.exists()){ /*if(!fileService.canRead(file, SessionManager.getSessionUser())){ getResponse().sendError(403); }*/ HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", fileName); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED); } } catch (IOException e) { e.printStackTrace(); } return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR); } \t }
Packaging
package com.utils; import java.util.HashMap; import java.util.Map; /** * Return data */ public class R extends HashMap<String, Object> { private static final long serialVersionUID = 1L; \t public R() { put("code", 0); } \t public static R error() { return error(500, "Unknown exception, please contact the administrator"); } \t public static R error(String msg) { return error(500, msg); } \t public static R error(int code, String msg) { R r = new R(); r.put("code", code); r.put("msg", msg); return r; } public static R ok(String msg) { R r = new R(); r.put("msg", msg); return r; } \t public static R ok(Map<String, Object> map) { R r = new R(); r.putAll(map); return r; } \t public static Rok() { return new R(); } public R put(String key, Object value) { super.put(key, value); return this; } }
The knowledge points of the article match the official knowledge files, and you can further learn related knowledge. Java Skill TreeHomepageOverview 137704 people are learning the system