ServletContext是一个容器(域对象)可以存储键值对数据(String key,Object value),保存在ServletContext中的数据不仅可以提供给所有的servlet使用,而且可以在整个项目范围内使用;

  服务器会在启动的时候,就为它所托管的每一个项目都创建一个ServletContext实例对象,并且每个项目中有且只有一个ServletContext实例对象;

  获取Servlet上下文方式

GenericServlet提供了getServletContext()方法

ServletConfig提供了getServletContext()方法

HttpSession提供了getServletContext()方法

HttpServletRequest提供了getServletContext()方法

  获取MIME类型

    • API介绍
MIME类型:在互联网通信过程中定义的一种文件数据类型
格式: 大类型/小类型 text/html image/jpeg
String getMimeType(String file)

  ServletContext作为域对象

    • API介绍
ServletContext getServletContext()  获取ServletContext对象

void setAttribute(String name, Object object)  往servletcontext容器中存入数据,name为数据名称,object为数据的值

Object getAttribute(String name)  从ServletContext中获取数据,根据指定的数据名称

void removeAttribute(String name)  从ServletContext中移除数据,根据指定的数据名称

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

  只要容器不关闭或者应用不关闭,Servlet上下文就一直存在 ;
  注意:使用ServletContext对象,需要先获取ServletContext对象;

  ServletContext获取资源文件的真实路径

    ServletContext对象调用getRealPath("路径")方法,可以获得文件的真实路径;

    getRealPath()获取的默认路径是Tomcat安装路径下的webApps目录下的项目路径,然后找到该项目的WEB-INF目录,里面有个classes文件夹,src下的文件编译后全部放在该文件夹中;

ServletContext context = request.getServletContext();

// src目录下的src.txt
String src_path = context.getRealPath("/WEB-INF/classes/src.txt"); //找不到路径
System.out.println(src_path); // WEB-INF目录下的web-inf.txt
String webInfPath = context.getRealPath("/WEB-INF/web-inf.txt");
System.out.println(webInfPath); // web目录下的web.txt
String webPath = context.getRealPath("/web.txt");
System.out.println(webPath);

  

ServletContext使用介绍的更多相关文章

  1. ServletContext类介绍(对象的作用及演示、像map一样存取数据)

    什么是ServletContext类 1,什么是 ServletContext 1)ServletContext 是一个接口,它表示Servlet上下文对象 2)一个web工程,只有一个Servlet ...

  2. Servlet 之 ServletContext

    package cn.jiemoxiaodi.servlet_servletcontext; import java.io.IOException; import java.io.PrintWrite ...

  3. Java Servlet(三):Servlet中ServletConfig对象和ServletContext对象

    本文将记录ServletConfig/ServletContext中提供了哪些方法,及方法的用法. ServletConfig是一个抽象接口,它是由Servlet容器使用,在一个servlet对象初始 ...

  4. [Servlet&JSP] 初识ServletContext

    ServletContext是整个Web应用程序运行后的代表对象,能够通过ServletConfig的getServletContext()方法来取得,之后就能够利用ServletContext来取得 ...

  5. 动态页面 servlet

    1.常见软件架构. C/S: 客户端 服务器  安全性较好,但是升级需要升级两端   B/S: 浏览器 服务器  安全性较差, 但是升级时 只需要升级服务器端(我们今后就是开发这个架构的) 2.资源分 ...

  6. Servlet入门实践

    本文主要介绍servlet,包括入门到升入,基本上可以对servlet有一个很好的认识: 1servlet介绍:   Servlet(Server Applet),全称Java Servlet,未有中 ...

  7. 【转】ServletContext介绍及用法

    1.1.  介绍 ServletContext官方叫servlet上下文.服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象.这个对象全局唯一,而且工程内部的所有servl ...

  8. java中的上下问解释以及ServletContext介绍使用

    摘抄的:所谓上下文,它是用来存储系统的一些初始化信息,例如在jboss中通过配置文件指定了数据源,那么在jboss启动的时候就把这个文件的相关信息上下文中,于是在我们使用这个数据源的时候,就需要先获得 ...

  9. ServletContext介绍和用法总结

    ServletContext介绍和用法总结 学习总结 一.ServletContext 介绍 1. 概念 2. 作用 3. 获取 3.1 在实现类中获取 3.2 在 Spring 容器中获取 二.Se ...

随机推荐

  1. maven问题汇总

    Failed to read artifact descriptor for xxx:jar 在MyEclipse中执行Maven的install命令时,报“Failed to read artifa ...

  2. maven安装配置以及eclipse的配置

    一.需要准备的东西 JDK Eclipse Maven程序包 二.下载与安装 前往https://maven.apache.org/download.cgi下载最新版的Maven程序: 将文件解压到D ...

  3. 可以定时的FTP FTP如何实现每天定时上传文件

    FTP上传一般都是一次性上传,我们在工作中总有一些文件,需要每天上传一次.有这么一款ftp上传工具是具有定时功能的.每天自动定时上传省时省力还操作简单. 工具名称:服务器管理工具(下载地址:http: ...

  4. http(Hyper Text Transfer Protocol)

    一.定义    http(Hyper Text Transfer Protocol):超文本传输协议二.作用    数据传输三.概念    HTTP消息:        1.客户端发向服务器的请求消息 ...

  5. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...

  6. Redis报错“ OOM command not allowed when used memory > 'maxmemory' ”

    生产环境上遇到这个问题,控制台不停打印 "OOM command not allowed when used memory > 'maxmemory' "; 起初不知道是什么 ...

  7. java获取一天前的时间

    获取一天前的时间 Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); ...

  8. day61:Linux:权限管理&rpm软件包管理&yum工具

    目录 1.权限管理 2.rpm软件包管理 3.yum工具(联网) 权限管理 1.什么是权限? 权限主要用来约束用户能对系统所做的操作 2.为什么要使用权限? 因为系统中不可能只存在一个root用户,一 ...

  9. JAVA运行环境 和 Java Applet的运行环境 的区别

    Java小程序,也就是Java Applet,可以在Web浏览器中运行.Java Applet必须以<applet>脚本的形式嵌入到HTML页面中,才能在web浏览器中运行. 之前总以为本 ...

  10. 浅谈Exgcd(扩展欧几里得)

    我们已知,求最大公约数的方法: 求A,B两数的最大公约数,递归求解,递归边界是B==0. gcd(a,b)=gcd(b,a%b) 我们进一步来求Ax+By=Gcd(A,B)的解. 尝试套用欧几里得求法 ...