声明:这是实践java的第二个项目,它主要包括以下知识:
前端:html css javascript
服务端: tomcat服务器,servlet ,jsp
后端:java
数据库:mysql
这个项目是思路来自于本校的一位学长: 。除了最后的留言历史界面采用了他的设计样式。其他模块都是原创。
做这个项目的原因主要有两点:1. 实践java,想培养一些模块化编程的经验
2. 之前选择进入计算机就是因为看见一个学长做了一个很漂亮的网站,自已也想做,耽搁了很久,这学期刚好学习java,之前也学过一些前端的知识,ACM也退役了,没啥事情做,算是完成了一个心愿吧(虽然这个网站简单的一批)。
开发工具
写java 我用了 eclipse。
写前端页面用了 pycharm
数据库:mysql
本地服务器: mysql
远程服务器: 腾讯云(项目还没打包到腾讯云,因为项目太小)
主要功能
1. 登录(包含了验证码的验证)
2. 注册(输入手机号码进行注册,每个号码只能用一次)
3. 留言 (登录成功以后,可以进行留言)
4. 查看留言历史 (查看自己的留言历史)
代码实现和构建思路
1. 数据库的构建
主要包含两个表:一个是用户账号信息表:用户保存用户信息,登录验证
一个是留言信息表,利用用户id为外键,将用户的每一条留言都存储在数据库中。
两个表的er图如上图所示,具体实现和数据库设计书,我已经上传到github里面,这里不再叙述数据库的创建过程。
2. JDBC连接数据库
构建好数据库以后,我们需要在java中连接上数据库,具体如何连接,请参考之前写的这篇:java连接mysql 。里面写的不是很具体,但是可以参考代码。
还有一点需要声明的,为了在引入tomcat以后,使用数据库不出错误,在连接的时候,注意看一下这篇:
3. tomcat的安装
这个之前也写过:
写的比较水,建议多百度几篇博客。
4. 构建底层实体类
底层实体类是指代码中 modle这个package里面的两个类,Message 和User,他们是实现数据库和服务器交流的桥梁,我们可以通过操作这两个类,从前端中读取数据存入数据库,也可以从数据库中读出数据,传到前端中。
说白了,就是构建两个对象,一个是用户对象,一个是留言对象。
5. 构建数据库操作类
利用前面构建的实体类和连接的数据库,我们先写出与数据库相关的增加,删除,查找操作。具体就是构建两个类,LoginDb和MessageDb 。
6. 构建服务端类
服务端主要是利用servlet 来实现。在登录界面时,当用户提交了信息以后,我们可以利用servlet来接收到这些信息,从而做出判断,最后再通过servlet反馈给前端。
这里面涉及到的知识非常多,我是从网易课堂 :https://study.163.com/course/courseMain.htm?courseId=1005809017
里面直接学习的,建议看 3,4,5,6,7,13这几节课,看完对servlet就有一定了解了。
至于实现的话:分成LoginService ,RegisterService,DrawImage,MessageService 。
就是对不同的模块,都需要构建不同的servlet来实现。
DrawImage是用于生成验证码的,生成验证码的算法是借鉴了某位大佬的,忘记是谁了。
7. 写各个页面
剩下就是利用jsp来实现各个页面了。
8. 可扩展
目前写的还是很简陋,有很多功能还没加上去。
未来如果写的话,还会加入以下功能:
1. 用户头像
2. 管理员界面(可以删除不正当的留言)
3. 留言历史的分类(根据内容,用自然语言处理对留言进行归类,这条这个学期应该要做,比较有门课要求.....)
4.点赞功能(这个很简单,在留言后面加一个点赞符号,数据库加点东西就行)
5. 增加vip用户功能,可以更改自己的昵称,密码等个人信息
......
好吧,吹牛我最擅长了..........
代码都在github里面:github地址