上下文 —— ServletConfig、ServletContext
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了上下文 —— ServletConfig、ServletContext,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2614字,纯文字阅读大概需要4分钟。
内容图文
一、ServletConfig对象
在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。(配置在某个servlet标签或者整个web-app下)
< servlet > < servlet-name >DemoServlet</servlet-name><servlet-class>cn.csdn.web.servlet.DemoServlet</servlet-class><init-param><param-name>version</param-name><param-value>2.0</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DemoServlet</servlet-name><url-pattern>/demo/*</url-pattern></servlet-mapping>
当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
首先,需要创建私有变量:private ServletConfig config = null;
其次,要重写init方法,传入config,令this.config = config;从而获得ServletConfig对象
最后,就可以获得<init-parm>中的配置信息了
String username = this.config.getInitParameter("username"); String password = this.config.getInitParameter("password");
二、ServletContext对象
1、ServletContext对象是由谁创建的
由Servlet容器负责创建,对于每个JavaWeb应用,在WEB容器启动时,Servlet容器都会为每个web应用程序创建一个ServletContext对象,它代表当前web应用。
2、servletContext对象的获取:
1)ServletContext对象被包含在ServletConfig对象中 所以可以通过ServletConfig 对象调用ServletConfig.getServletContext()获得对ServletContext对象的引用。
2)在继承了HttpServlet对象的类中 可以通过this.getServletContext来获取。
3、ServletContext接口是Servlet中最大的一个接口,呈现了web应用的Servlet视图。ServletContext实例是通过 getServletContext()方法获得的,由于HttpServlet继承Servlet的关系GenericServlet类和 HttpServlet类同时具有该方法。每个应用都会有一个ServletContext对象与之关联,当容器分布在在多个虚拟机上时,web应用在所分布的每个虚拟机上都拥有一个ServletContext实例.缺省情况下,ServletContext不是分布式的,并且只存在于一个虚拟机上。
4、例子
1)初始化参数
在web.xml中配置初始化参数
< web-app > < param-name >email</param-name><param-value>jiruan03_2yangfei@163.com</param-value></web-app>
从Servlet中访问初始化参数:
ServletContext application=this.getServletContext(); out.println("send us your<a href=<mailto:‘"); out.println(application.getInitParameter("email")); out.println("‘>email</a>");
2)属性
可以通过编程的方式绑定,也可以作为web应用的全局变量被所有Servlet和JSPs访问
设置Context属性:
ServletContext application=this.getServletContext(); application.setAttribute("person1",new Person("Jim")); application.setAttribute("person2",new Person("Green"));
获取Context属性:
ServletContext application=this.getServletContext(); Enumberation persons=application.getAttributeNames(); while(persons.hasMoreElements()){ String name=(String)persons.nextElement(); Person p=(Person)persons.getAttribute(name); application.removeAttribute(name); }
原文:https://www.cnblogs.com/yifanSJ/p/9217415.html
内容总结
以上是互联网集市为您收集整理的上下文 —— ServletConfig、ServletContext全部内容,希望文章能够帮你解决上下文 —— ServletConfig、ServletContext所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。