Java项目:知识库管理系统(java+SSM+bootstrap+jquery+mysql)

源码获取:博客首页 "资源" 里下载!

项目介绍

文件集中上传:系统支持单文件上传以及批量上传,系统支持zip、rar格式的压缩包导入。亮点创新 多格式文件在线预览 用户可以对所有公共文件进行浏览,支持office,pdf格式以及常见图片格式,音频格式,音频播放以流媒体服务搭载实现边下边播的用户体验。
文档链接:系统支持用户对喜爱的文档进行收藏及发送到常用文档。
文档关联:手动关联:用户可以手动对文件关联相关的文件。
自动关联:系统可以自动关联类似文档
规则使用:系统对用户上传的过大文件(视频)进行压缩来加快用户在线预览打开的速度,对文档自动提取简介和关键词。对视频、office等文件提取缩略图。
系统中可增加词典,增强分词效果
智能检索:系统包含全文检索、多重条件检索、关键词检索。同时还支持对检索结果再次附加条件检索。
用户管理:普通用户可以对自己的文件夹、收藏夹管理。用户可以分享自己的文档到公共资源库中。
管理员可以对系统中的用户管理、公共文件审核,系统分类的管理,一些数据的统计和日志记录的查看
用户评论:用户可以对文档进行评论
文本处理:能够支持中文,人名、组织机构名、时间、地名、目标类型、目标名称等实体识别,能对常见文本格式抽取。
文档推荐:系统使用协同过滤算法推荐用户可能会查看的文档
知识图谱:系统中的知识以树结构存放,可以通过知识图谱快速到达你要找的知识点。对于每个节点都有详细的介绍。
智能提取:系统结合PageRank、TF-IDF等算法组织知识点在我们的库中,用户可以通过半自动化的操作,去提取归纳知识,产生新的文档。
信息统计:系统对文档的数据进行统计分析,以图表的方式呈现。
新建文档:用户可以使用在线多功能编辑器新建文档


环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目:是; 查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 
6.数据库:MySql 5.7版本;


技术栈

1. spring+spring mvc+mybatis+bootstrap+jquery


使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择         maven;
   若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置 
4. 运行项目,在浏览器中输入http://localhost:8080/lib/login 登录
5. 登录账号:[email protected] 密码:123456


注意事项

需要先安装openoffice,下载地址:http://www.openoffice.org/download/index.html 
并在TranslateUtils中修改相关路径;


 

 

 

 

 

用户管理控制层: 

@Controller
@RequestMapping("/User")
public class UserController {

	@Autowired
	private UserService userService;

	@Autowired
	private PowerService powerService;

	@Autowired
	private RoleService roleService;

	@Autowired
	private NoticeService noticeService;

	@RequestMapping("/Main")
	public String res(HttpServletRequest request){
		String time = DateUtil.getStringToday();
		request.getSession().setAttribute("time", time);

		Notice notice = new Notice();

		List<Notice> list = noticeService.queryAll(notice);

		notice = list.get(0);

		User user = userService.selectByPrimaryKey(notice.getUserid());

		notice.setUserid(user.getName());
		request.getSession().setAttribute("notice", notice);

		return "Main";
	}

	@RequestMapping("/changePa")
	public String res1(){
		return "changePass";
	}


	@RequestMapping("/Login")
	public ModelAndView login(HttpServletRequest request,String id,String password) throws Exception{

		ModelAndView mav = new ModelAndView();

		User user1 = userService.selectByPrimaryKey(id);

		if(user1 == null || !password.equals(user1.getPassword())){
			mav.setViewName("index");
		    request.getSession().setAttribute("info", "error");
			return mav;
		}else{
			Role role = new Role();
			role.setRoleid(user1.getRoleid());
			List<Role> list =roleService.QueryAll(role);
			role =list.get(0);
			request.getSession().setAttribute("roleName", role.getRolename());
			Power power = powerService.selectByPrimaryKey(role.getPowerid());

			if(!StringUtil.isNullOrEmpty(power.getPower())){
				request.getSession().setAttribute("power", power.getPower());
			}

			String time = DateUtil.getStringToday();
			request.getSession().setAttribute("time", time);
			request.getSession().setAttribute("user", user1);
			mav.setViewName("redirect:/User/Main");
		}
		return mav;
	}

	@RequestMapping("/updateStudent")
	public String update(User user){
		userService.updateByPrimaryKey(user);
		return "redirect:/User/student";
	}

