本篇文章主要说的是项目的搭建
我学springmvc是看着疯狂java系列的《spirngmvc+mybatis企业应用实战》,书中最后一章是搭建一个系统,内容很多,我花了两天时间,把代码敲了,还把书中的注释也打上了,方便日后整理。在敲的过程中,我学到了很多,比如代码的规范,以及做为一个项目应该有的目录结构.
让我体会比较深刻的是,接口的规范。当我敲service层时,我不是很理解为什么要写一个接口,然后再来继承他,写接口的实现。之前书上说的,加上我之前学的,也都只是说这样可以实现一种标准,一种规范。觉得这些都是大家都知道的规范,没必要那么麻烦。可当我在敲这个代码时,我发现,接口不仅仅是提供一种规范,因为在接口方法名写上了注释,当需要了解或者调用方法时,直接看注释并调用即可,非常方便。之前我也有想过,直接在一个类中(没有继承接口)写这些方法,并加上注释或者方法说明,也能达到一样的目的,但是如果这些方法有很多个呢,我写的这个项目service接口就有36个接口,如果放在一个类中挨个写,再加上注释,这个文件将会大大降低可读性,而放在一个接口中,可以一目了然,也方便自己和他人了解函数方法和以后的维护。
在敲完一遍代码后,我满心欢喜的去运行,果不其然,各种报错。有些错误,是语法错误,在idea中就会提示,你只需根据提示进行修改即可,而有些错误,是逻辑错误,经常就是点击一个链接或者敲入url后,报404或者500错误,在这之前,我比较喜欢的做法是,觉得有问题的代码把他先注释掉,或者在其中加入log日志打印,看看到底哪里出问题,从而进行修改。我也知道调试,但我觉得,加注释或者日志方法更“简单粗暴”,可这种方法解决一些逻辑相对比较简单,代码量相对比较的小的demo还行,但遇到一些比较大的项目,这种方法很难有效解决问题。还好之前,主管教会了我具体怎么调试,于是我慢慢调试,并根绝里面信息进行修改代码。终于能够成功运行,当时感觉就是成就感爆棚,虽然这只是敲出来的,而不是自己写的。人事系统大致如下:
这是登录页面
这是登陆成功后的主页
因为我之前没写过什么项目,所以对于安全性这一块我基本没什么概念,当我把我写的demo给主管看的时候,我甚至还说“拦截器”没什么用这样的话,因为我在敲拦截器代码的时候,发现这段代码只是拦截一些网址,我心想,如果网址不对,那肯定就不能访问这个项目呗,为什么还要进行拦截呢,感觉有些多余,于是就把拦截器代码给暂时注释了。主管马上就用了我项目中一个表格的url地址进行输入,发现可以直接访问,并且是在我没有登录的情况下!所以在那之后,我重新思考了拦截器的作用,才发现拦截器是一个springmvc中很重要的部分,我项目中用到的拦