somewords概览

Posted on 2023-01-30 16:52  Capterlliar  阅读(25)  评论(0编辑  收藏  举报

呃突然发现这玩意是干嘛的还没写。有点想法没做完并且不知道什么时候会做,把整体结构捋一遍备忘。

1. 简介

大一时候的导论课老师说可以做一个网站,把学到的东西一点点加进去。这种感觉听上去蛮好的,于是寒假做了一堆页面,大部分是本地静态页面并且到现在还是工地状态,虽然重新打开的时候发现以前审美吊打现在。但一个叫somewords的页面是做完的,后面还真的在用。其主要功能为记录说的一些废话,使用方式非常原始,需要手动打&nbsp和<br>来对齐和换行。

以上为历史背景。

今年突然发现自己该学点Java Web去找工作了,于是想把这个东西重写一遍以熟练相关技术,顺便优化使用体验(这个博客还不够装你的废话是吗)。听说Servlet要深入学,也不知道真的假的先用了再说,于是有了Vue+Servlet这种怪东西。弄了两天被判死缓,可以不用那么急了,因此陆陆续续摆到现在做完。

以上为近代史背景。

代码扔Github了。

目前效果:

2. 前端

打开页面,加载当前年份记录;

最上面为年份,左边是月份,右边是具体内容,点击月份可以跳转到对应位置。内容下面是编辑器。

Daily:显示具体内容的小方块;

HelloWorld:主页面,获得数据并分发给Daily;

SummerNote:编辑器,共有两个post操作,上传图片时会将图片post到临时文件夹并在编辑器内预览,正式发布时将用到的图片放到最终文件夹并清空临时文件夹;

数据格式:

{month:"Jan",
content:[
{date:"2023/1/25",
location:"上海",
type:"richText",
source:"myself",
diary:"晴朗。"}
]}

内容以月份分组(数据库里数据长这样而且便于链接),里面是这个月的内容。后面希望可以展示本地图片,图片和富文本用的模板应该不一样;source是以后用来源分类可能会比较方便。

3. 后端

Diary:上传日记

GetDiary:获取某一年的日记

Picture:将编辑器图片放到临时文件夹并返回URL

handlers:处理数据库返回数据的handler

DbUtil:数据库连接工具,使用时传SQL语句,如果有返回数据要处理再传一个Handler

java复制文件:

            FileInputStream fis = new FileInputStream(s1+m.group(1));
            FileOutputStream fos = new FileOutputStream(s2+m.group(1));
            FileChannel inputChannel = fis.getChannel();
            FileChannel outputChannel = fos.getChannel();
            inputChannel.transferTo(0, inputChannel.size(), outputChannel);
            outputChannel.close();
            inputChannel.close();
            fos.close();
            fis.close();
View Code

删除文件:

        File file=new File(s1);
        File[] files = file.listFiles();//将file子目录及子文件放进文件数组
        if (files != null) {//如果包含文件进行删除操作
            for (int i = 0; i < files.length; i++) {
                if (files[i].isFile()) {//删除子文件
                    files[i].delete();
                }
                files[i].delete();//删除子目录
            }
        }
View Code

一个很厉害的正则表达式:C#正则表达式提取HTML中IMG标签的SRC地址

4. 结尾

后续想把看到的好玩的内容标注来源,整合进来,要不然哪天就404了。但还没想好整理方式和存储方式。

本地上传的图片就不要再存一道了

文件路径稍微有点迷

加载图片的时候不知道为什么先会请求一遍文件夹,然后404一下

写的时候感觉还有别的问题来着,但想不起来了,先这样吧。

哦想起来了,表单校验没做。