Computer java project recommendation SSM+JSP university information resource sharing platform management system

Background of the project

Today in the 21st century, with the continuous development and progress of society, people's scientific understanding of information has developed from low level to high level, from the original perceptual understanding to rational understanding, and the importance of management work The nature of information has gradually been recognized by people. Scientific management can make information storage accurate, fast and complete, and can improve the efficiency of work management and promote its development.
The paper mainly introduces the university information resource sharing platform, including the current status of the research and the development background involved. Then it also discusses the design goals of the system and the system requirements. , as well as the entire design plan, the design and implementation of the system were also discussed in detail. Finally, some specific tests were conducted on the university information resource sharing platform.
This article uses JSP as the development technology to implement a university information resource sharing platform. The main users of the university information resource sharing platform are divided into administrators; personal center, student information management, teacher information management, course information management, teaching resource management, news information management, college information management, system management, teacher information; personal center, Student information management, course information management, teaching resource management, student information; personal center, teaching resource management, news and information management, front page; home page, course information, teaching resources, news and information, mine, jump to backend and other functions. Through the design of these functional modules, the process of the entire university information resource sharing platform is basically realized.
Specifically in the system design, the B/S structure is adopted. At the same time, JSP technology is also used to design the dynamic page. The Mysql database is used in the background. It is a very excellent university information Resource sharing platform.

feature design

Function module diagram

The core user in the system is the system administrator. After the administrator logs in, he manages the backend system through the administrator menu. The main functions are: personal center, student information management, teacher information management, course information management, teaching resource management, news information management, college information management, system management and other functions.
Insert image description here
Teacher information can be entered into the system for personal center, student information management, course information management, teaching resource management, etc.
Insert image description here
The system architecture diagram belongs to the system design stage. The system architecture diagram is only a product of this stage. The overall architecture of the system determines the model of the entire system and is the foundation of the system. The overall structural design of the university information resource sharing platform is shown in the figure
Insert image description here

Function screenshot

University information resource sharing platform, on the system homepage you can view the homepage, course information, teaching resources, news information, mine, jump to the backend and other content
Insert image description here
Student information login, student Information registration, on the registration page you can fill in the account number, name, mobile phone, email, ID card and other information to register and log in
Insert image description here
Insert image description here
Course information, on the course information page, fill in the course number, course name, class hours, Submit the start time, course content, course tasks, cover and other information, as shown in Figure 5-3. On the teaching resource page, fill in the number, name, picture, type, content introduction, information, upload time, teacher ID, name and other information to click and collect.
Insert image description here
Insert image description here
The administrator logs in to enter the university information resources The sharing platform can view personal center, student information management, teacher information management, course information management, teaching resource management, news information management, college information management, system management and other information.
Student information management. On the student information management page, you can details, modify, and delete by filling in account number, name, gender, mobile phone, email, ID card, photo, etc., as shown in Figure 5-6 shown. You can also perform detailed operations such as details and modifications on teacher information management as needed
Insert image description here
Insert image description here
Course information management. On the course information management page, you can view the course number, course name, class hours, start time, course content, Course tasks, cover and other information, and you can modify or delete existing course information management as needed
Insert image description here
Teaching resource management, you can view the number, name, picture, Type, content introduction, information, upload time, teacher ID, name and other information, and you can modify or delete existing teaching resource management and other detailed operations as needed
Insert image description here
News information management, in the news On the information management page, you can view the title, introduction, content, release time, publisher, cover, etc., and perform detailed operations on existing news information management, modify or delete it as needed
Insert image description here
College Information management. On the college information management page, you can view the college name, region, college level, college nature, college type, admissions phone number, college email, college website, college address, postal code, college profile, pictures, etc., and according to It is necessary to carry out detailed operations such as details, modification or deletion of existing college information management
Insert image description here

Related code

Database configuration

# Tomcat
server:
    tomcat:
        uri-encoding: UTF-8
    port: 8080
    servlet:
        context-path: /springbootr1tjf

spring:
    datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/springbootr1tjf?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
        username: root
        password: 123456

