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. openstack核心组件——neutron网络服务 抓取ip(9)

    云计算openstack核心组件——neutron网络服务(9)   一.虚拟机获取 ip: 用 namspace 隔离 DHCP 服务   Neutron 通过 dnsmasq 提供 DHCP 服务 ...

  2. Git裸仓库的分支(Active Branch)切换

    Git裸仓库的Active Branch切换方法 在服务器上通过init --bare创建了一个裸仓库作为远程仓库使用,并且存在三个分支(master/kid/develop),但在使用中发现代码虽然 ...

  3. Java Web学习(三)数据加密方式详解

    一.对称加密 定义:加密和解密使用相同密钥的算法. 常见的有DES.3DES.AES.PBE等加密算法,这几种算法安全性依次是逐渐增强的. DES加密 特点:简便.密钥长度比较短. import ja ...

  4. pwnable.kr-uaf-witeup

    没错,这道题超纲了,代码调试能力很差很差. 一些相关小笔记. UAF是在内存释放后,原指针仍然指向此内存,可通过其他填充操作将此内存值设为指定的值,使得指针指向特定值. 分析程序.本程序中,可输入1. ...

  5. Python对象的空间边界:独善其身与开放包容

    导读:Python猫是一只喵星来客,它爱地球的一切,特别爱优雅而无所不能的 Python.我是它的人类朋友豌豆花下猫,被授权润色与发表它的文章.如果你是第一次看到这个系列文章,那我强烈建议,请先看看它 ...

  6. js计算两个时间相差

    .filter('useTime', function() { return function(val) { // if (/.(.mp4)$/gi.test(url)) { // return JS ...

  7. django 的基础设计

    一.web程序工作流程 二.django  的基础介绍 目的:了解Django框架的作用和特点 作用: 简便.快速的开发数据库驱动的网站 Django的优势 快速开发 MVT 功能齐全 Django学 ...

  8. Centos-跟踪数据传输路由状态-traceroute

    traceroute 显示网卡数据包传输到指定主机的路径信息,追踪数据传输路由状况,默认数据包大小38字节 相关选项 -i   使用指定网络接口发送数据 -n 使用IP而不使用主机名 -v 显示命令的 ...

  9. Centos-文本过滤-grep

    grep 文本过滤,对文本的每一行进行关键字搜索,如果找到则输出 相关选项 -A 除了列出符合关键字的行外,还输出符合关键字行后多少行内容 -c 只显示符号条件的行号 -f  批量搜索,把关键字写入到 ...

  10. Leetcode-dfs & bfs

    102. 二叉树的层次遍历 https://leetcode-cn.com/problems/binary-tree-level-order-traversal/ 给定一个二叉树,返回其按层次遍历的节 ...