基于Java的云笔记系统

项目技术:

系统使用技术:Servlet

前端技术:Jquery及插件、Ueditor、js、css等

开发工具:idea

数据库:mysql5.7

项目介绍:

本系统是一个云笔记系统,使用Java语言,Servlet技术开发,数据库采用mysql,具有基本的笔记业务功能,有详细的设计文档。

功能概述:

基于Java的云笔记系统

 

部分功能展示:

系统登录:

基于Java的云笔记系统

系统首页

查看系统首页,,可以根据日期或者分类进行查看,也可以搜索

基于Java的云笔记系统

维护类别

对笔记类别进行维护

基于Java的云笔记系统

笔记发布

可以对笔记进行格式编辑后发布

基于Java的云笔记系统

个人中心

可以改个人信息,或者头像等

基于Java的云笔记系统

数据统计

对笔记按照日期进行统计

基于Java的云笔记系统

展示笔记发布地

发布笔记时会登记笔记所处经纬度,在地图上进行展示

基于Java的云笔记系统

 部分代码(代码注释详细):

/**
     * 修改用户信息
         注:文件上传必须在Servlet类上提那家注解!!! @MultipartConfig
         1. 调用Service层的方法,传递request对象作为参数,返回resultInfo对象
         2. 将resultInfo对象存到request作用域中
         3. 请求转发跳转到个人中心页面 (user?actionName=userCenter)
     * @param request
     * @param response
     */
    private void updateUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 1. 调用Service层的方法,传递request对象作为参数,返回resultInfo对象
        ResultInfo<User> resultInfo = userService.updateUser(request);
        // 2. 将resultInfo对象存到request作用域中
        request.setAttribute("resultInfo", resultInfo);
        // 3. 请求转发跳转到个人中心页面 (user?actionName=userCenter)
        request.getRequestDispatcher("user?actionName=userCenter").forward(request, response);
    }

    /**
     * 验证昵称的唯一性
     *  1. 获取参数(昵称)
     *  2. 从session作用域获取用户对象,得到用户ID
     *  3. 调用Service层的方法,得到返回的结果
     *  4. 通过字符输出流将结果响应给前台的ajax的回调函数
     *  5. 关闭资源
     * @param request
     * @param response
     */
    private void checkNick(HttpServletRequest request, HttpServletResponse response) throws IOException {
        // 1. 获取参数(昵称)
        String nick  = request.getParameter("nick");
        // 2. 从session作用域获取用户对象,得到用户ID
        User user = (User) request.getSession().getAttribute("user");
        // 3. 调用Service层的方法,得到返回的结果
        Integer code = userService.checkNick(nick, user.getUserId());
        // 4. 通过字符输出流将结果响应给前台的ajax的回调函数
        response.getWriter().write(code + "");
        // 5. 关闭资源
        response.getWriter().close();
    }

    /**
     * 加载头像
     *  1. 获取参数 (图片名称)
     *  2. 得到图片的存放路径 (request.getServletContext().getealPathR("/"))
     *  3. 通过图片的完整路径,得到file对象
     *  4. 通过截取,得到图片的后缀
     *  5. 通过不同的图片后缀,设置不同的响应的类型
     *  6. 利用FileUtils的copyFile()方法,将图片拷贝给浏览器
     * @param request
     * @param response
     */
    private void userHead(HttpServletRequest request, HttpServletResponse response) throws IOException {
        // 1. 获取参数 (图片名称)
        String head = request.getParameter("imageName");
        // 2. 得到图片的存放路径 (得到项目的真实路径:request.getServletContext().getealPathR("/"))
        ClassPathResource classPathResource = new ClassPathResource("db.properties");   //这里的填写的参数是配置文件的相对路径
        properties.load(new InputStreamReader(classPathResource.getStream(),"utf-8"));     //文件流的编码方式
        String realPath = properties.getProperty("upload");
        // 3. 通过图片的完整路径,得到file对象
        File file = new File(realPath + "/" + head);
        // 4. 通过截取,得到图片的后缀
        String pic = head.substring(head.lastIndexOf(".")+1);
        // 5. 通过不同的图片后缀,设置不同的响应的类型
        if ("PNG".equalsIgnoreCase(pic)) {
            response.setContentType("image/png");
        } else if ("JPG".equalsIgnoreCase(pic) || "JPEG".equalsIgnoreCase(pic)) {
            response.setContentType("image/jpeg");
        } else if ("GIF".equalsIgnoreCase(pic)) {
            response.setContentType("image/gif");
        }
        // 6. 利用FileUtils的copyFile()方法,将图片拷贝给浏览器
        FileUtils.copyFile(file, response.getOutputStream());
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

上一篇:云笔记的项目分析(5):个人中心:验证昵称的唯一性


下一篇:云笔记的项目分析(6):云记类型模块呈现