寒假项目总结—刷题网站初步的搭建

寒假项目总结之刷题网站初步的搭建

博客首页:[铁甲小宝同学](https://blog.csdn.net/m0_54355125?spm=1018.2226.3001.5343)

文章目的:项目总结

博主也在学习阶段,如若发现问题,请告知,非常感谢

同时也非常感谢各位小伙伴们的支持

每日一语:希望未来的你能感谢现在努力的你!

本文参考了尚硅谷的最新JavaWeb

文章目录

  • 寒假项目总结之刷题网站初步的搭建
    • 前言
    • 经过
    • 项目涉及到的技术
      • 一、Java基础
      • 二、Web环境的配置
      • 三、前端知识的掌握
      • 四、Thymeleaf的前端页面渲染
      • 五、MySQL数据库的链接
      • 六、后端Java程序
    • 项目的部分展示和介绍
      • 一、登录和注册界面
      • 二、刷题网页
      • 三、题库的添加
    • 项目的总结和规划
      • 项目的总结
      • 规划

前言

开学啦!!!

寒假项目总结—刷题网站初步的搭建_第1张图片

写这个博客前,笔者先介绍一下自己。可能还有很多的小伙伴不认识笔者,但是我相信对老朋友们已经不再陌生了。我就废材小宝嘿嘿。

目前大二在读,喜欢研究自己喜欢的技术。可能了解博主的小伙伴们都知道,博主之前写任何项目和代码的语言都是Python,而博主接触Java差不多快四个月了,这个也是博主第一次用Java写的一个对自己而言比较大的项目。这个项目的技术含量可能在大佬面前就是一个菜鸡级别的基础。而对博主来说,这个项目真是可能会很费自己的心血来去完成它。因为这个项目可能只完成了五分之一,写出了刷题网页,还有登录注册,管理员添加题库和一个主页面等等。所以博主也会慢慢的提高自己的技术和能力,也希望这个成品项目能帮助到大家!!!



经过

从2022.1.3日放假回家后,笔者就有打算来用Java写一个自己的小项目,当时可能还不知道些什么项目,最开始准备就直接跟随尚硅谷新版的JavaWeb按照老师手把手的教着写出来,但是我慢慢的发现,老师虽然能教我们写出来项目,但是写出来的项目实际作用并不是特别大,所以我就有点犹豫要不要跟下去,此时陷入了两难,最后我觉得先跟老师的思路走,先把技术学了。在通过技术自己独立完成一个自己想要的项目。

有一次在练车的时候我就在想,我能不能做一个答题网站,这样不仅可以帮助自己,还可以去帮助别人一起来复习。有了这个想法后,我一直就在学习新的技术,并希望我学的这个技术能帮助写出这个项目,最后通过JavaWeb帮助我实现了第一步,这一步对我的意义也是非凡的。

学习途中并不是一帆风顺的。因为我的Java基础并不是很牢固,所以我又去复习和学习了—IO流,JDBC等Java的基础知识(相信大家通过我最近的文章也能发现)。除了Java的基础不牢,在学习新的技术的同时,也会学习到更多的专业术语和新的环境。这有时候并不能和快的让我消化(博主有点笨哦),还有一些环境的搭建。有时候一个小的细节就能花费一两天去解决,甚至博主会花钱找淘宝解决(不信可以看我最近一条bink 55555555…)。



项目涉及到的技术

项目涉及到的技术文章 链接
Java基础篇 JavaSE基础总结篇
Web环境的配置 IDEA社区版Web环境配置
前端基础知识 JavaWeb入门篇—HTML
前端到后端数据的交互 Web前端到后端数据的交互
JDBC技术 Java对MySQL数据库的增删改查
Themeleaf前端页面的渲染 Thymeleaf前端页面的渲染(价值50)

一、Java基础

这个我相信大部分的小伙伴都是没有问题的吧。用Java来做项目,肯定要会Java基础的呀。就比如List,Java类的创建.....

后端的程序基本上都是用Java写的,这个是不用质疑的吧。

寒假项目总结—刷题网站初步的搭建_第2张图片



二、Web环境的配置

博主使用的是IDEA社区版,所以一般的情况是没有Web这个模块的,所以博主也出了一篇环境的配置方法。如果和博主一样的情况的话,小伙伴可以参考一些这篇文章哦。

文章地址,多的我就不说了哟。



三、前端知识的掌握

Web项目的话肯定需要一些前端知识做铺垫的啦。不要求我们后端程序员掌握太多,但是前端的一些基础知识也是要掌握的啦。

就比如HTML,CSS,JS这三大件,你不会的话,可能界面就搭建不出来,就算能在网上找到模板,但是呢你可能都不知都怎么去渲染这个页面,所以我们后端程序员也是要掌握好前端的一些基础知识。

博主的前一篇文章也是介绍过JavaWeb的HTML入门—文章链接,虽然博主没有写css和js的基础部分(其实博主的前端知识也是很菜的哈哈哈),大家可以上网上搜一下,肯定可以用上的。

寒假项目总结—刷题网站初步的搭建_第3张图片



四、Thymeleaf的前端页面渲染

这个技术博主也是在前面的文章有过介绍。因为jsp技术在慢慢的被取代,就很少在去学习jsp这个老技术了,所以就直接学习新的渲染技术。这个技术我之前也是说过,他是StringBoot里面比较常见的一个技术,而我们去学习它,不仅能拓展我们的知识面,可能我们在后面的面试或者工作的时候,都可能去用到。所以这个渲染技术不学白不学(手动滑稽)。

具体这个Thymeleaf配置已经在上面的文章链接了,有兴趣的小伙伴可以去看看哦。


五、MySQL数据库的链接

现在基本上写任何一个项目都会用到数据库,让数据永久化保存,方便我们对数据的读取和存储过程。而Java能通过JDBC技术对MySQL数据库进行增删改查。即我们能通过这个技术对该项目的数据进行保存和使用。本项目是把用户注册的账号密码和各种习题进行保存到数据库中。然后通过后端的Java程序对数据传输到前端和对前端传输到后端的数据进行判断。

博主也写过Java对MySQL数据库的操作哦,有兴趣的小伙伴可以去看看哦。


六、后端Java程序

Java的程序写的太多太多了哈哈哈,我觉的我写的就是很多很多的屎山,都不好意思拿出来给各位大佬们看哈哈哈

就给大家看一下我的目录大佬就能看出来这个是多么的屎山

寒假项目总结—刷题网站初步的搭建_第4张图片

这个项目现在还没用到mvc去提高它的耦合性,所以就觉得非常的乱哈哈哈,所以我觉得可以等我什么时候给他写完并完善的很好的时候我会把我该项目完整的代码放在我的Gitee上面,所以这个后端就先放一下哈哈哈。等我以后完善吧。


项目的部分展示和介绍

目前展示的都是博主已经写完(可能还没有完善)的一些部分展示。

一、登录和注册界面

我们可以先来看看登录界面嘿嘿:

登录:

欢迎来到小宝的刷题网站!!!

从上面的图片我们能看见一个账号的登录,当然有账号和密码当然能登录上去了。当然啦,如果没有的也能通过右上角上面的注册跳转注册的页面。也就是我们下面要接受的注册界面。

这个页面的数据是会通过前端传输到后端,然后后端的Java程序链接数据库并对数据和MySQL数据库中的数据进行对比,如果成功则会跳转到主页面(当然这个主页面(用来选择语言的习题)还没有完善嘿嘿,目前跳转是直接),如果账号和密码不对,则会进行报错提醒(当然这个还没写哈哈哈)。

通过上述图片的代码我们还能看见一个验证码(目前这个验证码是死的,打算以后用手机验证码或者一个验证码的算法来给完善,目前时间还是不允许的哈哈哈)。它是在账号和密码传递前,后端程序是需要对其验证码进行一个判断。如果验证码不符合的话,则也是会提醒错误的并账号和密码也不会传递到后端。一般验证码是用来防止爬虫而变成动态的验证码,因为我这个是死的验证码所以就不能防止爬虫,所以就只能当一个摆设,所以以后还是打算这个验证码的功能完善的。


注册:

想来刷题内卷,但是没有账号怎么办???那当然是来注册呀嘿嘿嘿。

通过上述我们能看见这个是一个注册的网页,当然我们注册的信息都会通过前端-》后端-》JDBC-》MySQL。然后我们登录的时候数据库就会有我们的信息,则就会顺利登录喽。

当然现在的验证码和登录的验证码是一样是一个花瓶(等我后面完善吧嘿嘿)。


二、刷题网页

例如:Python选择题

寒假项目总结—刷题网站初步的搭建_第5张图片

当然选择题当然是有单选和多选啦。这个网页主要的就是用了Thrmeleaf技术来进行渲染,把数据库中的习题给渲染到页面上面,然后我们能看见我们所需要的习题部分。个人觉得这个不足的地方就是应该在做个翻页处理,限制每一个页面的习题数目。

当用户选择后提交后端的程序能够获取每一题的选项的答案并对答案进行判断,最后进行分数统计到数据库。对每一个用户的得分进行一个统计,然后通过前端页面展示给用户。

上图只是一个多种刷题的一种方式,可能随着博主技术的提升也很慢慢的完善网站的题目类型。如果博主能够写一个提交算法的就好了哈哈哈(可惜我太菜了,现在写不出来)。



三、题库的添加

先来展示展示嘿嘿嘿,可能前端页面有点简陋的哈哈哈。

寒假项目总结—刷题网站初步的搭建_第6张图片

本功能的设计就是专门给管理员设定,能让这个网站有一个管理员(类似于老师这种),让管理员添加习题。当管理员点击添加则前端-》后端-》JDBV-》MySQL数据库。当添加完毕后再给用户使用则用户的题目页面则会发生改变。

不足的地方:

1、还没给管理员写修改题目和删除题目的功能。

2、更新界面的功能太过简陋。

3、只能更新一个题库的习题,应该让管理者选择相对应的数据题库进行更改。



项目的总结和规划

项目的总结

个人总结:

本项目算是博主目前比较大点的项目的其中之一,也是博主寒假的学习知识的检验。所以博主还是对这个项目比较上心的,但是由于博主的知识储备还不能达到把这个项目做到企业级项目的级别。所以博主的路还很长,也希望大家能见证博主的成长,博主也能见证大家的成长。

项目的完善总结:

刚才也介绍了这个项目的大致功能,也说了一些可以完善的地方。其实只是说了一部分,还有很多地方没讲到,那我们就一一道来。

众所周知,一般的网站如果有登录和注册用户都可以自定义自己的头像。而这个就是该项目所缺少的一部分就是没有头像,更不要提自定义头像了。网站灵活性不高,没有上端页面让用户随意切换自己想要的网页地址。没有设置每一个用户完成一次会话的过期时间,当用户长时间再刷题页面没有动作的时候,程序应该让该用户重新登录。其实博主还是觉得可以设置一个排行榜用来展示每一个用户的正确率,刷题时间和刷题数量。但是排行榜这个技术博主还是差很远的,所以这个等以后技术达到了可能会慢慢的完善这个部分。其实这样慢慢的和一些高校的oj平台差不多了,可惜博主的技术和时间精力都是有限的,大概率在短时间不能完成。最后还是希望博主能慢慢的把这个项目慢慢的做起来,做到能给大家使用和给大家来带帮助就可以了。


规划

项目规划:

其实我的偶像一直是y总,能自己写出来属于自己的oj平台。并通过那个oj平台给自己带来一定的收入。其实最开始本项目的灵感来源也有awcing和力扣这些刷题网站,但是由于博主现在的实力和精力有限还是开发不出来这样的oj平台。所以就只写出来的一个大概的规划和简单的页面。But我相信随着博主慢慢的成长和技术的进步也会慢慢的把这个项目给完善到能后给大家使用的地步。这个现在我也是把这个项目的完善作为我未来计划的一部分。其实我也希望做出来能够拿来给更多的学弟学妹来进行学习作用。

所以不要放弃,即刻启航。我们未来见!


未来规划:

在本篇的最后博主也是来一下剩下的大学时间的简单规划吧。先来说说博主的最开始的大学经历吧。

一开始刚进大学肯定第一件事情就是想着怎么去好好的玩吗,想着谈恋爱什么的(现在还觉得我大一上学期是真的爽哈哈哈)。就对技术这东西没有什么感觉,感觉这东西对来来说还很远。我还记得我曾今问过一个大四的学长毕业论文要去怎么写?学长就很风轻云淡的给我说做一个网站或者一个小程序。当时我觉得很不可思议,因为当时我刚学c语言没有多久。当时觉得这东西太难了吧,自己真的能完成吗?
然后就抱着疑问来到了大一下,当时我们学了Python(当时觉得什么语言都学就很厉害哈哈哈)当时就因为学习这个课程就接触到一个培训班,然后在他们那个QQ也认识了一些大佬们(当然现在也是很好的朋友)。听大佬们谈论什么HR什么HC,当时我都不知道这些是什么东西。后来才慢慢的知道进公司需要面试,需要学一定的技术和能力。
接着在那个暑假我就几乎每天都会在网上学了新的技术(大部分都是Python的)学了不知道多久就做出来了一个疫情可视化的小项目(这个目前还在我的博客文章里面),做出来后当时就有点小膨胀就觉得自己很牛逼,然后可以进公司了,自己觉得什么都会了就肯定会有点小猖狂嘛。当时我还去投了一个简历(我记得是喜马拉雅的一个后端还是爬虫具体记不清楚了)然后简历官就没过去哈哈哈。反正当时是受了一点打击,也很快的认清楚了自己的地位,没有之前那么的自大了。
后来在csdn也遇见了飞佬,通过飞佬的讲解也慢慢的了解了互联网这个产业。也就是大二上学期我开始了我的算法刷题之路。随后也慢慢的开始接触Java。到现在也就慢慢的做这个小项目。真是有点回味呀哈哈哈。

那么过去的经历说了,也就来规划规划一下大学剩下的时光吧。

大二这个学期先去把Java的基础打牢,然后再此基础上面去接触ssm和boot。把MySQL数据库再好好的复习一遍,学习和掌握Linux。熟悉计网的每一个知识点。每天学习一些基础的八股,当然我那么可爱的算法题是不能少的也就每天最少3题吧哈哈哈。最后也希望自己能够再这个暑假能拿到一个小厂的实习offer(许愿许愿)。

大三和大四就先先拿下教资和一些企业级开发的技术。是否考研这个嘛我觉得得等到大三得时候就应该博主就知道怎么去做决定了。

等到大三大四的时候再回首看看这篇文章不知道会是什么样的表情哈哈哈。希望那时候的自己不会让现在的失望就可以。


2022/02/21晚19.25写

你可能感兴趣的:(Java,java,开发语言,后端)