ServletContext使用介绍
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使用介绍的更多相关文章
- ServletContext类介绍(对象的作用及演示、像map一样存取数据)
什么是ServletContext类 1,什么是 ServletContext 1)ServletContext 是一个接口,它表示Servlet上下文对象 2)一个web工程,只有一个Servlet ...
- Servlet 之 ServletContext
package cn.jiemoxiaodi.servlet_servletcontext; import java.io.IOException; import java.io.PrintWrite ...
- Java Servlet(三):Servlet中ServletConfig对象和ServletContext对象
本文将记录ServletConfig/ServletContext中提供了哪些方法,及方法的用法. ServletConfig是一个抽象接口,它是由Servlet容器使用,在一个servlet对象初始 ...
- [Servlet&JSP] 初识ServletContext
ServletContext是整个Web应用程序运行后的代表对象,能够通过ServletConfig的getServletContext()方法来取得,之后就能够利用ServletContext来取得 ...
- 动态页面 servlet
1.常见软件架构. C/S: 客户端 服务器 安全性较好,但是升级需要升级两端 B/S: 浏览器 服务器 安全性较差, 但是升级时 只需要升级服务器端(我们今后就是开发这个架构的) 2.资源分 ...
- Servlet入门实践
本文主要介绍servlet,包括入门到升入,基本上可以对servlet有一个很好的认识: 1servlet介绍: Servlet(Server Applet),全称Java Servlet,未有中 ...
- 【转】ServletContext介绍及用法
1.1. 介绍 ServletContext官方叫servlet上下文.服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象.这个对象全局唯一,而且工程内部的所有servl ...
- java中的上下问解释以及ServletContext介绍使用
摘抄的:所谓上下文,它是用来存储系统的一些初始化信息,例如在jboss中通过配置文件指定了数据源,那么在jboss启动的时候就把这个文件的相关信息上下文中,于是在我们使用这个数据源的时候,就需要先获得 ...
- ServletContext介绍和用法总结
ServletContext介绍和用法总结 学习总结 一.ServletContext 介绍 1. 概念 2. 作用 3. 获取 3.1 在实现类中获取 3.2 在 Spring 容器中获取 二.Se ...
随机推荐
- 关于java基础_数组的学习
数组的学习 1.数组的概念?作用是什么? 系统中存储多个值, 2.数组的定义? 数据类型[] 数组名; 3.定义好数组以后需要对其进行初始化 数组初始化有两种: 第一种动态初始化,指定数组的长度,长度 ...
- python程序控制--分支结构
单分支结构 单分支结构猜数字 二分支结构 多分支结构 注意多条件之间的包含关系 注意变量取值范围的覆盖 条件判断及组合 程序的异常处理 输入一个整数,进行乘方操作, 但是,如果用户没有输入整数的时 ...
- maximo入门---开发者提要
1.添加控件 在一个程序设计器里添加控件,控件必须要和这个程序对象(这个程序关联的表)的一个属性绑定 ps maximo挺高级的,比如一个date类型的输入框,会自动给他补上时间控件 2.复制程序 复 ...
- kubeadm单集群部署k8s1.15.1&calico网络
说明 本次实验在Windows下的VMware进行 系统配置及初始化配置在所有的主机执行 容器镜像全部替换为国内可拉取的 pod网络采用calico 实验环境 主机名 IP地址 角色 OS CPU/M ...
- 刷题[SUCTF 2018]GetShell
解题思路 进入upload,发现有源码,代码审计 代码审计 大概意思就是,读取我们上传的文件,截取第五位之后的内容,与黑名单不匹配才能上传成功 我传的是一个空的txt文件,发现会变成php文件,那好办 ...
- spring:Beanfactory和ApplicationContext、BeanFactory 和 FactoryBean
1.Beanfactory和ApplicationContext有什么区别 ApplicationContext (1)在配置文件加载后创建bean 利用debug方式,在Student类的无参构造方 ...
- 基础篇:深入解析JAVA异常
目录 1 异常的分类和继承关系 2 几种常见异常类的解析 3 Java异常关键字 4 开发过程处理异常注意点 5 异常和AutoCloseable(1.7-JDK的语法糖) 6 throw和throw ...
- Zookeeper 笔记小结
转自: https://www.cnblogs.com/raphael5200/p/5285583.html 1.Zookeeper的角色 » 领导者(leader),负责进行投票的发起和决议,更新 ...
- linux操作系统网卡漂移导致网络不可用
1.故障描述 公司有100-150台服务器安装RHEL7.4&中标麒麟7.4系统,为方便编辑配置网卡,使用脚本方式配置为biosname=0,ifname=0,目的是为将en1o2p此类长字符 ...
- 配置hive的元数据到Mysql中
在hive的安装目录下,进入conf目录,创建一个hive-site.xml文件 根据官方文档配置参数,拷贝数据到hive-site.xml文件中 https://cwiki.apache.org/c ...