亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lightweightxmlrpcserver.java

?? java 與 xml 技術的確融合
?? JAVA
字號:
/*--

 Copyright (C) 2000 Brett McLaughlin. All rights reserved.

 Redistribution and use in source and binary forms, with or without modifica-
 tion, are permitted provided that the following conditions are met:

 1. Redistributions of source code must retain the above copyright notice,
    this list of conditions, and the following disclaimer.

 2. Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions, the disclaimer that follows these conditions,
    and/or other materials provided with the distribution.

 3. Products derived from this software may not be called "Java and XML", nor may
    "Java and XML" appear in their name, without prior written permission from
    Brett McLaughlin (brett@newInstance.com).

 THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
 JDOM PROJECT  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT, INDIRECT,
 INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLUDING, BUT
 NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
 OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
 ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
 (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 This software was originally created by Brett McLaughlin <brett@newInstance.com>.
 For more  information on "Java and XML", please see <http://www.oreilly.com/catalog/javaxml/>
 or <http://www.newInstance.com>.

 */
package com.oreilly.xml;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Hashtable;

import helma.xmlrpc.XmlRpc;
import helma.xmlrpc.WebServer;

/**
 * <b><code>LightweightXmlRpcServer</code></b> is a utility class
 *   that will start an XML-RPC server listening for HTTP requests
 *   and register a set of handlers, defined in a configuration file.
 * 
 * @author Brett McLaughlin
 * @version 1.0
 */
public class LightweightXmlRpcServer {
  
    /** The XML-RPC server utility class */
    private WebServer server;
    
    /** Port number to listen on */
    private int port;
    
    /** Configuration file to use */
    private String configFile;
    
    /**
     * <p>
     * This will store the requested port and configuration file
     *   for the server to use.
     * </p>
     *
     * @param port <code>int</code> number of port to listen to
     * @param configFile <code>String</code> filename to read for
     *                   configuration information.
     */
    public LightweightXmlRpcServer(int port, String configFile) {
        this.port = port;
        this.configFile = configFile;
    }
    
    /**
     * <p>
     * This will start up the server.
     * </p>
     *
     * @throws <code>IOException</code> when problems occur.
     */
    public void start() throws IOException {
        try {
            // Use Apache Xerces SAX Parser
            XmlRpc.setDriver("org.apache.xerces.parsers.SAXParser");

            System.out.println("Starting up XML-RPC Server...");
            server = new WebServer(port);                      
            
            // Register handlers
            registerHandlers(getHandlers());
            
        } catch (ClassNotFoundException e) {
            throw new IOException("Error loading SAX parser: " + 
                e.getMessage());
        }         
    } 

    /**
     * <p>
     * This is a method that parses the configuration file
     *   (in a very simplistic manner) and reads the handler
     *   definitions supplied.
     * </p>
     * 
     * @return <code>Hashtable</code> - class id/class pairs.
     * @throws <code>IOException</code> - when errors occur in 
     *                                    reading/parsing the file.
     */
    private Hashtable getHandlers() throws IOException {

        Hashtable handlers = new Hashtable();
        
        BufferedReader reader = 
            new BufferedReader(new FileReader(configFile));
        String line = null;
        
        while ((line = reader.readLine()) != null) {
            // Syntax is "handlerName, handlerClass"
            int comma;
            
            // Skip comments
            if (line.startsWith("#")) {
                continue;
            }
            
            // Skip empty or useless lines            
            if ((comma = line.indexOf(",")) < 2) {
                continue;
            }
            
            // Add the handler name and the handler class
            handlers.put(line.substring(0, comma), 
                         line.substring(comma+1));
        }
        
        return handlers;        
    }

