发表于: 2017-09-26 20:30:52
2 779
今天完成的事情:
1.任务二深度思考内容
①什么是restful?rest的请求方法有哪些,有什么区别?
是一种软件架构风格。请求方法有GET、DELETE、POST、PUT,也可能包括HEADER、OPTIONS,
PUT与POST相似,都是用以像服务器发送数据,而它们的区别是,PUT通常指定了资源的位置,POST的数据则由服务器决定其位置
DELETE为删除资源,比较少见
GET用以向服务器请求资源,POST用以向服务器提交数据,而GET通常有长度限制,并且获取的数据都呈现在URL中,而POST则没有这种限制
②为什么要用Rest风格,如果不用Rest的话,接口应该怎么定义,在使用Rest风格之前,大家都是用什么方式写接口的?
Restful风格具有如下优点:
URL具有很强可读性的,具有自描述性;
资源描述与视图的松耦合;
可提供OpenAPI,便于第三方系统集成,提高互操作性;
如果提供无状态的服务接口,可提高应用的水平扩展性;
rest风格之前,也有其他架构风格,下图是rest风格所继承的架构风格
③了解maven的module
在小项目中,使用较少依赖的pom.xml没有问题;但是在大项目中,甚至得依赖war包,而这在maven中会很麻烦,而且会产生高耦合的问题,当一个人出现了bug,那么其他人也无法编译
maven的module即为maven依赖的模块化,具体示例结构如下:
---- app-parent
|-- pom.xml (pom)
|
|-- app-util
| |-- pom.xml (jar)
|
|-- app-dao
| |-- pom.xml (jar)
|
|-- app-service
| |-- pom.xml (jar)
|
|-- app-web
|-- pom.xml (war)
其中,模块的依赖关系如下
app-dao --> app-util
app-service --> app-dao
app-web --> app-service
使用模块化的好处有:
一、方便重用,如果你有一个新的swing项目需要用到app-dao和app-service,添加对它们的依赖即可,你不再需要去依赖一个WAR。而有些模块,如app-util,完全可以渐渐进化成公司的一份基础工具类库,供所有项目使用。这是模块化最重要的一个目的。
二、由于你现在划分了模块,每个模块的配置都在各自的pom.xml里,不用再到一个混乱的纷繁复杂的总的POM中寻找自己的配置。
三、如果你只是在app-dao上工作,你不再需要build整个项目,只要在app-dao目录运行mvn命令进行build即可,这样可以节省时间,尤其是当项目越来越复杂,build越来越耗时后。
四、某些模块,如app-util被所有人依赖,但你不想给所有人修改,现在你完全可以从这个项目结构出来,做成另外一个项目,svn只给特定的人访问,但仍提供jar给别人使用。
五、多模块的Maven项目结构支持一些Maven的更有趣的特性(如DepencencyManagement),这留作以后讨论。
深度思考比想象中要难,一边做任务一边慢慢写吧。
2.初步了解了任务4的做法
①tiles
了解了tiles的用法
通过tiles框架将页面划分为几个部分,为重复的部分配置模板通过配置文件在主体文件中插入模板以复用
我的理解基本上是这样,晚上试着配置了下demo没有成功,明天再试试
②将静态页面变为动态页面的建表方案
t10页面:
学习人数可以从学员表中使用count取得,工作中人数可以从已结业表中取得
剩下的就是优秀学员建个表
t11页面:
每个职业中的数据建一个表,一行数据代表一个职业
具体建表数据明天再贴出
明天计划的事情:
1.完成一个tiles的demo,尝试使用tiles配置任务4的页面
2.建表,将静态页面转换成动态
3.关于小课堂,距离到我还有几天,先查下资料选定题目
遇到的问题:
配置SpringMVC失败
HTTP Status 404 – Not Found
Type Status Report
Message /TilesTask
Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
按着前一个任务一样的配置,还不知道是哪里出错了,前一天赶任务睡得太晚,回去就睡了,没有解决
早上补充一下:看了下tomcat的错误日志,是因为sqlSessionFactory下的location需要加载xml,而mybatis的xml没写,所以报错了,注释掉了就可以运行了
收获:
了解tiles的用法,以及如何将静态页面改为动态页面
进度:
任务3开始时间:2017.09.26
预计demo时间:2017.09.30
延期风险:有
理由:第一次做小课堂,不知道要准备多久,耗费多少时间
禅道
http://task.ptteng.com/zentao/project-task-350.html
评论