zoukankan      html  css  js  c++  java
  • XML解析

        public static void reflect(){
            // 获取解析器
            SAXReader reader = new SAXReader();
            try {
                // 获取document
                Document document = reader.read("src/main/resources/WebDtd.xml");
                // 获取根元素
                Element root = document.getRootElement();
                // 查找servlet元素
                Element em = root.element("servlet");
                // 查找servlet元素下的servlet-class元素
                String servletClass = em.elementText("servlet-class");
                // 返回与给定字符串名称的类或接口相关联的类对象
                Class clz = Class.forName(servletClass);
                // 创建类的实例
                Object obj = clz.newInstance();
                // 获取指定类的方法 注意:getMethod()中的参数必须指明,否则如果存在重载情况会报错,其次,参数类型int和Integer是不一样的
                Method f1 = clz.getMethod("f1",String.class, int.class,int.class);
                Method f2 = clz.getMethod("f2");
                Method f3 = clz.getMethod("f3");
                // 执行指定类的方法
                Object f1Result = f1.invoke(obj,"lemon",1,10);
                Object f2Result = f2.invoke(obj);
                Object f3Result = f3.invoke(obj);
                System.out.println("f1Result:" + f1Result);
                System.out.println("f2Result:" + f2Result);
                System.out.println("f3Result:" + f3Result);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

     WebDtd.xml

    <?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>
            <servlet-name>MyServer</servlet-name>
            <servlet-class>com.home.framework.test.PersonSImpl</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>MyServer</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    </web-app>

    PersonS接口

    public interface PersonS {
    
        String f1(String param1,int page,int limit);
    
        String f2();
    
        String f3();
    }

    PersonS接口实现类

    public class PersonSImpl implements PersonS {
    
        @Override
        public String f1(String param1,int page,int limit) {
            System.out.println("f1方法执行了-->[param1:" + param1 + ",page:" + page + ",limit:" + limit + "]");
            return "出生";
        }
    
        @Override
        public String f2() {
            System.out.println("f2方法执行了");
            return "青年";
        }
    
        @Override
        public String f3() {
            System.out.println("f3方法执行了");
            return "爱你到老";
        }
    }

    转自: https://www.cnblogs.com/wangrongchen/p/9251503.html

  • 相关阅读:
    PythonStudy——数据类型总结 Data type summary
    PythonStudy——可变与不可变 Variable and immutable
    PythonStudy——列表操作 List operatio
    PythonStudy——列表的常用操作 List of common operations
    PythonStudy——列表类型 List type
    PythonStudy——字符串扩展方法 String extension method
    PythonStudy——字符串重要方法 String important method
    AWT,Swing,RCP 开发
    JQuery插件机制
    最新知识网站
  • 原文地址:https://www.cnblogs.com/PersonalDiary/p/13600033.html
Copyright © 2011-2022 走看看