    /**
     * <p>
     * This will register the handlers supplied in the XML-RPC
     *   server (typically from <code>{@link #getHandlers()}</code>.
     * </p>
     *
     * @param handlers <code>Hashtable</code> of handlers to register.
     */ 
    private void registerHandlers(Hashtable handlers) {        
        Enumeration handlerNames = handlers.keys();
        
        // Loop through the requested handlers
        while (handlerNames.hasMoreElements()) {
            String handlerName = (String)handlerNames.nextElement();
            String handlerClass = (String)handlers.get(handlerName);
            
            // Add this handler to the server
            try {
                server.addHandler(handlerName, 
                    Class.forName(handlerClass).newInstance());
                
                System.out.println("Registered handler " + handlerName +
                                   " to class " + handlerClass);
            } catch (Exception e) {
                System.out.println("Could not register handler " + 
                                   handlerName + " with class " + 
                                   handlerClass);
            }
        }
    }  
  
    /**
     * <p>
     * Provide a static entry point.
     * </p>
     */
    public static void main(String[] args) {
      
        if (args.length < 2) {
            System.out.println(
                "Usage: " +
                "java com.oreilly.xml.LightweightXmlRpcServer " +
                "[port] [configFile]");
            System.exit(-1);
        }
        
        LightweightXmlRpcServer server =
            new LightweightXmlRpcServer(Integer.parseInt(args[0]),
                                        args[1]);   

        try {
            // Start the server
            server.start();
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }                               
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影一区二区三区四区| 国产成人亚洲精品青草天美| 久久精品人人做人人爽97| 91久久久免费一区二区| 国内成人精品2018免费看| 亚洲成av人综合在线观看| 欧美国产日韩一二三区| 欧美一区二区精美| 欧美日韩一区国产| 成人高清免费观看| 国产精品91xxx| 美女脱光内衣内裤视频久久影院| 亚洲欧美另类综合偷拍| 久久这里只有精品首页| 日韩一区二区在线播放| 欧美日韩中文精品| 91日韩在线专区| 国产露脸91国语对白| 毛片不卡一区二区| 爽好多水快深点欧美视频| 亚洲男人电影天堂| 中文字幕永久在线不卡| 国产亚洲一区二区三区四区| 精品少妇一区二区| 欧美一区二区精品| 欧美精品黑人性xxxx| 精品视频1区2区| 欧美唯美清纯偷拍| 色av一区二区| 日本韩国精品在线| 在线日韩av片| 色婷婷av一区二区三区大白胸| 久久狠狠亚洲综合| 蜜臀av一区二区在线观看 | 91精品国产欧美一区二区18| 欧美在线色视频| 色八戒一区二区三区| 色噜噜狠狠色综合欧洲selulu| 99久久99久久久精品齐齐| 成人小视频在线| 不卡一区在线观看| 99re这里只有精品首页| 91亚洲精品乱码久久久久久蜜桃 | 精品国产乱码久久久久久夜甘婷婷 | 国产美女一区二区三区| 国产真实乱对白精彩久久| 国产乱码精品1区2区3区| 国产成人av一区二区| 国产成人在线看| av激情成人网| 91黄色免费版| 777亚洲妇女| 精品三级在线观看| 国产精品天天摸av网| 成人免费在线视频| 亚洲精品自拍动漫在线| 五月婷婷综合网| 麻豆国产一区二区| 国产成人综合亚洲网站| www.久久久久久久久| 在线精品视频一区二区三四| 欧美日韩不卡在线| 精品国产在天天线2019| 欧美激情综合五月色丁香小说| 综合精品久久久| 丝袜美腿高跟呻吟高潮一区| 韩国av一区二区三区| 不卡的电影网站| 6080国产精品一区二区| 2021久久国产精品不只是精品| 国产精品免费av| 五月天欧美精品| 国产黄人亚洲片| 欧美在线三级电影| 欧美一级搡bbbb搡bbbb| 中文字幕av一区二区三区免费看| 亚洲人成7777| 久久99久久久久久久久久久| 成人av午夜电影| 欧美一区二区三区视频| 国产欧美一区二区精品忘忧草| 亚洲美女视频在线观看| 久久国产精品99久久久久久老狼| av一二三不卡影片| 欧美一区二区三区在线电影| 国产精品日产欧美久久久久| 午夜精品免费在线| 99在线精品一区二区三区| 欧美一区二区三区免费视频| 国产精品家庭影院| 久久 天天综合| 欧美日产国产精品| 中文字幕中文乱码欧美一区二区 | 亚洲成人一区二区在线观看| 大尺度一区二区| 欧美一级高清片在线观看| 亚洲视频电影在线| 激情成人综合网| 欧美日韩国产经典色站一区二区三区 | 亚洲一区二区三区四区在线观看 | 91麻豆swag| 久久久久国产精品麻豆ai换脸| 亚洲在线免费播放| 成人黄色大片在线观看| 日韩一区二区三区三四区视频在线观看 | 成人免费黄色大片| 欧美变态tickle挠乳网站| 一区二区三区日韩| 国产99精品国产| 精品成人在线观看| 日本欧美久久久久免费播放网| 在线亚洲人成电影网站色www| 欧美高清在线视频| 国模娜娜一区二区三区| 欧美一级淫片007| 日本网站在线观看一区二区三区| 91福利国产成人精品照片| 综合自拍亚洲综合图不卡区| 国产宾馆实践打屁股91| 精品国产亚洲在线| 狠狠色丁香久久婷婷综| 欧美变态tickle挠乳网站| 青青草国产精品亚洲专区无| 欧美日韩中文精品| 午夜影院久久久| 欧美在线一区二区| 一区二区久久久久久| 色婷婷久久一区二区三区麻豆| 中文字幕久久午夜不卡| 成人激情开心网| 日本一区二区动态图| 成人中文字幕在线| 国产三级欧美三级日产三级99 | 欧美日韩成人一区二区| 亚洲电影欧美电影有声小说| 欧美日韩在线电影| 日韩精品免费视频人成| 欧美精品vⅰdeose4hd| 日本视频中文字幕一区二区三区| 欧美一区二区免费视频| 极品少妇xxxx精品少妇| 欧美大尺度电影在线| 久久99精品久久久| 国产日韩三级在线| www.av精品| 亚洲黄色免费网站| 欧美日韩在线免费视频| 日本一区中文字幕| 久久久www成人免费无遮挡大片| 国产一区二区三区日韩| 国产精品三级av| 色综合天天综合网国产成人综合天 | 国产精品视频一二| 色综合一个色综合亚洲| 亚洲va欧美va人人爽| 欧美一区永久视频免费观看| 老司机午夜精品| 国产日韩欧美在线一区| 色综合久久综合中文综合网| 亚洲mv大片欧洲mv大片精品| 精品国产乱码久久久久久1区2区| 国产精品综合av一区二区国产馆| 国产精品视频线看| 在线视频你懂得一区| 狠狠色狠狠色合久久伊人| 亚洲欧洲精品一区二区三区不卡| 日本韩国精品在线| 久久国产尿小便嘘嘘尿| 国产精品你懂的在线| 欧美精品aⅴ在线视频| 国产剧情av麻豆香蕉精品| 亚洲三级免费电影| 91精品黄色片免费大全| 国产91精品久久久久久久网曝门 | 一色桃子久久精品亚洲| 欧美日韩另类一区| 国产伦精品一区二区三区免费 | 成人欧美一区二区三区| 欧美一区二区三区的| av在线不卡免费看| 琪琪一区二区三区| 成人欧美一区二区三区黑人麻豆| 欧美精品丝袜中出| 国产69精品一区二区亚洲孕妇| 亚洲成人一区二区在线观看| 国产欧美精品一区二区色综合| 欧美日韩午夜在线| 国产成人啪午夜精品网站男同| 香蕉影视欧美成人| 亚洲视频一区二区在线观看| 日韩精品专区在线影院重磅| 91麻豆成人久久精品二区三区| 精品一区二区在线播放| 一区二区三区av电影 | 全国精品久久少妇| 一区二区三区蜜桃网| 国产亚洲欧美在线| 制服丝袜激情欧洲亚洲| 色天天综合色天天久久| 国产精品综合网|