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 ...
随机推荐
- 阿里云docker部署mysql
看完我的上一个博客之后,对centos系统应该有一定的了解,话不多说,接下来我们来在docker容器中部署mysql. 1.下载mysql镜像,因为本人用的5.7版本,你也可以下载最新版,都是可以的 ...
- treemap使用了解
参考了https://www.jianshu.com/p/d9ad7f6d75a0 https://www.zhuxiaodong.net/2018/collection-in-java-treema ...
- a标签包裹div的问题
示例代码 1 <a href="#"> 2 <div> 3 <a href="#"></a> 4 </di ...
- 使用Azure Function玩转Serverless
Serverless&Azure Functions 通过无服务器计算,开发者无需管理基础结构,从而可以更快构建应用程序.通过无服务器应用程序,将由云服务提供商自动预配.缩放和管理运行代码所需 ...
- 使用AOP和Validator技术对项目接口中的参数进行非空等校验
javax.validation.Validator基础知识补充: validator用来校验注解的生效,如: @NotBlank(message = "地址名不能为空") pri ...
- Nginx+Gunicorn+Supervisor部署Flask应用
Flask 内置了简单的 Web 环境,让我们在开发的时候只需要专注于应用实现,而真正要在生产环境运行时这个简单的 Web 环境就不够用了,还需要一系列操作才能让 Web 应用高效的运行起来.现在记录 ...
- 再玩树莓派(二)Jexus&.NetCore
接上一篇,操作系统弄好之后,轮到开发运行环境的搭建. 先说说目标,也就是我到底想搞什么飞机.先说说小目标吧. 现有一个手机App客户端,以答题小游戏作为其内容(例如:口算题,24点,科学百科等) 树莓 ...
- 01 . OpenResty简介部署,优缺点,压测,适用场景及用Lua实现服务灰度发布
简介 OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态 ...
- 第五周:面向对象部分内容总结(5)---java设计规则
面向对象设计原则 1.开闭原则 开闭原则理解: 简单说就是一个软件实体支持扩展,不支持修改.就是在不改变源码的基础上,扩展其它的功能. 其实笔者认为,开闭原则无非就是想表达这样一层意思:用抽象构建框架 ...
- JVM 第四篇:可视化 JVM 故障处理工具
本文内容过于硬核,建议有 Java 相关经验人士阅读. 1. 可视化工具 在 JDK 中为我们提供了大量的 JVM 故障处理工具,都在 JDK 的 bin 目录下: 这其中除了大量的命令行工具以外,还 ...