Servlet JSP之 ServletConfig对象

ServletConfig对象有四个方法。

 1、 getInitParameter、 getInitParameterNames、 getServletName

(1)getInitParameter、 getInitParameterNames用于获取Web.xml中的参数名、参数值。

(2)getServletName 获取 Web.xml中的 Servlet-name。

实例

下面是Web.xml的文件内容:




        TestServletConfig
        com.djun.serveleMapping.TestServletConfig

        
        
        
            username
            admin
        

        
            passworld
            admin
        
        
        1
    

    
        TestServletConfig
        
        /servletConfig
    
import javax.servlet.*;
import java.io.IOException;
import java.util.Enumeration;

public class TestServletConfig implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("Init TestServletConfig...");
        System.out.println("-----------执行getInitParameter--------");
        String username = servletConfig.getInitParameter("username");
        String passworld = servletConfig.getInitParameter("passworld");
        System.out.println("username: " + username+"\n"+"password : "+passworld);

        System.out.println("----------执行getInitParameterNames------");
        Enumeration names = servletConfig.getInitParameterNames();

        while(names.hasMoreElements()){
            String name = names.nextElement();
            String value = servletConfig.getInitParameter(name);
            System.out.println("username: " + name+"\n"+"password : "+value);
        }
        String servletName = servletConfig.getServletName();
        System.out.println(servletName);
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("TestServletConfig....");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

4、 getServletContext

      (1)Servlet为每个Web应用程序都创建了一个对应的ServletContext对象,ServletContext对象被包含在ServletConfig对象中,通过调用 ServletContext.getServletContext()方法可以返回ServletContext对象的引用。
      (2) 由于一个Web应用程序中的所有Servlet都共享同一个ServletContext对象,所以,ServletContext对象被称为application对象(也就是web应用程序对象)。
 

(1) getRealPath()

获取某一个文件在服务器上的绝对路径,注意:并非是部署前的路径。

注意我的下面文件存放的目录

Servlet JSP之 ServletConfig对象_第1张图片

(2) getContextPath()

获取当前Web应用的某一个文件对应的输入流。

System.out.println("getContextPath() -----------");
        String contextPath = servletContext.getContextPath();
        System.out.println(contextPath);
        String fileName = "application.properties";
        try {
            File file = new File(realPath+ "/" + fileName);
            ClassLoader classLoader = getClass().getClassLoader();

            InputStream is = classLoader.getResourceAsStream(realPath + "/" + fileName);
            System.out.println(realPath+ "/" + fileName);

            System.out.println("1. "+ is);

        } catch (Exception e) {
            e.printStackTrace();
        }

 

 

 

你可能感兴趣的:(Servlet,JSP,Java)