发表于: 2017-10-17 23:39:04
1 805
今天完成的任务
看了一下深度思考,把所有任务一二接触到的概念整理了一下
1.什么是restful?rest的请求方法有哪些,有什么区别?
restful是一种设计风格,有GET,POST,DELETE,PUT四种请求方法
3.了解maven的module。
感觉理解不是很深,有种就像
的感觉
4.什么是http协议?Get和post请求有什么区别?http请求content-Type有几种,有什么区别?http适合什么场景?http状态码有哪些?
HTTP 超文本传输协议 定义服务器端和客户端之间文件传输的沟通方式
htto请求的content-Type有
序号 | 内容类型 | 文件扩展名 | 描述 |
1 | application/msword | doc | Microsoft Word |
2 | application/octet-stream bin | dms lha lzh exe class | 可执行程序 |
3 | application/pdf | Adobe Acrobat | |
4 | application/postscript | ai eps ps | PostScript |
5 | appication/powerpoint | ppt | Microsoft Powerpoint |
6 | appication/rtf | rtf | rtf 格式 |
7 | appication/x-compress | z | unix 压缩文件 |
8 | application/x-gzip | gz | gzip |
9 | application/x-gtar | gtar | tar 文档 (gnu 格式 ) |
10 | application/x-shockwave-flash | swf | MacroMedia Flash |
11 | application/x-tar | tar | tar(4.3BSD) |
12 | application/zip | zip | winzip |
13 | audio/basic | au snd | sun/next 声音文件 |
14 | audio/mpeg | mpeg mp2 | Mpeg 声音文件 |
15 | audio/x-aiff | mid midi rmf | Midi 格式 |
16 | audio/x-pn-realaudio | ram ra | Real Audio 声音 |
17 | audio/x-pn-realaudio-plugin | rpm | Real Audio 插件 |
18 | audio/x-wav | wav | Microsoft Windows 声音 |
19 | image/cgm | cgm | 计算机图形元文件 |
20 | image/gif | gif | COMPUSERVE GIF 图像 |
21 | image/jpeg | jpeg jpg jpe | JPEG 图像 |
22 | image/png | png | PNG 图像 |
这我压根没接触过啊...
http一般适用于普通网页,安全性较低传输速度慢的它不适合比较重要的服务和及时性高的服务
状态码我记得最清楚的是404和500
5.什么是tcp/ip协议?TCP的三次握手指的是什么,为什么一定要三次握手,而不是四次或者是两次?
tcp/ip协议是internet最基本的协议
tcp保证数据安全传输到目标,ip是联网设备独一无二的地址
tcp三次握手是:
第一次
建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;
syn:TCP/IP建立连接时使用的握手信号
SYN_SENT:表示请求链接的状态
第二次
服务器收到syn包,必须确认客户的ACK(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
SYN_RECV:服务端被动打开后,接收到了客户端的SYN并且发送了ACK时的状态
第三次
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
大概用白话说一下:
第一次是小明(客户端)在上课通过同学给小红(服务器)递情书(SYN=K)并进入发情状态(SYN_SENT状态)等小红回信。
第二次是小红在情书上批已阅【ACK(ack=k+1)】,并且也写了一份情书给小明(SYN=q),并进入等撩状态(SYN_RECV状态)
第三次是小明收到小红的回信(SYN+ACK包),然后发消息[ACK(ack=k+1)]小红确认我们下课去xx酒店开房吧,发送完毕,两者下课开房(连接状态)
四次分手:
第一次
当服务器和客户端需要连接断开的时候
首先一方(以客户端为例)发送SYN包(k)与ACK包(q)到服务器上,并进入FIN_WAIT_1
第二次
服务器返回客户端发送的请求通过ACK包(k+1),声明同意客户端的请求,客户端进入FIN_WAIT_1
第三次
服务器发送FIN(q),请求关闭连接,客户端进入LAST_ACK
第四次
客户端向服务器发送(q+1),并进入TIME_WAIT,服务器收到请求后关闭连接,客户端等待后发现没有回复,也关闭连接
这个我就不通俗比喻了..
参考图
9.Annotation和XML两种配置的差别,为什么更喜欢使用Annotaion来配置Spring MVC?
annotation整合在代码里,比较简单直观页面少
xml比较繁琐,但是是代码以外的东西,可以简单修改
10.使用Annotaion的时候需要有哪些配置,他的加载过程是怎么样的?
配置:在我看来就是xml的bean声明去哪扫描配置
加载过程: 有点看不懂
11.什么是Filter,什么是Interceptor,他们的区别是什么,和AOP又是什么关系?
过滤器,拦截器都是面向切面编程思想的体现
filter依赖servlet容器,只在容器初始化的时候调用一次。是设置拦截某种url字符等的设置
Interceptor是一个普通的Java对象。就是在执行service前调用的方法
12.生成Json有几种方式,他们之间的好处和坏处分别是什么,为什么推荐使用JsonTaglib来处理Json?
1.通过JSONarray
@Test
public void json(){
JSONArray json = new JSONArray();
List<Category> cs=categoryService.list();
for (Category c : cs) {
JSONObject js = new JSONObject();//new一个JSONObject对象,命名为wangxiaoer
js.put("name",c.getName());
js.put("id",c.getId());
json.put(js);
}
System.out.print(json.toString());
}
2.使用PesponseBody返回的也是json格式
@RequestMapping(value ="listCategory", method = RequestMethod.GET)
public @ResponseBody List<Category> listCategory(Model model){
List<Category> cs= categoryService.list();//获得表
model.addAttribute("listCategory",cs);
return cs;
}
3.json-taglib
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%>
<!--相当于response.setContentType("text/html; charset=UTF-8"); 通知浏览器以UTF-8进行中文解码 导入jar包-->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<html>
<body>
<json:object>
<json:array name="category" var="c">
<json:object>
<json:property name="id" value="${c.id}"/>
<json:property name="name" value="${c.name}"/>
</json:object>
</json:array>
</json:object>
</body>
</html>
为啥要用json-taglib
大概是因为在jsp页面的配置吧
明天要做的事
今天看了半天才做到深入学习的一小半
明天挑重点看看,然后准备任务三
遇到的问题
收获
评论