声明:这是实践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为外键,将用户的每一条留言都存储在数据库中。

java 留言功能 java留言板系统_java 留言功能

两个表的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来实现各个页面了。

java 留言功能 java留言板系统_数据库_02

 

java 留言功能 java留言板系统_mysql_03

 

java 留言功能 java留言板系统_java 留言功能_04

java 留言功能 java留言板系统_mysql_05

8. 可扩展

   目前写的还是很简陋,有很多功能还没加上去。

   未来如果写的话,还会加入以下功能:

  1. 用户头像

  2. 管理员界面(可以删除不正当的留言)

 3. 留言历史的分类(根据内容,用自然语言处理对留言进行归类,这条这个学期应该要做,比较有门课要求.....)

 4.点赞功能(这个很简单,在留言后面加一个点赞符号,数据库加点东西就行)

 5.  增加vip用户功能,可以更改自己的昵称,密码等个人信息

......

好吧,吹牛我最擅长了..........

 

代码都在github里面:github地址