	@RequestMapping("/updateTeacher")
	public String updatet(User user){
		userService.updateByPrimaryKey(user);
		return "redirect:/User/teacher";
	}

	@RequestMapping("/updatePa")
	public String updatePa(String userID,String password){
		User user = new User();
		System.out.println(userID);
		User user1 = userService.selectByPrimaryKey(userID);
		user1.setPassword(password);
		userService.updateByPrimaryKey(user1);
		return "Main";
	}

	@RequestMapping("/delete")
	public String delete(String ID){
		userService.deleteByPrimaryKey(ID);
		return "redirect:/User/queryAll";
	}

	@RequestMapping("/teacher")
	public String QueryAllTeacher(HttpServletRequest request,User user){

		List<User> list = userService.QueryAllTeacher(user);
		request.setAttribute("list", list);

	   if(null != user.getName()){
			request.setAttribute("name", user.getName());
		}
	   if(null != user.getMobile()){
			request.setAttribute("mobile", user.getMobile());
		}
		return "teacher";
	}


	@ResponseBody
	@RequestMapping("/jsonteacher")
	public String QueryAllTeacherjson(HttpServletRequest request,User user){

		List<User> list = userService.QueryAllTeacher(user);
		JSONObject json = new JSONObject();

		return json.toJSONString(list);
	}

	@RequestMapping("/student")
	public String QueryAllStudent(HttpServletRequest request,User user){

		List<User> list = userService.QueryAllStudent(user);
		request.setAttribute("list", list);

		if(null != user.getName()){
			request.setAttribute("name", user.getName());
		}
		if(null != user.getMobile()){
			request.setAttribute("mobile", user.getMobile());
		}
		return "student";
	}

	@RequestMapping("/addteacher")
	public String  addUser(User user){

	    String passWord = "123456";
		user.setPassword(passWord);
		user.setType(Constans.TEACHER);
		userService.insert(user);
		return "redirect:/User/teacher";
	}

	@RequestMapping("/addstudent")
	public String  addStudent(User user){

		String passWord = "123456";
		user.setPassword(passWord);
		user.setType(Constans.STUDENT);
		userService.insert(user);
		return "redirect:/User/student";
	}

	@ResponseBody
	@RequestMapping("/queryOne")
	public String queryOne(String ID){
		User user = new User();
		user.setId(ID);
		List<User> list = userService.QueryAll(user);
		user = list.get(0);
		JSONObject json = new JSONObject();
		String data = json.toJSONString(user);

		return data;
	}

	@RequestMapping("/quit")
	public ModelAndView quit(HttpServletRequest request) throws Exception{
		ModelAndView mav = new ModelAndView();
		HttpSession session1 = request.getSession();
		session1.invalidate();
		request.getSession().setAttribute("info", "quit");
		mav.setViewName("index");

		return mav;
	}



}

登录控制层:

@Controller
public class LoginController {

    private static final Logger LOGGER = LoggerFactory.getLogger(LoginController.class);


    @Autowired
    AdminService adminService;

    @GetMapping("/cs")
    public String cs() {
        return "cs";
    }


    @GetMapping("/login")
    public String login() {
        return "login";
    }

    @PostMapping("/login")
    @ResponseBody
    public Msg login(String name, String pwd, HttpSession httpSession) {
        name = name.trim();
//        LOGGER.info("{}--{}",name,pwd);
        return adminService.login(name, pwd, httpSession);

    }
}

管理员管理控制层:

@RestController
@RequestMapping("/admin")
@Slf4j
public class AdminController {

    @Autowired
    AdminService adminService;

    /**
     * 功能描述:管理员登录
     */

    @RequestMapping(value = "/login.do",method = RequestMethod.GET)
    public ResponseBo login(HttpServletRequest request){
        log.info("admin/AdminController======>login 进入方法");
        ResponseBo responseBo=new ResponseBo();
        String  name=request.getParameter("name");
        String  password=request.getParameter("password");
        String token=request.getHeader("accessToken");
        if (token!=null) {
            if (TokenSign.verify(token)) {
                ADMINS admins = new ADMINS();
                admins.setName(TokenSign.getUsername(token));
                admins.setId(Integer.parseInt(TokenSign.getUserId(token)));
                admins.setPic(TokenSign.getUserPic(token));
                responseBo.setResult(admins);
                return responseBo;
            } else {
                responseBo.setResMsg("token失效");
                return responseBo;
            }
        }
        try {
            log.info("admin/AdminController======>login 进入接口,入参:name=",name);
            responseBo=adminService.login(name,password);
        } catch (Exception e) {
            log.error("admin/AdminController======>login 登录方法出错:{}",e);
            responseBo.setResMsg("登录失败");
            responseBo.setResult(e);
        }
        return responseBo;
    }

