上学期刚刚学完java后台,招新网站是一个很好的练习的机会,所以当时群里有人问有没有人想做招新网站,我就报名了。从这次招新网站中确实学到了不少东西,为后面学习SSM打下了很好的基础。招新网站我主要负责后台的部分,所以就在这里讲一下招新网站的后台
讲招新网站,首先讲一下后台代码的分层:
- DAO —— Data Access Object数据访问对象(接口)
- DAOImpl —— DAO的实现类
- entity —— 数据对象的实体(有些地方叫model层)
- Service(不是Server)——就是中间层、业务逻辑层(接口)
- ServiceImpl —— Service的实现类
- Servlet——JAVA WEB小应用(有时叫Controller层)
附上招新网站的代码截图:
ctgu.qmx.com.jdbc是自己写的连接数据库的小工具类
这里也有必要讲一下java后台处理请求的逻辑
在前端发送一个请求时,这个请求首先是传到servlet层(在xml中配置请求的servlet路径),在servlet层中再调用service层中的业务,service层就会调用相应的dao层中的方法,对数据库中的数据进行增删改查。
这样框架大致都构建好了,只需要在相应的类中进行一些业务逻辑实现就行了。说起来很简单,现在觉得确实也很简单,不过当时做的时候还是感觉有点难的,那时候什么都不知道,只能一步步摸索,百度。
需要改进的地方:
- 因为当时没有学数据库这么课程,数据库的知识都是自学的,很多东西都不知道,在写SQL语句的时候就有一些很low的操作,比如统计后台报名总人数的SQL,我竟然是用for循环来统计的。。。其实count一下就好了。
- 连接数据库忘记关闭,以前自己写demo的时候就没有在意,几行代码不管也不会出现任何问题,可是在做一个完整的项目时,千万不能这样,数据库连接没有关闭会造成服务器内存的浪费,数据量比较大时说不定就会让服务器崩掉。wh在配置招新网站时就蹦过几次,我怀疑就是因为我的数据库连接没有关闭。
- 在写正则匹配验证时,没有注意到手机号为166开头的情况,导致有一个人无法报名。。
- 后台显示人数时,可以考虑把硬件组和开发组分开,这样他们操作起来更方便一点。
学习到的一些地方:
- 首先最大的体会就是了解了java后台处理请求的基本流程。
- 后台java包的命名与分层。
- MVC分层模式。
- 跟平时自己写东西不一样的是,这是一个完整的项目,要考虑用户体验感,要检查有没有bug出现,而不是满足于基本功能的实现。