zoukankan      html  css  js  c++  java
  • ServletContext对象

    简述  

      ServletContext代表整个web应用,可以和程序的容器(服务器)来通信

    获取

      1. 我们可以通过request对象进行获取

    request.getServletContext()
    获取ServletContext对象

      2. 通过HttpServlet获取

    this.getServletContext()
    获取ServletContext对象

      注意这两种方式获取的对象都是同一个对象

    功能

    获取MINE类型

      什么是MINE类型?->在互联网通信过程中定义的一种文件数据类型的标准

      格式:大类型 / 小类型

      例如:text/html  image/jpeg

    String getMimeType(String file)   根据文件类型获取mine类型

      所有的文件类型和mine类型的映射关系都在服务器的web.xml里有,每次通过配置文件查看mine类型又有风险,而ServletContext类又恰好能和服务器进行通信,所以能通过它的方法查找mine类型

    共享数据

      ServletContext是一个域对象,和request域对象一样可以共享数据

      ServletContext对象范围:所有用户所有请求的数据

      ServletContext对象的生命周期:服务器启动被创建,服务器关闭才会被销毁

    setAttribute(String name,Object value) 存放键值对
    getAttribute(String name)  根据键名获取值
    removeAttribute(String name) 根据键名移除值

    获取文件真实路径

      我们可以通过getRealPath方法获取文件的真实路径

    String getRealPath(String path)   获取文件的真实(服务器)路径

      一般我们的配置文件有三个位置供我们拜访,src目录下、web目录下、WEB-INF目录下

      我们调用getRealPath的参数是从web目录下开始的,也就是说例如你的web目录下有个c.txt,则这样写就行

    String contextPath = servletContext.getRealPath("/c.txt");

      而如果放在了WEB-INF下则要进入WEB-INF目录

    String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目录下的资源访问

      如果放在了src目录里,因为打包后src目录会变成WEB-INF下的classes文件,所以要进入classes目录

    String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目录下的资源访问

       当然你可以通过class或者类加载器获取src目录

    一点一点积累,一点一点蜕变!
  • 相关阅读:
    web前端技术社区分享
    programming-challenges Shoemaker's Problem (110405) 题解
    caffe 训练測试自己的数据集
    BootStrap有用代码片段(持续总结)
    H5学习_番外篇_PHP数据库操作
    WPF-MVVM-Demo
    android Toast大全(五种情形)建立属于你自己的Toast
    Java
    记一次死锁问题的排查和解决
    一步一步跟我学习lucene(19)---lucene增量更新和NRT(near-real-time)Query近实时查询
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/14828795.html
Copyright © 2011-2022 走看看