天天看点

逆水行舟之servlet学习第三天

一、HTTP协议

1. 请求消息:客户端发送给服务器端的数据,数据格式:

1.  请求行
  	2.  请求头
  	3.  请求空行
  	4.  请求体
           

2. 响应消息:服务器端发送给客户端的数据,数据格式:

  1. 响应行

    |-. 组成:协议/版本 响应状态码 状态码描述

    |- 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。

  2. 响应头:

    |- 格式:头名称: 值

    Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式

    Content-disposition:服务器告诉客户端以什么格式打开响应体数据

  3. 响应空行
  4. 响应体:传输的数据

二、Response

1. 重定向方式一:

response.setStatus(302);
        // 获取路径
        String path = request.getContextPath();
        response.setHeader("location",path+ "/ServletB");
           

2. 重定向方式二:

String path = request.getContextPath();
        response.sendRedirect(path +"/ServletB");
        
           

三、ServletContext

1. ServletContext:代表整个web应用,可以和程序的容器(服务器)来通信

request.getServletContext().setAttribute("username","Lili");
           
. 
           

2. 从另一个servlet获取

逆水行舟之servlet学习第三天

四、文件下载案例

1. 创建一个文件c.txt,放到web同目录下,也可以放在自定义的resources资源下

逆水行舟之servlet学习第三天

2. 编写servlet

逆水行舟之servlet学习第三天

3. 测试

逆水行舟之servlet学习第三天

补充:

状态码:

  1. 1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码
  2. 2xx:成功。代表:200
  3. 3xx:重定向。代表:302(重定向),304(访问缓存)
  4. 4xx:客户端错误。

    代表:

    * 404(请求路径没有对应的资源)

    * 405:请求方式没有对应的doXxx方法

  5. 5xx:服务器端错误。代表:500(服务器内部出现异常)

Learn to live:

要让别人喜欢你,你就得先喜欢别人,对他人感兴趣的事情感兴趣,才能使他人对自己感兴趣,这就是人与人的交往(卡耐基《人性的弱点》)

继续阅读