起源之路——Servlet(三)

Servlet上下文

ServletContext接口

ServletContext接口定义Servlet运行在的Web应用的视图。容器供应商提供Servlet容器的针对ServletContext的接口实现。可以使用ServletContext对象来记录时间获取URL引用资源、存取上下文的其他Servlet可访问的属性。每一个部署到容器中的Web应用都有一个ServletContext接口实例来与接口关联。如果容器内的Servlet没有部署到Web应用中,则作为“默认”Web应用的一部分,并有一个默认的ServletContext。

Servletcontext初始化参数

  • getInitParamter
  • getInitparamterNames

配置方法

  • 编程式添加和配置Servlet
    • addServlet(…) //该方法允许应用以编程方式声明一个servlet,并添加给定的参数
    • T createServlet(…) //该方法实例化一个给定的Servlet Class,它必须支持适用于Servlet的除@WebServlet的所有注解,返回的Servlet实例通过调用addServlet注册到ServletContext之前,可以进一步的定制。
    • ServletRegistration getServletRegistration(…) //该方法返回与指定名字的Servlet相关的ServletRegistration。
    • Map getServletRegistration() //该方法返回ServletRegistration对象的map,由名称作为键对应注册到ServletContext的所有Servlet。
  • 编程式添加和配置filter
    • addFilter(…) //作用与servlet一致
    • T createFilter(…) //作用与servlet一致
    • FilterRegistration getFilterRegistration(…) //作用与servlet一致
    • Map getFilterRegistration() //作用与servlet一致
  • 编程式添加和配置listener
    • void addListener(…) //向上下文中添加监听器,给定的监听器实例必须实现如下接口:
      • javax.servlet.ServletContextAttributeListener
      • javax.servlet.ServletRequestListener
      • javax.servlet.ServletRequestAttributeListener
      • javax.servlet.http.HttpSessionListener
      • javax.servlet.http.HttpSessionAttributeListener
      • javax.servlet.http.HttpSessionIdListener
    • void createListener(…) //实例化监听器

上下文的属性

  • setAttribute
  • getAttribute
  • getAttributeNames
  • removeAttribute

资源的使用

ServletContext提供了直接访问Web应用中静态内容层次结构文件的方法,例如HTML、GIT和JPEG:

  • getResource
  • getResourceAsStream
    这两个方法都需要一个以“/”开头的字符串作为参数,资源路径是相对于上下文的根路径,或者相对于web应用的WEB-INF/lib目录下META-INF/resources目录。这两个方法不能用于获取动态内容。

参考链接: 来自waylau翻译的《Java Servlet 3.1 规范》
自己使用整理收集,如有侵权 请联系删除!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值