• 通过反射,web.xml配置


    1.写一个模拟的servlet接口,其中有三个方法init,service,destroy
       写一个实现类重写这三个方法,然后写一个web.xml配置此实现类,写一个测试类,通过反射,给我调用实现类的三个方法
       

    package demo04;
    
    import java.lang.reflect.Method;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    public class demo{
    
        public static void main(String[] args) throws Exception {
            // 1.获取解析器
            SAXReader sax = new SAXReader();
            // 2.获取文档对象
            Document doc = sax.read("src/demo04/web.xml");
            // 3.获取根元素
            Element root = doc.getRootElement();
            // 4.获取<servlet>元素
            Element servlet = root.element("servlet");
            // 5.servlet-class文本值
            String servletclass = servlet.elementText("servlet-class");
            System.out.println(servletclass);
            Class c =Class.forName(servletclass);
            Object obj =c.newInstance();
            Method init =c.getMethod("init");
            Method service =c.getMethod("service");
            Method destroy =c.getMethod("destroy");
            init.invoke(obj);
            service.invoke(obj);
            destroy.invoke(obj);
        }
    
    }

    package demo04;
    
    //接口文件
    public interface MyServlet {
        
        public void init();
        
        public void service();
        
        public void destroy();
    }
    package demo04;
    //实现接口,并重写方法
    public class MyServletimp implements MyServlet{
    
        public void init() {
            System.out.println("初始化");
        }
    
        public void service() {        
            System.out.println("运行");
        }
    
        public void destroy() {        
            System.out.println("销毁");
        }
    
    }
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://www.example.org/web-app_2_5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
        version="2.5">
        <servlet>
        //  xml文件,web.xml配置此实现类,通过servlet-class找到类路径 <servlet-name>MySerclet</servlet-name> <servlet-class>demo04.MyServletimp</servlet-class> </servlet> <servlet-mapping> <servlet-name>MySerclet</servlet-name> <url-pattern>/MySerclet</url-pattern> </servlet-mapping> </web-app>
  • 相关阅读:
    表的相关内容
    数据类型
    mysql入门练习
    mysql入门
    协程
    多进程
    装饰器
    网络编程
    心路历程
    gensim的使用
  • 原文地址:https://www.cnblogs.com/Jxliu/p/9253147.html
Copyright © 2020-2023  润新知