ServletConfig和ServletContext对象

1由于一个WEB应用程序中的所有Servlet都共享同一个对应的ServletContext对象,所以ServletContext对象被称为application对象。是当前web应用的大管家,可以获取到web应用的各个信息

package servlet;

import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public HelloServlet() {
        super();
        System.out.println("constructor");
    }

    public void init(ServletConfig servletconfig) throws ServletException {
        // ServletConfig常用方法
        String v = servletconfig.getInitParameter("user:");
        // String v = this.getInitParameter("user:");
        // //也行,因为HttpServlet是ServletConfig的实现类,所以可以用this调用该方法
        System.out.println("method1:" + v);
        System.out.println("init");

        // Enumeration<String> en = this.getInitParameterNames();
        Enumeration<String> en = servletconfig.getInitParameterNames();
        while (en.hasMoreElements()) {
            String names = en.nextElement();
            String values = servletconfig.getInitParameter(names);
            System.out.println(names + "-->" + values);
        }
        System.out.println("");
        // ServletContext常用方法
        ServletContext sct = servletconfig.getServletContext();
        String svalue = sct.getInitParameter("driver");
        System.out.println(svalue);
        // 获取当前文件在web服务器上的绝对路径
        String str = sct.getRealPath("/file1.txt");
        System.out.println(str);
        // 获取当前web应用名称
        String conp = sct.getContextPath();
        System.out.println(conp);
        try {
            InputStream is = sct
                    .getResourceAsStream("/WEB-INF/classes/xml.properties"); // 路径是相对当前web应用的路径
            System.out.println(is);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("doGet");
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("dopost");
    }

    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
        System.out.println("destroy");
    }

}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <context-param>
           <param-name>driver</param-name>
           <param-value>jdbc.odbc</param-value>
    </context-param>
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>servlet.HelloServlet</servlet-class>
        <!--设置局部初始化参数  -->
        <init-param>
            <param-name>user:</param-name>
            <param-value>wuyj</param-value>
        </init-param>
        <init-param>
            <param-name>password:</param-name>
            <param-value>123</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>

    </servlet>

    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/servlet/HelloServlet</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

结果:

constructor

method1:wuyj

init

password:-->123

user:-->wuyj

jdbc.odbc

C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\sdf\file1.txt

/sdf

[email protected]

时间: 2024-10-22 23:22:15

ServletConfig和ServletContext对象的相关文章

(转)ServletConfig与ServletContext对象详解

ServletConfig与ServletContext对象详解 一.ServletConfig对象 在Servlet的配置文件中,可以使用一个或多个标签为servlet配置一些初始化参数.(配置在某个servlet标签或者整个web-app下) 当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet.进而,程序员通过S

ServletConfig与ServletContext对象详解

一.ServletConfig对象    在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数.(配置在某个servlet标签或者整个web-app下) 当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet.进而,程序员通过ServletConfig对象就可以

mvc-servlet---ServletConfig与ServletContext对象详解(转载)

ServletConfig与ServletContext对象详解 一.ServletConfig对象    在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数.(配置在某个servlet标签或者整个web-app下) 当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在 调用servlet的init方法时,将ServletConfig对象传递给

ServletConfig与ServletContext

ServletConfig与ServletContext对象详解 一.ServletConfig对象    在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数.(配置在某个servlet标签或者整个web-app下) 当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给s

小谈-—ServletConfig对象和servletContext对象

一.servletContext概述 servletContext对象是Servlet三大域对象之一,每个Web应用程序都拥有一个ServletContext对象,该对象是Web应用程序的全局对象或者上下文.Tomcat服务器在启动时,会自动创建一个ServletContext对象,在关闭时,会自动销毁这个ServletContext对象.每个Web应用程序只拥有一个ServletContext对象,ServletContext对象可以在整个Web应用中共享数据资源. 生命周期很长 每个web应

ServletConfig对象和ServletContext对象

ServletConfig对象是servlet配置对象,(web.xml中的)servlet信息封装在ServletConfig对象中,因此在一个web应用可存在多个ServletConfig.ServletContext对象是servlet上下文对象,而整个web.xml信息封装在ServletContext对象中,因此 一个web应用中只有一个servletcontext对象,可能存在多个servletconfig对象. ServletConfig 创建:在创建完servlet对象之后,在调

在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法

今天遇到了一个在servlet的service方法中获取ServletContext对象出现java.lang.NullPointerException(空指针)异常,代码如下: 1 //获取ServletContext对象 2 ServletContext servletContext = this.getServletContext(); 这个问题很奇怪,也是第一次遇到,因为以前在servlet的doGet/doPost方法中要获取ServletContext对象时都是这样写的,也没有出现过

servletContext对象

ServletContext对象 WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用. 1)ServletContext对象应用1:多个web组件之间使用它实现数据共享 ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象.由于一个WEB应用中的所有Servlet共享

ServletConfig和ServletContext

一.ServletConfig 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. ServletConfig可以读取web中<init-param>中定义的参数值: ServletConfig config = null; String paramVal = this.config.getInitParameter("name");//获取指定的初始化参数 二.ServletConte