• Response内置对象


    Response内置对象
      Request 内置对象主要用来处理用户的请求, 处理对用户的响应,需要使用内置对象的类型是
      "javax.servlet.http.HttpServletResponse", 对象名 : response, 在调用 service 方法的时候容器会传递过来

    Response的方法:
      public void addCookie(Cookie cookie)
        向客户端添加一个 cookie 信息到客户端浏览器
      publlic void send Redirect(java.lang.String location)
        该方法可以实现客户端跳转, 客户端跳转最大的特征是:
          1.浏览器地址栏信息改变
          2.重新想服务器发送一个新的请求
      public java.ioPrinWriter getWriter( )
        获取一个向客户端输出信息的打印流对象, 可以使用该对象实现信息的输出
      public void setContentType(java.lang.String type)
        可以设置响应的 MIME 类型和字符编码

    MIME :
      MIME 是设定某种扩展名的文件用一种应用程序来打开的方式类型, 当扩展名文件被访问的时候,
      浏览器会自动使用指定应用程序来打开, MIME 类型-在把输出结果传送到浏览器上的时候,
      浏览器必须启动适当的应用程序来处理这个输出的信息,
        超文本标记语言文本 text/html
        普通文本 .txt text/plain
        RTF 文本 .rtf application/rtf
        GIF 图形 .gif image/gif
        JPEG 图形 .jpeg.jpg image/jpeg
        GZIP 文件 .gz application/x-gzip
        TAR 文件 .tar application/x-tar
        Excel 文件 application/vnd.ms-excel
    ex:
      假设要传入一个 Microsoft Excel文件到客户端, MIME类型就是 "application/vnd.ms-excel".
      大部分情况, 在 JSP 中, 设定 MIME 类型的方法是通过 Response 对象的 setContentType( )方法.

    Demo: 向客户端输出信息

     1 @SuppressWarnings("serial")
     2 public class EmpServlet extends HttpServlet {
     3     @Override
     4     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     5         //设置响应的编码
     6         resp.setContentType("text/html;charset=utf-8");
     7         //获取打印流对象 
     8         PrintWriter out = resp.getWriter();
     9         //输出信息
    10         out.print("你好,我是服务器输出的信息");
    11         //关闭流
    12         out.close();
    13     }
    14 }

    Demo: 创建自己的 cookie
      如果添加的 cookie 的名称相同则后面的 cookie 覆盖前面的 cookie.

     1 @SuppressWarnings("serial")
     2 public class EmpServlet extends HttpServlet {
     3     @Override
     4     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     5         //创建 Cookie 信息
     6         Cookie c1 = new Cookie("c1", "1234");
     7         Cookie c2 = new Cookie("c2", "abcd");
     8         //把 cookie 保存到浏览器 
     9         resp.addCookie(c1);
    10         resp.addCookie(c2);
    11     }
    12 }

    Demo: 在服务器端获取 cookie 信息
      后面访问服务器的时候会带上 cookie 信息到服务端, 就可以在服务器端取得 cookie 信息
      cookie 保存的时间默认情况是浏览器关闭就没了

     1 @SuppressWarnings("serial")
     2 public class EmpServlet extends HttpServlet {
     3     @Override
     4     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     5         //获取 Cookie 信息
     6         Cookie [] cs = req.getCookies();
     7         for (Cookie c : cs) {
     8             System.out.println(c.getName() + ":" + c.getValue());
     9         }
    10     }
    11 }

    Demo: 设置 cookie 的存活时间

      此方法经常不成功.....

     1 @SuppressWarnings("serial")
     2 public class EmpServlet extends HttpServlet {
     3     @Override
     4     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     5         //创建 Cookie 对象
     6         Cookie c1 = new Cookie("c1", "1234");
     7         //设置存活时间, 以秒为单位
     8         c1.setMaxAge(60*60*24);
     9         
    10         Cookie c2 = new Cookie("c2", "abcd");
    11         //把 cookie 保存到浏览器 
    12         resp.addCookie(c1);
    13         resp.addCookie(c2);
    14     }
    15 }
  • 相关阅读:
    前端工程化
    前端模块化CommonJS&ES6
    为什么浮点型运算结果会有误差?
    RequestAnimationFrame知多少?
    CSS三栏布局
    秋招面试
    实现Storage
    Angular
    TypeScript
    微服务架构设计模式
  • 原文地址:https://www.cnblogs.com/yslf/p/10745490.html
Copyright © 2020-2023  润新知