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

  • 相关阅读:
    Android 针对单个Activity设置状态栏颜色
    Android Studio 无法预览xml布局视图:failed to load AppCompat ActionBar with unkNown error
    浅谈EditText控件的inputType类型
    Android项目实战(四十三):夜神模拟器
    浅谈SnackBar(Toast大兄弟)
    打包错误--Error:A problem was found with the configuration of task ':app:packageRelease'.
    Android项目实战(四十二):启动页优化,去除短暂白屏或黑屏
    Android项目实战(四十一):游戏和视频类型应用 状态栏沉浸式效果
    04-01 集成学习基础
    02-24 决策树总结
  • 原文地址:https://www.cnblogs.com/PersonalDiary/p/13600033.html
Copyright © 2011-2022 走看看