21.ServletContext接口和常用方法

ServletContext接口,表示应用,Tomcat启动的时候创建一个对象,Tomcat关闭对象销毁,在整个Web的生命周期中,只有一个对象,表示的就是当前应用.

如何获得该对象:

1:若在Servlet中:
ServletContext ctx = super.getServletContext();

GenericServlet 实现了Servlet和ServletConfig接口,而getServletContext方法就在ServletConfig接口中.
2:通过请求对象获取:
ServletContext ctx2 = req.getServletContext();:从Tomcat7开始支持

ServletContext ctx3 = req.getSession().getServletContext();//古老

常用方法:

1):String getContextPath():

获取当前应用的上下文路径.

2):String getRealPath(String path):

获取某个资源的绝对路径

//在做文件下载的时候使用该方法根据指定的相对路径获取文件在磁盘中的绝对路径

3):全局初始化参数:
先看传统的Servlet的初始化参数:

因为配置在当前ServletContextDemo中,所以只能被ServletContextDemo使用,其他Servlet无法使用.

而在开发中,多个Web组件(Servlet/Filter)可以拥有共同的初始化参数,此时只能配置N次,不利于维护.

解决方案:

使用全局的初始化参数,Web组件都可以共用,配置问web.xml文件中.

图片1.png
注意:

获取全局的初始化参数,就再也不能使用ServletConfig对象.getInitParameter来获取了.只能使用,

ServletContext对象.getInitParameter(String paramName);

思考题:

说说以下的区别:
request.getParameter(String name)://获取用户输入的参数信息

request.getAtribute(String name): //获取程序员自己设置的共享信息
ServletConfig对象.getInitParameter(String name);

ServletContext对象.getInitParameter(String name);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,652评论 1 92
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,246评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,999评论 6 342
  • 你在 我就知道自己永远要向上 跟你一样耀眼 那年夏天的风,混着你的气息 攫取我自诩不破的理智和逻辑 也不知怎么了 ...
    岩寺卿22阅读 93评论 0 0
  • A:毛毛虫 B:蝴蝶 C:鱼 D:人类 A:你的人格分析:你是个害羞的人,当处在人多场合时,你便会感到不自在,你常...
    孑冇阅读 375评论 0 0