Servlet下的ServletContext
来源:互联网 发布:352净化器怎么样 知乎 编辑:程序博客网 时间:2024/05/18 20:09
ServletContext简介
一个项目只有一个ServletContext对象可以在多个Servlet中来获取这个唯一的对象,使用它可以给多个Servlet传递数据该对象一直存在,在Tomcat启动时就创建,在Tomcat关闭时才会消失ServletContext对象的作用是在整个web应用的动态资源之间共享数据
获取ServletContext
ServletContext在ServletConfig中在GenericServlet中可以直接使用getServletContext()获取获取getServletContext有多种方式:ServletConfig中有getServletContext()GenericServlet中有getServletContext()HttpSession中有getServletContext()ServletContextEvent中有getServletContext()
域对象的功能
ServletContext是javaweb四大域对象之一:pageContextServletContextHttpSessionServletContext所有的域对象都有存取数据功能,域对象内部有一个Map,ServletContext用来存取数据的方法:void setAttribute(String name,Object value):用来存储一个对象,也称之为一个域属性,如果多次使用该方法,并且name相同,则会覆盖object getAttribute(String name):用来获取ServletContext中的数据,例如String value = (String)servletContext.getAtrribute("name");void removeAttribute(String name):用来移除ServletContext中的域属性,name不存在,则无任何操作Enumeration getAttributeNames():获取所有域属性名称
获取应用的初始化参数
Servlet也可以获取初始化参数,但它是局部的参数,也就是说,一个Servlet只能获取自己的初始化参数,不能获取别人的,即该Servlet自己的初始化参数在<servlet>标签下使用<init-param>、<param-name>、<param-value>设置可以配置公共的初始化参数,为所有Servlet用,这需要使用ServletContext才能使用
配置好参数后调用代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //得到ServletContext ServletContext context = getServletContext(); //调用getInitParameter(String)得到初始化参数 String s = context.getInitParameter("context1"); System.out.println(s); }
获取资源相关方法
1、获取真实资源路径
使用getRealPath(“文件名”)获取路径
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取资源真实路径 String path = this.getServletContext().getRealPath("/index.jsp"); System.out.println(path); }
2、获取资源流
通过ServletContext获取资源流,即把资源以输入流的方式获取:
InputStream getResourceAsStream(“文件名”)
获取a.txt资源流:InputStream in = servletContext.getResourceAsStream("a.txt");文件在根目录下
3、获取指定目录下的所有资源路径
使用Set getResourcePaths(“文件夹名”)方法
Set set = context.getResourcePaths(“WEB-INF”);
本方法必须以“/”开头
阅读全文
0 0
- Servlet下的ServletContext
- servlet 的servletContext 对象
- servlet的ServletConfig ServletContext演示
- 什么是Servlet,Servlet的生命周期、servletconfig、servletContext
- Servlet:ServletContext
- Servlet ServletContext
- [servlet] ServletContext
- 笔记之servlet的ServletContext对象(ServletContext的应用)
- Servlet的细节、ServletConfig对象、ServletContext对象及ServletContext应用
- 关于servlet的ServletContext的理解
- servlet生命周期的介绍&ServletContext接口
- servlet/ServletContext/ServletConfig三者的关系
- ServletContext,session,servlet的线程安全问题
- Servlet的应用--- ServletConfig和ServletContext
- Servlet的应用--- ServletConfig和ServletContext
- Servlet的应用---ServletConfig和ServletContext
- Servlet的应用---ServletConfig和ServletContext
- Servlet的应用--- ServletConfig和ServletContext
- 安卓学习笔记之Okhttp
- rtsp协议详解
- 如何判断子页面iframe的高度
- jquery.cityselect.js城市插件
- 万能的林萧说:我来告诉你,一个草根程序员如何进入BAT。
- Servlet下的ServletContext
- OData demo
- 关于文本标签的使用
- 面试题_Selenium
- ThinkPHP3.2自带的七牛云配置使用
- js查看浏览器类型和版本
- 解决 github push failed (remote: Permission to userA/repo.git denied to userB.)
- 1115. Counting Nodes in a BST (30)
- Discuz X3.2 论坛关闭后,MySQL帖子导出为.csv