#        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
#        url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springbootr1tjf
#        username: sa
#        password: 123456

    servlet:
      multipart:
        max-file-size: 10MB
        max-request-size: 10MB
    resources:
      static-locations: classpath:static/,file:static/

#mybatis
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.entity
  global-config:
    #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 1
    #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 2
    #驼峰下划线转换
    db-column-underline: true
    #刷新mapper 调试神器
    refresh-mapper: true
    #逻辑删除配置
    logic-delete-value: -1
    logic-not-delete-value: 0
    #自定义SQL注入器
    sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    call-setters-on-nulls: true
    #springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)
    jdbc-type-for-null: 'null' 

Controller



    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.MPUtil;
    import com.utils.PageUtils;
    import com.utils.R;
    import com.utils.ValidatorUtils;
    
    /**
     * 登录相关
     */
    @RequestMapping("users")
    @RestController
    public class UserController{
    
    
    	
    	@Autowired
    	private UserService userService;
    	
    	@Autowired
    	private TokenService tokenService;
    
    	/**
    	 * 登录
    	 */
    	@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("账号或密码不正确");
    		}
    		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
    		return R.ok().put("token", token);
    	}
    	
    	/**
    	 * 注册
    	 */
    	@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("用户已存在");
        	}
            userService.insert(user);
            return R.ok();
        }
    
    	/**
    	 * 退出
    	 */
    	@GetMapping(value = "logout")
    	public R logout(HttpServletRequest request) {
    
    
    		request.getSession().invalidate();
    		return R.ok("退出成功");
    	}
    	
    	/**
         * 密码重置
         */
        @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("账号不存在");
        	}
        	user.setPassword("123456");
            userService.update(user,null);
            return R.ok("密码已重置为:123456");
        }
    	
    	/**
         * 列表
         */
        @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);
        }
    
    	/**
         * 列表
         */
        @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));
        }
    
        /**
         * 信息
         */
        @RequestMapping("/info/{id}")
        public R info(@PathVariable("id") String id){
    
    
            UserEntity user = userService.selectById(id);
            return R.ok().put("data", user);
        }
        
        /**
         * 获取用户的session用户信息
         */
        @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);
        }
    
        /**
         * 保存
         */
        @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("用户已存在");
        	}
            userService.insert(user);
            return R.ok();
        }
    
        /**
         * 修改
         */
        @RequestMapping("/update")
        public R update(@RequestBody UserEntity user){
    
    
    //        ValidatorUtils.validateEntity(user);
        	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
        	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    
    
        		return R.error("用户名已存在。");
        	}
            userService.updateById(user);//全部更新
            return R.ok();
        }
    
        /**
         * 删除
         */
        @RequestMapping("/delete")
        public R delete(@RequestBody Long[] ids){
    
    
            userService.deleteBatchIds(Arrays.asList(ids));
            return R.ok();
        }
    }



Business layer (Service)



    package com.service;
    
    import java.util.List;
    import java.util.Map;
    
    import org.apache.ibatis.annotations.Param;
    
    import com.baomidou.mybatisplus.mapper.Wrapper;
    import com.baomidou.mybatisplus.service.IService;
    import com.entity.UserEntity;
    import com.utils.PageUtils;


    /**
     * 系统用户
     */
    public interface UserService extends IService<UserEntity> {
    
    
     	PageUtils queryPage(Map<String, Object> params);
        
       	List<UserEntity> selectListView(Wrapper<UserEntity> wrapper);
       	
       	PageUtils queryPage(Map<String, Object> params,Wrapper<UserEntity> wrapper);
    	   	
    }


Data access layer (Dao)

package com.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.entity.UserEntity;

/**
 * 用户
 */
public interface UserDao extends BaseMapper<UserEntity> {
    
    
	
	List<UserEntity> selectListView(@Param("ew") Wrapper<UserEntity> wrapper);

	List<UserEntity> selectListView(Pagination page,@Param("ew") Wrapper<UserEntity> wrapper);
	
}

Project acquisition:

https://gitee.com/sinonfin/L-javaWebSha/tree/master

Guess you like

Origin blog.csdn.net/mojikopi/article/details/134891062