发表于: 2017-10-19 21:12:31

1 679



今日:

深度思考:

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

面向资源,使用URL定位资源,用http请求方式描述操作

GET:select,从指定的资源请求数据。

POST:create向指定的资源提交要被处理的数据

DELETE:delete删除

PUT:update更新

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

Restful统一简洁,语义明确直白。


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

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。是一个客户端和服务器端请求和应答的标准(TCP)。

post比get安全(不保留请求),限制小(类型无限制,长度无限制)

1xx:信息

100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。
101 Switching Protocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。

2xx:成功

200 OK请求成功(其后是对GET和POST请求的应答文档。)
201 Created请求被创建完成,同时新的资源被创建。
202 Accepted供处理的请求已被接受,但是处理未完成。
203 Non-authoritative Information文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝。
204 No Content没有新文档。浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。
205 Reset Content没有新文档。但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容。
206 Partial Content客户发送了一个带有Range头的GET请求,服务器完成了它。

3xx:重定向

300 Multiple Choices多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址。
301 Moved Permanently所请求的页面已经转移至新的url。
302 Found所请求的页面已经临时转移至新的url。
303 See Other所请求的页面可在别的url下被找到。
304 Not Modified未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
305 Use Proxy客户请求的文档应该通过Location头所指明的代理服务器提取。
306 Unused此代码被用于前一版本。目前已不再使用,但是代码依然被保留。
307 Temporary Redirect被请求的页面已经临时移至新的url。

4xx:客户端错误

400 Bad Request服务器未能理解请求。
401 Unauthorized被请求的页面需要用户名和密码。
402 Payment Required此代码尚无法使用。
403 Forbidden对被请求页面的访问被禁止。
404 Not Found服务器无法找到被请求的页面。
405 Method Not Allowed请求中指定的方法不被允许。
406 Not Acceptable服务器生成的响应无法被客户端所接受。
407 Proxy Authentication Required用户必须首先使用代理服务器进行验证,这样请求才会被处理。
408 Request Timeout请求超出了服务器的等待时间。
409 Conflict由于冲突,请求无法被完成。
410 Gone被请求的页面不可用。

5xx:服务器错误

00 Internal Server Error请求未完成。服务器遇到不可预知的情况。
501 Not Implemented请求未完成。服务器不支持所请求的功能。
502 Bad Gateway请求未完成。服务器从上游服务器收到一个无效的响应。
503 Service Unavailable请求未完成。服务器临时过载或当机。
504 Gateway Timeout网关超时。
505 HTTP Version Not Supported服务器不支持请求中指明的HTTP协议版本。


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

配置sevlet的名称,class,加载Spring配置文件,定义启动时就加载这个servlet:

<servlet>

    <servlet-name>application-servlet</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <init-param>

      <param-name>contextConfigLocation</param-name>

      <param-value>classpath:spring/spring-*.xml</param-value>

    </init-param>

    <load-on-startup>1</load-on-startup>

  </servlet>

定制servlet的映射:(这个就是匹配所有内容)

  <servlet-mapping>

    <servlet-name>application-servlet</servlet-name>

    <url-pattern>/</url-pattern>

  </servlet-mapping>

 

过滤器:(只有UTF-8的可以)

 <filter>

    <filter-name>encodingFilter</filter-name>

    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

    <async-supported>true</async-supported><!--启用异步支持,web3.0特性-->

    <init-param>

      <param-name>encoding</param-name>

      <param-value>UTF-8</param-value>

    </init-param>

  </filter>

  <filter-mapping>

    <filter-name>encodingFilter</filter-name>

    <url-pattern>/*</url-pattern>

    </filter-mapping>

监听器:

<listener>    

      <listerner-class>listener.SessionListener</listener-class>    

</listener> 



29.PostMan是什么,为什么要使用他来测试接口,除了Postman,还有哪些工具可以测试?

PostMan是一种网页调试与发送网页http请求的chrome插件。通过它模拟请求来测试接口是否正确。还有dhc。


34.C标签是什么,为什么要使用C标签,有哪些常见的指令?

Core标签库主要包括了一般用途的标签、条件标签、迭代标签和URL相关的标签。

要添加<%@ taglib rui=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>

主要有迭代<c:foreach/> 输出<c:out/> 

明日:

1任务二总结

2开始任务三


问题:

乱码问题:

web.xml添加过滤器:

注意文件头更改为3.0版本

<filter>
 <filter-name>encodingFilter</filter-name>
 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 <async-supported>true</async-supported>
 <init-param>
   <param-name>encoding</param-name>
   <param-value>UTF-8</param-value>
 </init-param>
</filter>
<filter-mapping>
 <filter-name>encodingFilter</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>

jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>


@responsebody返回乱码:

<mvc:annotation-driven>
   <!-- 消息转换器,解决responseBody返回中外乱码问题 -->
   <mvc:message-converters register-defaults="true">
       <bean class="org.springframework.http.converter.StringHttpMessageConverter">
           <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
       </bean>
   </mvc:message-converters>
</mvc:annotation-driven>


收获:


返回列表 返回列表
评论

    分享到