Java ServletContext对象用法解析

 更新时间:2020年05月26日 10:25:59   作者:嘿抬头i  
这篇文章主要介绍了Java ServletContext对象用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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);
  }
}

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

相关文章

  • 运行jar程序时添加vm参数的方法

    运行jar程序时添加vm参数的方法

    下面小编就为大家带来一篇运行jar程序时添加vm参数的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Java中Controller引起的Ambiguous mapping问题及解决

    Java中Controller引起的Ambiguous mapping问题及解决

    这篇文章主要介绍了Java中Controller引起的Ambiguous mapping问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 浅谈servlet3异步原理与实践

    浅谈servlet3异步原理与实践

    本篇文章主要介绍了servlet3异步原理与实践,详细的介绍了servlet和异步的流程使用,具有一定的参考价值,有兴趣的可以了解一下
    2017-10-10
  • Java数据结构之链表详解

    Java数据结构之链表详解

    本篇文章我们将讲解一种新型的数据结构—链表,链表是一种使用广泛的通用数据结构,它可以用来作为实现栈,队列等数据结构的基础.文中有非常详细的介绍,需要的朋友可以参考下
    2021-05-05
  • Java Lambda表达式详解

    Java Lambda表达式详解

    这篇文章主要介绍了Java Lambda表达式详解,包括了Java Lambda表达式创建线程,Java Lambda表达式的语法,Java lambda遍历List集合,Java lambda过滤String需要的朋友可以参考下
    2023-02-02
  • 通过实例深入了解java序列化

    通过实例深入了解java序列化

    这篇文章主要介绍了通过实例深入了解java序列化,
    2019-06-06
  • Java中ArrayList集合的常用方法大全

    Java中ArrayList集合的常用方法大全

    这篇文章主要给大家介绍了关于Java中ArrayList集合的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Javassist如何操作Java 字节码

    Javassist如何操作Java 字节码

    这篇文章主要介绍了Javassist如何操作Java 字节码,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-09-09
  • SpringCloud Feign多参数传递及需要注意的问题

    SpringCloud Feign多参数传递及需要注意的问题

    这篇文章主要介绍了SpringCloud Feign多参数传递及需要注意的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 解析ConcurrentHashMap: 预热(内部一些小方法分析)

    解析ConcurrentHashMap: 预热(内部一些小方法分析)

    ConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成。Segment的结构和HashMap类似,是一种数组和链表结构,今天给大家普及java面试常见问题---ConcurrentHashMap知识,一起看看吧
    2021-06-06

最新评论