ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ServletContext对象

2021-05-30 23:04:40  阅读:139  来源: 互联网

标签:WEB String 对象 获取 ServletContext INF 目录


简述  

  ServletContext代表整个web应用,可以和程序的容器(服务器)来通信

获取

  1. 我们可以通过request对象进行获取

request.getServletContext()
获取ServletContext对象

  2. 通过HttpServlet获取

this.getServletContext()
获取ServletContext对象

  注意这两种方式获取的对象都是同一个对象

功能

获取MINE类型

  什么是MINE类型?->在互联网通信过程中定义的一种文件数据类型的标准

  格式:大类型 / 小类型

  例如:text/html  image/jpeg

String getMimeType(String file)   根据文件类型获取mine类型

  所有的文件类型和mine类型的映射关系都在服务器的web.xml里有,每次通过配置文件查看mine类型又有风险,而ServletContext类又恰好能和服务器进行通信,所以能通过它的方法查找mine类型

共享数据

  ServletContext是一个域对象,和request域对象一样可以共享数据

  ServletContext对象范围:所有用户所有请求的数据

  ServletContext对象的生命周期:服务器启动被创建,服务器关闭才会被销毁

setAttribute(String name,Object value) 存放键值对
getAttribute(String name)  根据键名获取值
removeAttribute(String name) 根据键名移除值

获取文件真实路径

  我们可以通过getRealPath方法获取文件的真实路径

String getRealPath(String path)   获取文件的真实(服务器)路径

  一般我们的配置文件有三个位置供我们拜访,src目录下、web目录下、WEB-INF目录下

  我们调用getRealPath的参数是从web目录下开始的,也就是说例如你的web目录下有个c.txt,则这样写就行

String contextPath = servletContext.getRealPath("/c.txt");

  而如果放在了WEB-INF下则要进入WEB-INF目录

String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目录下的资源访问

  如果放在了src目录里,因为打包后src目录会变成WEB-INF下的classes文件,所以要进入classes目录

String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目录下的资源访问

   当然你可以通过class或者类加载器获取src目录

标签:WEB,String,对象,获取,ServletContext,INF,目录
来源: https://www.cnblogs.com/qq2210446939/p/14828795.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有