zoukankan      html  css  js  c++  java
  • 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.重定向
     



  • 相关阅读:
    2Windows程序设计 Unicode
    C语言指针与字符串(高阶篇三十二)
    C语言指针与函数(高阶篇三十三)
    1Windows程序设计 学习第一个窗口
    C语言链表实践(高阶篇三十七)
    3Windows程序设计 窗口与消息
    C语言双重指针与数组(高阶篇三十五)
    AspNetCore缓存技术
    k8s安装教程
    C# Winform 委托实现B页面给A页面赋值
  • 原文地址:https://www.cnblogs.com/LVowe/p/13151446.html
Copyright © 2011-2022 走看看