A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马11期 初级黑马   /  2018-12-29 15:07  /  729 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                   响应相关知识
请求消息 : 客户端发送给服务器端的数据
响应消息 : 服务器发送给客户端的数据

响应行:
1)组成 : 协议/版本 响应状态码描述
2)响应状态码: 服务器告诉客户端浏览器本次请求和响应的状态
  *状态码都是三位数字
  *分类
    -1xx : 服务器接收客户端消息,但没有接收完成,等待一段时间后,发送1xx多状态码
    -2xx : 成功 . 代表 : 200
    -3xx : 重定向 .代表 : 302(重定向),304(访问缓存)
      *重定向 : 资源跳转方式                                                                                    
      *简单的重定向代码sendRedirect()
    -4xx : 客户端错误
        *代表:404(请求路径没有对应的资源)
        *代表:405(请求方式没有对应的doXxx方法)
    -5xx : 服务器端错误

        *代表:500(服务器内部出现异常)
响应头 :
1)格式 : 头名称 : 值
2)常见的响应头
    *Content-type : 服务器告诉客户端本次响应体数据格式以及编码格式<text/html;charset=utf-8>
    *Content-disposition:服务器告诉客户端以什么格式打开响应体数据
       *值 :
         *in-line :默认值,在当前页面内打开
         *attachment ;filename=xxx: 以附件形式打开响应体.文件下载
3)响应空行:
4)响应体 : 传输的数据

Response
1)功能 : 设置响应消息的
*设置响应行
    //格式 : HTTP/1.1 200 ok
    //设置状态码 : setStatus(int sc)
*设置响应头
    //setHeader(String name , String value)
*设置响应体
    //使用步骤 :
        -获取输出流
        /*字符输出流 : PrintWriter ->getWriter ()
        /*字节输出流 : ServletOutputStream ->getOutputStream()
        -使用输出流,将数据输出到客户端浏览器


转发的特短 :
    1)转发地址栏路径不变
    2)转发只能访问当前服务器下的资源
    3)一起请求,可以使用request对象来共享数据
重定向的特点
    1)重定向地址栏发生改变
    2)重定向可以访问其他站点(服务器)的资源
    3)重定向两次访问,不能使用request对象来共享数据
    4)重定向需要加虚拟目录
forward(转发) 和 redirect(重定向)

路径写法 :
1)路径分类
*相对路径 : 通过相对路径不可以确定唯一资源
    *不以/开头,以 . 开头的路径
    *规则 :找到当前资源和目标资源之间的相对位置关系
*绝对路径 : 通过绝对路径可以确定唯一资源
    *以/开头的路径
    *规则: 判断定义的路径是给谁用的?判断请求将来从哪发出
        *给客户端浏览器用: 需要加虚拟目录
        *给服务器端使用,不需要写虚拟目录
            *转发路径 不需要提供虚拟目录
        *建议虚拟目录动态获取


SerletContext
1)概念 : 代表整个web应用,可以和容器(服务器)来通信
2)获取 :
通过request获取
    *request.getServletContext();
HttpServlet获取
    *this.getServletContext();
3)功能 :
    *获取MIME类型 :在互联网通信过程中定义的一种文件数据类型
        //Mime类型是在tomcat的web/.xml中声明
         //方法:contxet.getMiMeType
    *域对象: 共享数据(几乎不用)
     -setAttribute(String name . Object value)
     -getAttribute(String name)
     -removeAttribute(String name)
     *SrevletContext对方范围 :所有用户请求的数据
    *获取文件的真实(服务器)路径

获取文件的服务器路径(下载)
1)方法 : String - >getRealPath(String path)
*访问web目录下文件  / 文件 .后缀
*访问web-inf下文件   / web-inf/文件.后缀
*访问src目录下的文件  /web-inf/classes/文件.后缀
*访问src目录下的文件的另一种方式 :
    -class.getClassLoader.              

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马