ServletContext(二)-- ServletContext对象的作用

这篇具有很好参考价值的文章主要介绍了ServletContext(二)-- ServletContext对象的作用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.  作为域对象

1.1 ServletContext对象--存储数据

1.2  ServletContext对象--获取数据

1.3  ServletContext对象--删除数据

2.  获取MIME类型

3.  获取文件的真实(服务器)路径

3.1   获取web目录下的资源

3.2  获取WEB-INF目录下的资源

3.3  获取src目录下的资源


1.  作为域对象

        域对象指的是对象有作用域(即作用范围)。域对象可以实现数据的共享。不同作用范围的域对象,共享数据的能力也不一样。

        在 Servlet 规范中,一共有 4 个域对象。ServletContext 就是其中的一个。它也是 web 应用中最大的作用域,也叫 application 域。它可以实现整个应用之间的数据共享!

返回值 方法名 说明
void setAttribute(String name,Object value) 向域对象中存储数据
Object getAttribute(String name) 通过名称获取域对象中的数据
void removeAttribute(String name) 通过名称移除域对象中的数据

1.1 ServletContext对象--存储数据

@WebServlet("/aa")
public class Servlet01 extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //ServletContext作为域对象存储数据

        //1.获取ServletContext对象
        ServletContext servletContext = this.getServletContext();

        //2.向ServletContext对象存数据
        servletContext.setAttribute("Chinese","文明古国");
    }

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

1.2  ServletContext对象--获取数据

@WebServlet("/bb")
public class Servlet02 extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.获取ServletContext对象
        ServletContext servletContext = this.getServletContext();

        //2.从ServletContext对象中获取数据
        Object Chinese= servletContext.getAttribute("Chinese");
        System.out.println("Chinese= " + Chinese);
    }

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

1.3  ServletContext对象--删除数据

@WebServlet("/cc")
public class Servlet03 extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.获取ServletContext对象
        ServletContext servletContext = this.getServletContext();

        //2.从ServletContext对象中删除数据
        servletContext.removeAttribute("Chinese");
    }

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

2.  获取MIME类型

        MIME类型:在互联网通信过程中定义的一种文件数据类型,每一个类型的文件都有对应MIME类型格式: 大类型/小类型   例如: text/html image/jpeg。

返回值 方法名 说明
String getMimeType(String filename) 根据文件名获取该文件对应的MIME类型
@WebServlet("/dd")
public class Servlet04 extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //ServletContext获取MIME类型

        //1.获取ServletContext对象
        ServletContext servletContext = this.getServletContext();

        //2.根据文件名获取MIME类型
        String mimeType = servletContext.getMimeType("a.html");
        System.out.println("mimeType = " + mimeType);
    }

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

3.  获取文件的真实(服务器)路径

        真实路径也叫服务器路径。举个例子,你在本地工作空间里存储着一份你的项目,同时你在你的服务器上也存储着同样的项目。那么你访问的时候是访问本地空间里的项目呢,还是访问服务器上的项目。显然是服务器上的路径。所以 真实路径也叫服务器路径。

返回值 方法名 说明
String getRealPath(String path) 获取文件的真实路径

在项目中,文件结构如下, a.txt在src路径下, b.txt在web目录下, c.txt在WEB-INF目录下:

ServletContext(二)-- ServletContext对象的作用

3.1   获取web目录下的资源

//1.获取ServletContext类型
ServletContext servletContext = this.getServletContext();
//2. web目录下的资源
String realPathB = servletContext.getRealPath("/b.txt");
System.out.println("realPathB = " + realPathB);

3.2  获取WEB-INF目录下的资源

//1.获取ServletContext类型
ServletContext servletContext = this.getServletContext();
//2.WEB-INF目录下的资源
String realPathC = servletContext.getRealPath("/WEB-INF/c.txt");
System.out.println("realPathC = " + realPathC);

3.3  获取src目录下的资源

//1.获取ServletContext类型
ServletContext servletContext = this.getServletContext();
//2. src目录下的资源
String realPathA = servletContext.getRealPath("/WEB-INF/classes/a.txt");
System.out.println("realPathA = " + realPathA);

 如果对你有帮助,请帮我点一下赞,我才有动力继续创作,谢谢!文章来源地址https://www.toymoban.com/news/detail-458302.html

