ServletContext对象:

ServletContext类似字节码文件对象,在web创建的时候就自动生成了,并且是唯一的,跟随着项目和服务器共存亡了。通过这个对象,我们可以向里面存数据(键值对),也可以通过别的Servlet来获取这个数据;也可以根据相对(服务器)路径继来获取绝对路径。

ServletContext代表是一个web应用的环境(上下文)对象,ServletContext对象内部封装是该web应用的信息,ServletContext对象一个web应用只有一个。 一个web应用有几个servlet对象?----多个

ServletContext对象的生命周期?

创建:该web应用被加载(服务器启动或发布web应用(前提,服务器启动状态))

销毁:web应用被卸载(服务器关闭,移除该web应用)

获得ServletContext对象:

第一种:Servlet的init方法中获得ServletConfig 初始化方法

ServletContext servletContext = config.getServletContext ();

第二种:

ServletContext servletContext = config.getServletContext ();

ServletContext的作用:

获得web应用中任何资源的绝对路径(重要 重要 重要)

String path = context.getRealPath(相对于该web应用的相对地址);

public class Servlet01 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//获取ServletContext对象

ServletContext context =getServletContext();

//获取相对于服务器的相对路径获取绝对路径

String patha=context.getRealPath("WEB-INF/classes/a.txt");

String pathb=context.getRealPath("b.txt");

String pathc=context.getRealPath("WEB-INF/c.txt");

//d.txt创建在WEB04文件下,不会在服务器上找到的。以后静态资源创建在WebContent下,项目文件、配置文件在src下

System.out.println(patha);

System.out.println(pathb);

System.out.println(pathc);

}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

ServletContext是一个域对象(存储数据的区域):

存储数据的区域就是域对象;

ServletContext域对象的作用范围:整个web应用(所有的web资源都可以随意向 servletcontext域中存取数据,数据可以共享)

域对象的通用的方法:

setAtrribute(String name,Object obj); k是字符串 value是obj类型

getAttribute(String name); 强转

removeAttribute(String name);

public class Serlvlet03 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//获取ServletContext对象

ServletContext context=getServletContext();

//获取ServletContext域中的值

String name=(String)context.getAttribute("name");

response.getWriter().write(name);

}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java servletcontext_Java ServletContext对象用法解析相关推荐

  1. java jsonobject 转对象_解析JSON中JSONObject的高级使用

    文末会有读者福利 简介: 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON.JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于 ...

  2. Java中的Scanner用法解析

    一.Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序. 简介 Scanner类是java.util包中的一个类 作用 常用于控制台的 ...

  3. java.lang.Class.isPrimitive()用法解析

    一.概述: 此方法主要用来判断Class是否为原始类型(boolean.char.byte.short.int.long.float.double). 二.格式: Class.isPrimitive( ...

  4. Request和Response-学习笔记05【ServletContext对象、文件下载】

    Java后端 学习路线 笔记汇总表[黑马程序员] Request和Response-学习笔记01[Request_原理和继承体系.Request_获取请求数据][day01] Request和Resp ...

  5. response java_java中response对象用法实例分析

    本文实例讲述了java中response对象用法.分享给大家供大家参考,具体如下: 动作元素用于运行时在服务器端结束当前页面的执行,并从当前页面转向指定页面. 使用response对象的setHead ...

  6. java中servletcontext_Java中的ServletContext对象

    ServletContext对象: ServletContext类似字节码文件对象,在web创建的时候就自动生成了,并且是唯一的,跟随着项目和服务器共存亡了.通过这个对象,我们可以向里面存数据(键值对 ...

  7. 四种Java线程池用法解析

    四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...

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

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

  9. java字符替换函数示例_Java字符串替换函数replace()用法解析

    Java字符串替换函数replace()用法解析 这篇文章主要介绍了Java字符串替换函数replace()用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的 ...

最新文章

  1. C++扬帆远航——3(打印图形)
  2. html语言怎么那么难用,css语言难学吗?
  3. vuecli4 启动_vue 常见命令 (启动 部署)
  4. .NET的Snk使用方法
  5. c语言函数的使用步骤,c语言打开文件函数使用方法
  6. android保存字符到sd卡,android 保存TXT文件到SD卡方法
  7. jenkins关闭和重启
  8. Ubuntu 出现 Invalid operation update 或 Invalid operation upgrade的解决办法
  9. 查看Oracle的procedures,Oracle通过shell脚本查看procedure的信息
  10. php if k 1,PHP实现大数字格式化成K/M/B结尾的简短形式
  11. 浅谈大数据思维——一名管科类学生基于《大数据时代》的思考
  12. 【吐血整理,建议收藏】B站上有哪些值得反复观看的Java视频教程?
  13. 未来计算机体系结构探索,未来计算机体系结构将是什么样的发展趋势
  14. unity物体自身轴旋转_Unity 中物体的旋转
  15. note error - REPT H28PLOG0 not exist create it()
  16. python tensorflow2 deeplearning 音频处理 声学事件检测
  17. REDIS哨兵【Sentinel】模式+哨兵的核心知识点+redis哨兵主从切换的数据丢失问题+上一章铺垫的【异步复制数据丢失问题】+【集群脑裂】
  18. img图片加载失败时,展示默认图片的方法
  19. 9位院士及12位专家联合发表长文:人工智能的进展、挑战与未来
  20. ubuntu16.04安装网易云音乐方法出现问题及解决方法(桌面图标打不开、不能输入中文等问题)

热门文章

  1. 解决原子性问题?你首先需要的是宏观理解
  2. opencv 斑马线,条纹检测
  3. Did you forget add @script or @script_method annotation? If this is a nn.ModuleList, add it to __con
  4. c++ socket 结构体
  5. faceboxes自定义encode
  6. Multiple classes found for path in the registry of this declarative base. Please use a fully
  7. pytorch nan解决方法笔记
  8. tensors used as indices must be long or byte tensors
  9. Invalid argument(s) 'pool_size' sent to create_engine(), using configuration
  10. opencv学习笔记(二):基于肤色的人手检测