• Web_ServletContext主要方法


    ServletContext:联系上下文,一个项目通用一个context,作用域:整个项目

    用法:Servlet里面直接应用,tomcat帮我们自动创建。

    获取ServletContext:getServletContext()

    ServletContext sc = getServletContext();

    方法:

     1.设置数据,以键值对的形式设置

    getServletContext().setAttribute("name","rose");

    2.获取数据,以键名获取
    getServletContext().getAttribute("name");

    3.移除设置的数据,以健名移除
    getServletContext().removeAttribute("name");

    注意:ServletContext最强大的地方时全局通用性,简单来说我再 A Servlet中设置数据,可以在 B Servlet中获取这个数据,可以在 C Servlet中移除这个数据。

    4.获取项目中任何文件
    方法:
    getRealPath("路径")

    ①.src根目录下的文件的获取:  
    "/WEB-INF/classes/src下的file.txt"
    ②.web根目录下的文件的获取
    "/web下的文件.txt"
    ③.web-inf根目录下的文件的获取
    "/WEB-INF/web-inf下的文件.txt"

    扩展目录在哪个目录下的问价要加文件的全路径,如下
    getRealPath("/WEB-INF/classes/com/servletContext/src_com包下的文件目录.txt")

    5.文件流读取:

            InputStream in =       getServletContext().getResourceAsStream("/a.jpg");
    
            ServletOutputStream os = response.getOutputStream();
    
            int len=0;
            byte[] b = new byte[1024];
            while((len=in.read(b))!= -1){
                os.write(b,0,len);
            }
            os.close();
            in.close();

    注意:此方法读取的文件会占用一整个页面。

     

    6.获取配置信息parama

        <context-param>
            <param-name>name</param-name>
            <param-value>rose</param-value>
        </context-param>
    获取web.xml的配置信息
    String name = servletContext.getInitParameter("name");

    解决乱码问题:
    也可以指定格式为GBK格式
    response.setCharacterEncoding("GBK");

    也可以设置为utf-8:
    如果是文本就设置参数为 text/html  发给客户端的是 jpeg格式的图像数据,则参数是   image/jpeg
    response.setContentType("text/html;charset=utf-8");

    设置前一种格式不会破坏servlet格式,后一种会把多行输出变成一行
    7.设置响应行 状态码:200表示成功,500表示出现异常,404原因很多,通常是tomcat自己设置,我们几乎不会调用。
               此状态码只是描述,无法真实反应状态。
    response.setStatus(200);
    8.添加和设置头信息

      添加头信息:添加头信息键值对,键可以重复,添加多个相同的显示多个相同的。
    addHeader(key,value)
      
      设置头信息:键是唯一的,重复的键后面覆盖前面
    setHeader(key,value)
    9.自动跳转:参数  "Refresh"(固定的表示刷新)  ,  "5(跳转时间单位秒)  ;  URL (跳转的目标地址)"
    response.setHeader("Refresh","5;URL=https://host/path");
    10.重定向
     



  • 相关阅读:
    第二十一章流 1流的操作 简单
    第二十章友元类与嵌套类 1友元类 简单
    第十九章 19 利用私有继承来实现代码重用 简单
    第二十章友元类与嵌套类 2嵌套类 简单
    第十九章 8链表类Node 简单
    第二十一章流 3用cin输入 简单
    第十九章 10 图书 药品管理系统 简单
    第十九章 11图书 药品管理系统 简单
    第二十一章流 4文件的输入和输出 简单
    第十九章 12 什么时候使用私有继承,什么时候使用包含 简单
  • 原文地址:https://www.cnblogs.com/LVowe/p/13151446.html
Copyright © 2020-2023  润新知