到了这里,关于ServletContext(二)-- ServletContext对象的作用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • dockerfile不可以使用../作为路径在上级目录查找文件

    在 Dockerfile 中,不能直接使用 …/ 跳转到上级目录。Dockerfile 中的路径是相对于构建上下文路径的,而构建上下文指定了在构建镜像时可访问的文件和目录的范围。 如果你需要在 Dockerfile 中引用上级目录中的文件或目录,可以将上级目录作为构建上下文,并使用相对于构建上

    2024年01月25日
    浏览(39)
  • linux下sys目录与proc目录的作用

    在Linux系统中,/sys目录是一个特殊的虚拟文件系统(sysfs),用于提供对内核和设备的运行时信息的访问。它是在内核中运行的驱动程序和子系统的接口,可以用于获取和配置系统的硬件和内核信息。 以下是/sys目录的一些主要作用: 设备和驱动程序信息:/sys目录提供了与设

    2024年02月04日
    浏览(60)
  • Linux 中常见目录的作用

    by emanjusaka from https://www.emanjusaka.top/2024/01/linux-directory-role 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址。 Linux 是一个严谨的操作系统,每个目录存放什么文件是有明确的要求和规范的。我们应该去了解这些目录的作用,然后按照目录要求去操作。 /bin/ 存放

    2024年01月22日
    浏览(34)
  • Linux /dev目录详解和Linux系统各个目录的作用

    在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下: dev是设备(device)的英文缩写。 /dev这个目录对所有的用户都十分重要。 因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和 windows ,dos操作系统不

    2024年04月11日
    浏览(43)
  • 【Lavavel框架】——各目录作用的介绍

    👨‍💻个人主页 :@开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏 :PHP程序开发 —   默认的 Laravel 应用程序结构旨在为大型和小型应用程序提供一个良好的起点。但是你可以自由地组织你的应用程

    2024年04月11日
    浏览(41)
  • JS小知识点:在定义对象的时候,用变量值作为对象属性名 参考:

    有没有一种情况,在定义一个对象时,对象的属性名由一个变量的值来决定的?而且是一步到位,简单实现的? 我们知道对象有时被称为 关联数组 ,访问对象属性值的时候可以使用括号表示法(比如 objectName[propertyName]),那定义的时候可以借签这样的方式来实现吗? 我们

    2024年02月10日
    浏览(38)
  • Unreal Engine工程项目目录及对应作用

    目录 .vs Binaries:编译文件 Config:配置文件 Content:资产文件 DerivedDataCache:UE针对平台特化的资源版本 Intermediate:中间文件 Saved:自动保存的内容 Source:源(代码)文件 .sln文件:VS的工程文件 .uproject:虚幻的启动文件 为啥要说这个呢? 有两点: 便于我们管理并查找相应资

    2023年04月19日
    浏览(62)
  • llinux的更目录下的文件作用和举例

    Linux是一种开源的操作系统,其文件系统采用了一种层次化的结构。在Linux文件系统中,最顶层的目录被称为根目录,也就是“/”(斜杠)。在根目录下,有很多文件和目录,它们各自有着不同的作用。本文将详细讲解Linux根目录下的文件作用和举例。 /bin目录下存放的是二进

    2024年02月05日
    浏览(43)
  • 【Kubernetes】k8s使用minio作为对象存储

    k8s version:v1.20.15 minio version :v4.4.16 (1)安装kubectl-minio插件 自选minio-operaterd的版本下载包 minio-operater plugin 访问地址:http://ip:9090 1、sc-minio.yaml 创建 2、 创建所需的永久卷 序号 路径 容量 (G) 说明 所在节点 1 /data/1 5 租户使用 3个节点各1个 2 /data/log1 5 租户使用 3个节点各1个

    2024年04月09日
    浏览(51)
  • Laravel框架中的目录结构都有什么作用?

    Laravel框架安装完成后,会在C:lwebwwwlapavel目录下自动创建一些文件和目录。本节来了解一下框架中各个目录的作用。 Laravel框架一级目录的作用如表所示。 在熟悉了一级目录的作用后,下面来看一下Laravel框架常用的子目录和文件的作用,如下表所示。

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包