ServletConfig接口干什么

 ServletConfig是什么

* ServletConfig是Servlet规范中的一员,是一个接口

谁去实现这个接口?

*org.apache.catalina.core.StandardWrapperFacade这个类实现
* 也就是tomcat服务器实现的它

ServletConfig对象谁创建的

* Tomcat(服务器)创建的,在新目录创建servlet时同时创建了servletConfig对象,并将 ServletConfig 对象作为参数传递给 Servlet 。通过 ServletConfig 对象即可获得当前 Servlet 的初始化参数信息。当写两个类都获取Selvert对象时,两个对象地址不一样,因此一个Servlet对象中只有一个ServletConfig对象

获得 ServletConfig 对象:

通过getServletConfig()获取

public class ConfigTestSelvert extends GenericServlet {
    @Override
    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
//        设置响应给客户端的文件格式为html格式
        response.setContentType("text/html");
//        把上述响应写给out
        PrintWriter out = response.getWriter();
//        获取ServletConfig对象
        ServletConfig servletConfig = this.getServletConfig();
        System.out.println(servletConfig);//org.apache.catalina.core.StandardWrapperFacade@5054d770
  • 元素是 的子元素, 需要在 元素内使用,表示只对当前 Servlet 有效 。
  • 子元素表示参数的名称。
  • 子元素表示参数的值。
 
        config
        com.bjpowernode.javaweb.servlet.ConfigTestSelvert

    
    
        config
        /test
    

servletConfig是干什么的

* servletConfig是Servlet的配置信息,一个Servlet就有一个配置对象,两个就有两个。可以通过 ServletConfig 对象即可获得当前 Servlet 的初始化参数信息。

可获得当前 Servlet 的初始化参数信息

SerlvetConfig提供的方法:

ServletConfig接口干什么_第1张图片

 配置 Servlet 初始化参数

  
        config
        com.bjpowernode.javaweb.servlet.ConfigTestSelvert

        
            driver
            com.mysql.cj.jdbc.Driver
        
        
            url
            jdbc:mysql://localhost:3306、text
        
        
            user
            root
        
        
            password
            123456
        
    
    
        config
        /test
    

//GenericServlet类实现了Servlet,ServletConfig和Serializable接口。它提供除了service方法之外,还实现了这些接口的所有方法。
public class ConfigTestSelvert extends GenericServlet {
    @Override
    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
//        设置响应给客户端的文件格式为html格式
        response.setContentType("text/html");
//        把上述响应写给out
        PrintWriter out = response.getWriter();
//        获取ServletConfig对象
        ServletConfig servletConfig = this.getServletConfig();
        System.out.println(servletConfig);
//        获取  
     String servletConfig1 = this.getServletName();
     out.print(""+servletConfig1);
     out.print("
"); //public Enumeration getInitParameterNames()返回web.xml文件中定义的所有初始化参数名称。 // public String getInitParameter(String name)返回给定初始化参数名称的参数值。 Enumeration init = servletConfig.getInitParameterNames(); // 遍历hasMoreElements()是否有跟多元素 while (init.hasMoreElements()){ String s = init.nextElement();//取元素 String initParameter = servletConfig.getInitParameter(s); out.print(s+"="+initParameter); out.print("
"); } } }

ServletConfig接口干什么_第2张图片

servletConfig对象中到底包装了什么信息

*  servletConfig对象中到底包装了《servlet》《/servlet>标签的配置信息


        config
        com.bjpowernode.javaweb.servlet.ConfigTestSelvert
   

 tomcat小猫咪解析web.xml文件,会自动将标签的配置信息包装到servletconfig中




 

你可能感兴趣的:(javaWeb,servlet,java,前端)