您的位置:首页 > 游戏 > 游戏 > 一呼百应网_视频制作方法_seo软件简单易排名稳定_百度引擎搜索

一呼百应网_视频制作方法_seo软件简单易排名稳定_百度引擎搜索

2025/4/18 23:46:50 来源:https://blog.csdn.net/2301_81486828/article/details/145888208  浏览:    关键词:一呼百应网_视频制作方法_seo软件简单易排名稳定_百度引擎搜索
一呼百应网_视频制作方法_seo软件简单易排名稳定_百度引擎搜索

文章目录

  • ServletContext接口简介
  • 获取一个ServletContext对象
  • ServletContext接口中的相关方法
    • 获取应用域配置参数
    • 关于应用域参数的配置要求
    • getContextPath获取项目路径

ServletContext接口简介

ServletContext接口和Servlet和ServletConfig接口一样, 都是位于jakarta.servlet这个包下的接口, 其中Servlet接口的实现对象, 代表着提供服务的类的对象, ServletConfig接口对应的相应的Servlet对象的一些配置信息(位于web.xml文件下的servlet标签中的信息)

ServletContext 对象, 代表的是应用域 信息,
每一个webapp项目, 有且仅有一个ServletContext对象

关于上面三个接口之间的关系, 我想我们可以通过下面的视图来简单描述一下

在这里插入图片描述

学校与班级的例子:

对于一个Tomcat服务器(Servlet容器)来说, 相当于一个学校, 其中管理许多不同的webapp我们类比为班级, 每个班级的相关规定所对应的对象, 也就是ServletContext对象, 他对班级中的所有对象都生效, 也就是应用域的概念, 班里有许多的同学, 这些对象我们称之为一个个的Servlet对象, 每一个同学都对应一个独属于自己的信息对象, 也就是ServletConfig对象, 通过这样的类比, 我们对这三个接口所对应的对象的体会应该就更深了…


获取一个ServletContext对象

上一节我们说了, ServletConfig接口中有一个getServletContext方法, 这个方法就是返回一个ServletContext对象, 下面是代码信息

		// 获取一个 ServletContext 对象// 第一种方法是通过 this.ServletConfig 获取 ServletConfig 对象, // 然后再通过这个对象中的 getServletContext 获取到...ServletContext servletContext = this.getServletConfig().getServletContext();// 第二种方法是直接通过 this.getServletContext 直接获得(底层和上面的机制一样)ServletContext servletContext1 = this.getServletContext();

我们输出一下关于实现ServletContext接口的类的信息

在这里插入图片描述

其实查看相关源码就可以发现, 这个类其中存在的许多map的结构(好多保存的就是关于全局的映射信息)

ServletContext接口中的相关方法

我们这个章节只简单介绍其中的部分方法, 大多数方法我们下面的章节会介绍

获取应用域配置参数

以下的方法和ServletConfig中的功能是一样的, 我们不再多说

在这里插入图片描述

下面是我们的全局配置, 全局配置对所有的Servlet对象都可见

在这里插入图片描述

执行下面的代码逻辑, 获得web.xml中的关于全局配置的相关信息

 		response.setContentType("text/html");PrintWriter out = response.getWriter();// 获取全局配置的参数(和ServletConfig中的方法意义是一样的)ServletContext application = this.getServletContext();// 获得全局的配置集合名称(name)Enumeration<String> initParameterNames = application.getInitParameterNames();while (initParameterNames.hasMoreElements()) {// 获得nameString initParameterName = initParameterNames.nextElement();// 获得valueString initParameterValue = application.getInitParameter(initParameterName);out.print("<h1>" + initParameterName + " : " + initParameterValue + "</h1>");out.print("<br/>");}

在浏览器上获得信息如下

在这里插入图片描述

关于应用域参数的配置要求

  • 共享 : 最基本的要求, 只有需要共享的内容才建议放到应用域配置文件中
  • 小 & 少 : 只有数据量小的数据才建议放到应用域中配置, 因为应用域参数相当于一种缓存机制, 如果大量的内容都在应用域会增加系统对相关参数的处理负担
  • 不修改 & 很少修改: 因为是全局的变量配置, 就必然存在并发修改的线程安全问题, 所以我们存放在应用域的参数应该不修改或者很少修改以减少并发造成的线程安全问题

getContextPath获取项目路径

下面是项目配置的路径

在这里插入图片描述

我们使用getContextPath获取项目配置的路径
执行下面的逻辑

		response.setContentType("text/html");PrintWriter out = response.getWriter();// 在idea中, 我们的项目路径是自己配置在 Tomcat 服务器上面的, 所以我们要是想要获取真实的项目路径根目录// 可以通过 getContextPath 方法获得ServletContext application = this.getServletContext();String contextPath = application.getContextPath();out.print("<h1>" + contextPath + "</h1>");

输出结果

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com