发表于: 2017-09-22 23:54:41

1 832


今天完成的事情,

完成小课堂. 

提交任务二代码.

 任务二深度思考..

1.什么是restful?rest的请求方法有哪些,有什么区别?

2.为什么要用Rest风格,如果不用Rest的话,接口应该怎么定义,在使用Rest风格之前,大家都是用什么方式写接口的?

了解REST得知道5个名字:
1、资源 Resource
资源就是服务器上获取到的东西都可以说是资源,一条用户记录,一个用户的密码,一张图片等等都是
2、资源的表述 Representation
就是资源的格式,是HTML、XML、JSON、纯文本、图片等等,可以用各种各样的格式来表述你获取到的资源,
3、状态转移 State Transfer
URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。操作是动词,资源是名词
4、统一接口 Uniform Interface

REST必须通过统一的接口对资源进行操作,HTTP1.1协议定义了资源的统一接口:

Restful API就是按照REST架构的思想设计出来的API

核心就是:将API拆分为逻辑上的资源,这些资源通过http(GET/POST/PUT/DELETE等)被操作.

其实HTTP 1.1协议的整体软件架构就可以说是REST架构


3.了解maven的module

module  从字面意思来说,module就是模块,而pom.xml中的modules也正是这个意思,用来管理同个项目中的各个模块;如果maven用的比较简单,或者说项目的模块在pom.xml没进行划分,那么此元素是用不到的;不过一般大一点的项目是要用到的

.需求场景  如果我们的项目分成了好几个模块,那么我们构建的时候是不是有几个模块就需要构建几次了(到每个模块的目录下执行mvn命令)?当然,你逐个构建没问题,但是非要这么麻烦的一个一个的构建吗,那么简单的做法就是使用聚合,一次构建全部模块


4.什么是http协议?Get和post请求有什么区别?http请求content-Type有几种,有什么区别?http适合什么场景?http状态码有哪些?

     HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。

PUT,DELETE操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。顺便说一句,因为GET操作是安全的,所以它自然也是幂等的
POST操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。

http适用场景:公司OA服务,互联网服务 

5.什么是tcp/ip协议?TCP的三次握手指的是什么,为什么一定要三次握手,而不是四次或者是两次?

Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址

第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等待服务器的确认;

第二次握手:服务器收到SYN报文段。服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置Acknowledgment Number为x+1(Sequence Number+1);同时,自己自己还要发送SYN请求信息,将SYN位置为1,Sequence Number为y;服务器端将上述所有信息放到一个报文段(即SYN+ACK报文段)中,一并发送给客户端,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK报文段。然后将Acknowledgment Number设置为y+1,向服务器发送ACK报文段,这个报文段发送完毕以后,客户端和服务器端都进入ESTABLISHED状态,完成TCP三次握手.

6.什么是WEBService,实现WEBService有哪些框架.

      Web Service(WEB服务)能够快捷和方便地综合结合各种系统、商务和任何应用平台。利用最新的Web Service 标准能够使任何软件系统和系统之间的应用互通互联,方便,而且更加廉价。

     CXF是Apache旗下一个重磅的SOA简易框架,它实现了ESB(企业服务总线)

XFire的优点是开发方便,与现有的Web整合很好,可以融为一体,并且开发也很方便。但是对Java之外的语言,没有提供相关的代码工具。

      Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和发布WebService,而且可以生成Java和其他语言版WebService客户端和服务端代码。这是它的优势所在。这也导致Axis2的复杂性,它所依赖的包数量和大小都是很惊人的,打包部署发布都比较麻烦,不能很好的与现有应用整合为一体。但是如果你要开发Java之外别的语言客户端,Axis2提供的丰富工具将是你不二的选择。

      JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径。

7.Spring MVC和Struts的区别是什么,为什么更倾向于使用Spring MVC.

struts2框架是类级别的拦截每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入
struts2实际上是通过setter getter方法与request打交道的
struts2中,一个Action对象对应一个request上下文
spring3 mvc不同,spring3mvc方法级别的拦截
拦截到方法后根据参数上的注解,把request数据注入进去
spring3mvc中,一个方法对应一个request上下文

8.web.xml里的主要配置都包括什么,都代表什么含义,比如怎么加载Spring 配置的

定义头和根元素,项目名称,欢迎页面,servlet,监听器,过滤器 ,这几个是比较常用的.


明天的计划 :

给师兄演示小课堂.

拆分禅道

继续深度思考.


遇到的问题:

今天看的内容有点多,有种练太极的感觉..看了就忘...先过一遍再说吧,  至少先把知识点保存下来.


任务开始时间2017-9-15

任务结束时间2017-9-25

无延期风险

禅道;http://task.ptteng.com/zentao/task-view-10854.html








返回列表 返回列表
评论

    分享到