    /**
     * 功能描述:获取所有用户信息
     */

    @RequestMapping(value = "/getUsers.do",method = RequestMethod.GET)
    public ResponseBo getUsers(HttpServletRequest request){
        log.info("admin/AdminController======>getUsers 进入方法");
        ResponseBo responseBo=new ResponseBo();
        try {
            log.info("admin/AdminController======>getUsers 进入接口,入参:无");
            responseBo=adminService.getUsers();
        } catch (Exception e) {
            log.error("admin/AdminController======>getUsers 方法出错:{}",e);
            responseBo.setResMsg("查询失败");
            responseBo.setResult(e);
        }
        return responseBo;
    }

    /**
     * 功能描述:通过id删除用户
     */

    @RequestMapping(value = "/deleteUserById.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  deleteUserById(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String userid=request.getParameter("userid");
            int userid2=Integer.parseInt(userid);
            responseBo=adminService.deleteUserById(userid2);
        } catch (Exception e) {
            log.error("删除失败",e);
            responseBo.setResMsg("删除失败");
        }
        return responseBo;
    }

    /**
     * 功能描述:获取所有被封禁用户信息
     */

    @RequestMapping(value = "/getBanUsers.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  getBanUsers(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            responseBo=adminService.getBanUsers();
        } catch (Exception e) {
            log.error("查询失败",e);
            responseBo.setResMsg("查询失败");
        }
        return responseBo;
    }

    /**
     * 功能描述:封禁用户
     */

    @RequestMapping(value = "/banUser.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  banUser(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String userid=request.getParameter("userid");
            int userid2=Integer.parseInt(userid);
            responseBo=adminService.banUser(userid2);
        } catch (Exception e) {
            log.error("封禁失败",e);
            responseBo.setResMsg("封禁失败");
        }
        return responseBo;
    }

    /**
     * 功能描述:解封用户
     */

    @RequestMapping(value = "/unbanUser.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  unbanUser(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String userid=request.getParameter("userid");
            int userid2=Integer.parseInt(userid);
            responseBo=adminService.unbanUser(userid2);
        } catch (Exception e) {
            log.error("解封失败",e);
            responseBo.setResMsg("解封失败");
        }
        return responseBo;
    }

    /**
     * 功能描述:修改管理员信息
     */

    @RequestMapping(value = "/update.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  update(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String adminid=request.getParameter("adminid");
            String name=request.getParameter("name");
            int adminid2=Integer.parseInt(adminid);
            StandardMultipartHttpServletRequest thisRequest = (StandardMultipartHttpServletRequest )request;
            MultipartFile file = thisRequest.getFile("pic");
            responseBo=adminService.update(request,file,name,adminid2);
        } catch (Exception e) {
            log.error("更新失败",e);
            responseBo.setResMsg("更新失败");
        }
        log.info("AdminController===>update方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:根据id删除图片
     */

    @RequestMapping(value = "/deleteImgById.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  deleteImgById(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String imgid=request.getParameter("imgid");
            int imgid2=Integer.parseInt(imgid);
            responseBo=adminService.deleteImgById(imgid2);
        } catch (Exception e) {
            log.error("删除失败",e);
            responseBo.setResMsg("删除失败");
        }
        log.info("AdminController===>deleteImgById 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:添加新类型
     */

    @RequestMapping(value = "/addType.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  addType(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String type=request.getParameter("type");
            responseBo=adminService.addType(type);
        } catch (Exception e) {
            log.error("添加失败",e);
            responseBo.setResMsg("添加失败");
        }
        log.info("AdminController===>addType 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:获取所有类型
     */

    @RequestMapping(value = "/getTypes.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  getTypes(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            responseBo=adminService.getTypes();
        } catch (Exception e) {
            log.error("查询失败",e);
            responseBo.setResMsg("查询失败");
        }
        log.info("AdminController===>getTypes 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:根据id获取类型
     */

    @RequestMapping(value = "/getTypeById.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  getTypeById(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String type=request.getParameter("typeid");
            int typeid=Integer.parseInt(type);
            responseBo=adminService.getTypeByid(typeid);
        } catch (Exception e) {
            log.error("查询失败",e);
            responseBo.setResMsg("查询失败");
        }
        log.info("AdminController===>getTypeById 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:修改类型
     */

    @RequestMapping(value = "/updateType.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  updateType(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String type=request.getParameter("typeid");
            String name=request.getParameter("name");
            int typeid=Integer.parseInt(type);
            responseBo=adminService.updateType(typeid,name);
        } catch (Exception e) {
            log.error("更新失败",e);
            responseBo.setResMsg("更新失败");
        }
        log.info("AdminController===>updateType 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:根据id删除类型
     */

    @RequestMapping(value = "/deleteType.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  deleteType(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String type=request.getParameter("typeid");
            int typeid=Integer.parseInt(type);
            responseBo=adminService.deleteType(typeid);
        } catch (Exception e) {
            log.error("删除失败",e);
            responseBo.setResMsg("删除成功");
        }
        log.info("AdminController===>deleteType 方法 出参:responseBo="+responseBo);
        return responseBo;
    }
    /**
     * 功能描述:获取待审核图片
     */

    @RequestMapping(value = "/getAuditImgs.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  getAuditImgs(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            responseBo=adminService.getAuditImgs();
        } catch (Exception e) {
            log.error("查询失败",e);
            responseBo.setResMsg("查询失败");
        }
        log.info("AdminController===>getAuditImgs 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:通过审核图片
     */

    @RequestMapping(value = "/auditImg.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  auditImg(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String img=request.getParameter("imgid");
            int imgid=Integer.parseInt(img);
            responseBo=adminService.auditImg(imgid);
        } catch (Exception e) {
            log.error("审核失败",e);
            responseBo.setResMsg("审核失败");
        }
        log.info("AdminController===>auditImg 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:不通过审核图片
     */

    @RequestMapping(value = "/unauditImg.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  unauditImg(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String img=request.getParameter("imgid");
            int imgid=Integer.parseInt(img);
            responseBo=adminService.unauditImg(imgid);
        } catch (Exception e) {
            log.error("审核失败",e);
            responseBo.setResMsg("审核失败");
        }
        log.info("AdminController===>unauditImg 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:获取充值表数据
     */

    @RequestMapping("/getDeposits.do")
    public ResponseBo getDeposits(){
        ResponseBo responseBo=new ResponseBo();
        log.info("进入 getDeposits 方法");
        try {
            responseBo=adminService.getDeposits();
        } catch (Exception e) {
            log.info("getDeposits 方法出现异常");
            e.printStackTrace();
        }
        return responseBo;
    }

    /**
     * 功能描述:给用户添加积分,删除充值表
     */

    @Caching(evict={@CacheEvict(value="pointscache",allEntries=true)})
    @RequestMapping("/addPoint.do")
    public ResponseBo addPoint(POINTS points){
        ResponseBo responseBo=new ResponseBo();
        log.info("进入 addPoint 方法");
        try {
            responseBo=adminService.addPoint(points);
        } catch (Exception e) {
            log.info("addPoint 方法出现异常");
            e.printStackTrace();
        }
        return responseBo;
    }

    /**
     * 功能描述:获取评论
     */

    @RequestMapping("/getComments.do")
    public ResponseBo getComments(){
        ResponseBo responseBo=new ResponseBo();
        log.info("进入 getComments 方法");
        try {
            responseBo=adminService.getComments();
        } catch (Exception e) {
            log.info("getComments 方法出现异常");
            e.printStackTrace();
        }
        return responseBo;
    }

    /**
     * 功能描述:获取举报列表
     */

    @RequestMapping("/getComplains.do")
    public ResponseBo getComplains(){
        ResponseBo responseBo=new ResponseBo();
        log.info("进入 getComplains 方法");
        try {
            responseBo=adminService.getComplains();
        } catch (Exception e) {
            log.info("getComplains 方法出现异常");
            e.printStackTrace();
        }
        return responseBo;
    }

    /**
     * 功能描述:处理举报评论
     */

    @RequestMapping("/delComplains.do")
    public ResponseBo delComplains(int compid){
        ResponseBo responseBo=new ResponseBo();
        log.info("进入 delComplains 方法");
        try {
            responseBo=adminService.delComplains(compid);
        } catch (Exception e) {
            log.info("delComplains 方法出现异常");
            e.printStackTrace();
        }
        return responseBo;
    }
}

源码获取:博客首页 "资源" 里下载! 

猜你喜欢

转载自blog.csdn.net/m0_66863468/article/details/124686723