zoukankan      html  css  js  c++  java
  • java程序设计——MiniBlog

    一、团队介绍

    成员姓名 任务分配
    吴美婷 数据库、实体类设计、数据收集 、servlet的设计
    林舒馨 html页面设计、前后端交互、servlet的设计

    一个简单的个人博客,实现用户注册和登录,个人主页,文章编写、查看,建索、分词搜索。

    二、项目git链接

    https://gitee.com/fengqiyunyan/Mini-Blog

    三、项目git提交截图



    四、项目设计技术

    Mybatis
    数据库dao模式
    MVC
    Axios
    Bootstrap
    vue
    Web

    五、项目功能架构图与主要功能流程图

    六、面向对象类图

    Passage类:存放作者、标题、内容、编写时间、点击次数

    User类:存放用户名、密码、姓名、邮箱、手机、性别

    七、项目运行截图

    登录界面

    注册界面


    对于存在的用户名不能注册

    个人主页

    文章界面

    编辑界面

    搜索界面

    搜索得到的内容

    八、项目关键代码

    (1)数据库

    数据库采用dao模式,在Mybatis框架下进行操作

    PassageMapper.xml

    UserGeMapper.xml

    检索部分

    刚开始的时候是想直接用select * from xxx where xxxxx like '%xx%' 这个语法的来返回查询结果的,后来经过百度发现数据库可以用ngram插件进行分词索引,然后查询。如果用 like语法的话,只能外部进行分词再查询,显得不够便捷。
    全文检索的定义:全文检索就是先创建索引,然后根据索引来进行搜索的过程,就叫全文检索。
    全文检索首先对要搜索的数据或者是文档进行分词,然后形成索引,通过查询索引来查询文档。原理和查字典一样,对于一个不认识的字,我们先在偏旁部首表中找到偏旁,然后跳到所有带这个偏旁的字里面,再来搜寻这个字。再跳到这个词指定的页数,得到我们想要的结果。建立索引的话就是把查字典的过程给逆过来。对于一大段内容,先利用分词器ngram进行分词(拆分成单独的字或词,去除标点,停词等),然后建立索引。搜索的话就和查字典一样了

    (2)前后端

    使用了axios进行前后端交互,html加载完成之前,执行mounted,通过get方式从服务器获取相应文章数据和用户的个人信息


    html加载完成之后通过点击绑定read (item)方法,执行methods, 通过get方式向服务器发送所点击的文章的id.

    九、项目扫描结果及改正

    扫描结果:

    改正后:

    十、尚待改进

    1、本次课设只有一周的时间,时间赶,任务重,有很多想做的功能没有实现、例如文章的修改和个人信息的修改。
    2、Servlet部分编写时,前后端分得任务比较混乱

  • 相关阅读:
    vmwear 及docker
    vue相关
    vue demo
    线程的死锁
    让出和守护线程
    join加入线程
    线程的优先级
    线程间的通信
    synchronized关键字的使用
    线程的并发
  • 原文地址:https://www.cnblogs.com/tingfengji/p/12175263.html
Copyright © 2011-2022 走看看