标签:eal tps tco get sys text names 包含 参数传递
Servlet容器初始化一个servlet对象时,会为这个servlet对象创建一个servletConfig对象,该对象中包含了servlet的<init-param>初始化参数信息。Servlet容器在调用servlet对象的init(ServletConfig config)方法时,会把servletConfig对象当做参数传递给servlet对象。Init(ServletConfig config)方法中通过this.config=config将ServletConfig对象保存,之后在service方法中可以通过this.getServletConfig()获取该对象。如果要覆盖 init() 方法,应调用 super.init() 以确保该Servlet得到正确地初始化。
作用:将数据库信息、编码方式等配置信息放在web.xml中,以后修改时不需要修改源代码。
常用方法:
一般开发者创建的Servlet都继承HttpServlet,而HttpServlet是GenericServlet的子类。GenericServlet也实现了getInitParameter()方法,因此Servlet可以直接调用该方法去获取servlet的配置信息,不用通过ServletCofig对象。
容器启动后,会为每一个Web应用创建唯一的一个符合ServletContext接口要求的对象---servlet context。只要不关闭服务器或删除web应用,该servlet context就一直存在。
作用:Web应用范围内存取共享数据;访问web应用的资源文件;Servlet对象之间通过ServletContext对象来实现通讯;获取Servlet容器的相关信息;访问日志信息等。
GenericServlet/ServletConfig/HttpSession/FilterConfig都提供了getServletContext()方法获取ServletContext对象。
绑定数据时,在满足使用条件的情况下,优先使用生命周期短的,提高内存使用率:
request<session<Context
常用方法:
//一次性获取Context里所有的初始化参数 Enumeration enumeration = context.getInitParameterNames(); while (enumeration.hasMoreElements()) { String name = (String) enumeration.nextElement(); String value = context.getInitParameter(name); System.out.println(name + ";" + value); }
servlet context 和 servlet config
标签:eal tps tco get sys text names 包含 参数传递
原文地址:http://www.cnblogs.com/kevin2chen/p/6541357.html