zoukankan      html  css  js  c++  java
  • ServletResponse使用介绍

        ServletResponse为将响应发送到客户端的对象;Servlet 容器创建 ServletResponse 对象,并将它作为参数传递给Servletservice 方法,如下图 ;

        

        HttpServletResponse对象封装了向客户端发送数据、发送响应头,发送响应状态码的方法;

      • 常用API

    void setStatus(int sc) 设置此响应的状态代码
    
    void setHeader(String name, String value)  用给定名称和值设置响应头
        • 使用步骤

        1. 创建ResponseServlet;

        2. 调用setHeader,设置消息头;

        3. 调用setStatus,设置响应状态码;

      • 常见响应头    

      

    location:
    重定向操作:通常告知浏览器马上向该地址发送请求,通常和响应码302一起使用;
    
    content-encoding:
    设置当前数据的压缩格式,告知浏览器以何种压缩格式解压数据;
    
    content-disposition:
    通知浏览器以何种方式获取数据(直接解析数据(网页,图片文本),或者以附件方式(下载文件);
    
    content-type:
    实体头部用于指示资源的MIME类型(MIME类型:用于提示当前文件的媒体类型,例如图片——(image/png)、音频——(audio/ogg);
    它的作用与传统上Windows上的文件扩展名相同。该名称源于最初用于电子邮件的MIME标准);
    
    content-type常用的设置一般都是——“text/html;charset=utf-8”,其中“text/html;”——设置浏览器以文件格式解析数据;“charset=utf-8”——响应数据的编码表;
    

      

      重定向使用:

        重定向是服务器通知浏览器去访问另一个地址,即再发出另一个请求,是客户端行为;
        

        实现步骤:

           1.response.setStatus 设置状态码

           2. response.setHeader 设置响应头

           3. response.sendRedirect 重定向

        

        重定向代码实现1:

    public class AServlet extends HttpServlet {
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
    
              //响应码为200表示响应成功,而响应码为302表示重定向;所以完成重定向的第一步就是设置响应码为302; response.setStatus(302);
              //因为重定向是通知浏览器再第二个请求,所以浏览器需要知道第二个请求的URL,所以完成重定向的第二步是设置Location头,指定第二个请求的URL地址 response.setHeader("Location", "http://localhost:8080/hello/BServlet"); } }

      

        重定向代码实现2:

    public class AServlet extends HttpServlet {
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    		response.sendRedirect("/hello/BServlet");
    
    	}
    
    }
    

      

        特点:

          1.重定向是客户端行为;
          2.重定向是浏览器做了至少两次的访问请求的;
          3.重定向浏览器地址改变;
          4.重定向2次跳转之间传输的信息会丢失(request范围),不能使用request域对象进行数据共享;
          5.重定向可以指向任何的资源,包括当前应用程序中的其他资源,同一个站点上的其他应用程序中的资源,其他站点的资源;
          注意:传递给HttpServletResponse.sendRedirect 方法的相对URL“/”开头,它是相对于整个WEB站点的根目录 ;

     

  • 相关阅读:
    android性能优化之布局优化
    android性能调优之traceview的使用
    android性能优化
    EditText光标居上
    ExecutorService的submit(Runnable x)和execute(Runnable x) 两个方法的本质区别
    android 静默安装
    android 内存优化
    image-webpack-loader在mac或ubuntu报错
    git重命名文件和文件夹
    js判断设备类型
  • 原文地址:https://www.cnblogs.com/coder-zyc/p/10618876.html
Copyright © 2011-2022 走看看