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

  • 相关阅读:
    mac zsh选择到行首的快捷键
    phalcon下拉列表
    tinycore remaster方法
    bundle安装方法
    centos7安装avahi
    pydoc介绍
    macosx下apache的默认用户为daemon
    centos配置ssh免密码登录后,仍提示输入密码
    xampp默认项目文件夹htdocs
    微信开发:"errcode": -1000,"errmsg": "system error"错误的解决办法
  • 原文地址:https://www.cnblogs.com/PersonalDiary/p/13600033.html
Copyright © 2011-2022 走看看