JavaWeb笔记-10-response、doGet和doPost 、get与post、编码、路径

response:传递http响应内容


response类型为HttpServletResponse

ServletResponse:与协议无关的类型
HttpServletResponse:与协议有关的内容

1、http响应内容:


状态码:

    200(2开头表示成功) 
    302(3开头表示中转)
    404(4开头表示客户端出错)
    500(5开头表示服务器出错)

方法: sendError(int sc); 发送错误状态码
     sendError(int sc, String name); 发送错误状态码,及错误信息
     setStatus(int sc); 成功码或中转码

响应头:键值对 Content-Type、Refresh、Location等

       ***:setHeader(String name,String value);设置单值响应头

        addHeader(String name,String value);用来添加响应值。
        setIntHeader(String name,int value);设置int类型单值响应头
        addHeader(String name,int value);添加int类型响应头         
        setDateHeader(String name,int value);设置long类型单值响应头,用来表示时间
        addDateHeader(String name,int value);添加long类型响应头

响应体:通常为html 也可以是图片。

    response流:
        ServletOutputStream:向客户端发送字节数据
        response.getOutputStream().write("数据");

        PrintWrite:向客户端发送字符数据,需要设置编码
            response.getWriter().print("数据");

         注:两个流不能同时用


响应状态码实例:
    //发送404
    response.sendError(404, "你访问的资源存在,就不给你看");

这里写图片描述

响应头案例:

location头

重定向案例: 由Bservlet转到目标url
    //1.设置Location  url为 /项目名/路径
    response.setHeader("Location", "/day10_1/CServlet");
    //2.发送302码
    response.setStatus(302);

快捷重定向:  
    response.sendRedirect("url");  

Refresh头

定时刷新案例:设置Refresh头  (可理解为定时的重定向)

// 发送相应体
response.getWriter().print("5秒种后跳转");
    //拿到PrintWriter字符流,然后对流进行操作,用response调用,返回到response中

// 设置定时响应    
response.setHeader("Refresh", "5;/day10_1/CServlet");
     //参数为  "refresh响应头","时间;url"

Cache-Control、pragma、expires头

禁用浏览器缓存
response.setHeader("Cache-Control", "no-cache");
response.setHeader("pragma", "no-cache");
response.setHeader("expires", "-1");

注:<mate>标签可以代替响应头。
eg: <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">  

2、doGet和doPost && get与post


doGet和doPost

其实都是用来接收前端传过来的数据,本质上都是请求方法。

服务器创建servlet对象后,servlet对象调用init方法初始化自己。
以后每当服务器接收到一个servlet请求时,都会调用产生一个新线程,
在这个新线程中,servlet对象调用service对象对HTTP请求类型进行检查,
判断出请求类型是get还是post,
在service方法中,根据请求类型对应的调用doGet、doPost方法。

get与post
这里写图片描述
这里写图片描述

3、编码


常见编码:uthf-8、 ios-8859-1、 gb2312、 gbk、

响应编码:服务器到客户端
这里写图片描述

请求编码:客户端到服务器
这里写图片描述

URL编码

作用: 传递中文时,在客户端和服务器之间把中文转换成适合网络的方式

此编码不是字符编码!

4、路径


这里写图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值