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

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

?? listservlets2.java

?? Examples From Java Examples in a Nutshell, 2nd Edition 書中的源碼
?? JAVA
字號:
/* * Copyright (c) 2000 David Flanagan.  All rights reserved. * This code is from the book Java Examples in a Nutshell, 2nd Edition. * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied. * You may study, use, and modify it for any non-commercial purpose. * You may distribute it non-commercially as long as you retain this notice. * For a commercial use license, or to purchase the book (recommended), * visit http://www.davidflanagan.com/javaexamples2. */package com.davidflanagan.examples.xml;import org.xml.sax.*;             // The main SAX packageimport org.xml.sax.helpers.*;     // SAX helper classesimport java.io.*;                 // For reading the input fileimport java.util.*;               // Hashtable, lists, and so on/** * Parse a web.xml file using the SAX2 API and the Xerces parser from the * Apache project. *  * This class extends DefaultHandler so that instances can serve as SAX2 * event handlers, and can be notified by the parser of parsing events. * We simply override the methods that receive events we're interested in **/public class ListServlets2 extends org.xml.sax.helpers.DefaultHandler {    /** The main method sets things up for parsing */    public static void main(String[] args) throws IOException, SAXException {	// Create the parser we'll use.  The parser implementation is a 	// Xerces class, but we use it only through the SAX XMLReader API	org.xml.sax.XMLReader parser=new org.apache.xerces.parsers.SAXParser();	// Specify that we don't want validation.  This is the SAX2	// API for requesting parser features.  Note the use of a	// globally unique URL as the feature name.  Non-validation is	// actually the default, so this line isn't really necessary.	parser.setFeature("http://xml.org/sax/features/validation", false);	// Instantiate this class to provide handlers for the parser and 	// tell the parser about the handlers	ListServlets2 handler = new ListServlets2();	parser.setContentHandler(handler);	parser.setErrorHandler(handler);	// Create an input source that describes the file to parse.	// Then tell the parser to parse input from that source	org.xml.sax.InputSource input=new InputSource(new FileReader(args[0]));	parser.parse(input);    }    HashMap nameToClass;     // Map from servlet name to servlet class name    HashMap nameToPatterns;  // Map from servlet name to url patterns    StringBuffer accumulator;                         // Accumulate text    String servletName, servletClass, servletPattern; // Remember text    // Called at the beginning of parsing.  We use it as an init() method    public void startDocument() {	accumulator = new StringBuffer();	nameToClass = new HashMap();	nameToPatterns = new HashMap();    }    // When the parser encounters plain text (not XML elements), it calls    // this method, which accumulates them in a string buffer.    // Note that this method may be called multiple times, even with no    // intervening elements.    public void characters(char[] buffer, int start, int length) {	accumulator.append(buffer, start, length);    }    // At the beginning of each new element, erase any accumulated text.    public void startElement(String namespaceURL, String localName,			     String qname, Attributes attributes) {	accumulator.setLength(0);    }    // Take special action when we reach the end of selected elements.    // Although we don't use a validating parser, this method does assume    // that the web.xml file we're parsing is valid.    public void endElement(String namespaceURL, String localName, String qname)    {	if (localName.equals("servlet-name")) {        // Store servlet name	    servletName = accumulator.toString().trim();	}	else if (localName.equals("servlet-class")) {  // Store servlet class	    servletClass = accumulator.toString().trim();	}	else if (localName.equals("url-pattern")) {    // Store servlet pattern	    servletPattern = accumulator.toString().trim();	}	else if (localName.equals("servlet")) {        // Map name to class	    nameToClass.put(servletName, servletClass);	}	else if (localName.equals("servlet-mapping")) {// Map name to pattern	    List patterns = (List)nameToPatterns.get(servletName);	    if (patterns == null) {		patterns = new ArrayList();		nameToPatterns.put(servletName, patterns);	    }	    patterns.add(servletPattern);	}    }    // Called at the end of parsing.  Used here to print our results.    public void endDocument() {	List servletNames = new ArrayList(nameToClass.keySet());	Collections.sort(servletNames);	for(Iterator iterator = servletNames.iterator(); iterator.hasNext();) {	    String name = (String)iterator.next();	    String classname = (String)nameToClass.get(name);	    List patterns = (List)nameToPatterns.get(name);	    System.out.println("Servlet: " + name);	    System.out.println("Class: " + classname);	    if (patterns != null) {		System.out.println("Patterns:");		for(Iterator i = patterns.iterator(); i.hasNext(); ) {		    System.out.println("\t" + i.next());		}	    }	    System.out.println();	}    }    // Issue a warning    public void warning(SAXParseException exception) {	System.err.println("WARNING: line " + exception.getLineNumber() + ": "+			   exception.getMessage());    }    // Report a parsing error    public void error(SAXParseException exception) {	System.err.println("ERROR: line " + exception.getLineNumber() + ": " +			   exception.getMessage());    }    // Report a non-recoverable error and exit    public void fatalError(SAXParseException exception) throws SAXException {	System.err.println("FATAL: line " + exception.getLineNumber() + ": " +			   exception.getMessage());	throw(exception);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品网站免费观看| 欧美日韩国产综合视频在线观看| 同产精品九九九| 亚洲国产综合在线| 亚洲综合色婷婷| 亚洲小说欧美激情另类| 亚洲一二三区视频在线观看| 一区二区三区国产精华| 亚洲综合色噜噜狠狠| 婷婷成人综合网| 久久99精品国产| 成人亚洲一区二区一| 色一区在线观看| 欧美精三区欧美精三区| 精品sm捆绑视频| 国产目拍亚洲精品99久久精品| 亚洲欧洲成人自拍| 亚洲亚洲人成综合网络| 免费精品视频在线| 福利一区二区在线观看| 91在线无精精品入口| 欧美色图在线观看| 欧美mv日韩mv国产| 中文字幕国产一区| 婷婷久久综合九色综合伊人色| 日本麻豆一区二区三区视频| 国产在线精品免费av| voyeur盗摄精品| 欧美三级日韩三级| 久久女同性恋中文字幕| 亚洲欧美欧美一区二区三区| 蜜臀av一区二区| 99久久综合狠狠综合久久| 欧美性大战久久| 日本一区二区视频在线| 日韩综合在线视频| 国产99一区视频免费| 欧美理论片在线| 欧美激情中文字幕一区二区| 日本在线不卡视频一二三区| av色综合久久天堂av综合| 欧美卡1卡2卡| 亚洲欧美在线aaa| 久久精品国产成人一区二区三区 | 久久这里只有精品视频网| 国产精品久久久久久一区二区三区| 亚洲国产一二三| 99久久精品国产精品久久| 日韩一区二区免费高清| 中文字幕一区二区三区在线观看| 久久综合综合久久综合| 欧美色图免费看| 中文字幕一区二区三区av| 麻豆久久久久久久| 欧美日韩视频一区二区| 国产精品国产三级国产普通话蜜臀| 激情综合色综合久久| 欧美日韩免费电影| 亚洲综合激情网| 成人免费视频国产在线观看| 精品99一区二区三区| 蜜桃av一区二区| 欧美一卡二卡在线观看| 午夜国产精品一区| 欧美日韩中字一区| 亚洲女与黑人做爰| 色婷婷综合久久久久中文一区二区| 国产精品欧美精品| 国产mv日韩mv欧美| 国产视频亚洲色图| 国产乱子伦一区二区三区国色天香| 日韩亚洲欧美在线观看| 免费成人在线播放| 欧美一区二视频| 蜜桃在线一区二区三区| 精品欧美一区二区在线观看 | 久久久久88色偷偷免费| 久久aⅴ国产欧美74aaa| 精品国产免费一区二区三区香蕉| 青娱乐精品视频| 日韩精品中文字幕在线一区| 激情综合网最新| 国产片一区二区三区| 成人av电影在线播放| 亚洲男帅同性gay1069| 欧美日韩中文另类| 三级亚洲高清视频| 久久综合色婷婷| 国产91精品露脸国语对白| 国产精品久久久久久久久快鸭 | 欧美精品国产精品| 视频一区二区欧美| 久久久久久久久久久电影| 岛国一区二区三区| 一区二区激情视频| 日韩欧美专区在线| 国产suv精品一区二区三区| 一色桃子久久精品亚洲| 欧美色窝79yyyycom| 国产一区二区三区黄视频 | 色综合久久中文字幕| 久久综合99re88久久爱| 亚洲视频图片小说| 天堂蜜桃一区二区三区| 精品精品国产高清一毛片一天堂| 国产伦精品一区二区三区免费迷| 国产精品第五页| 欧美日韩国产中文| 国产精品一区二区三区乱码 | www..com久久爱| 偷拍日韩校园综合在线| 国产精品女同一区二区三区| 欧美日韩一级大片网址| 国产一区二区三区在线观看免费 | 亚洲精品免费播放| 欧美大片国产精品| 一本大道久久精品懂色aⅴ| 久久综合综合久久综合| 欧美精品日韩精品| 天天操天天干天天综合网| 欧美一区二区三区免费在线看| 欧美人动与zoxxxx乱| 国产.欧美.日韩| 97久久精品人人爽人人爽蜜臀| 欧美精品丝袜中出| 久久99精品国产.久久久久| 亚洲欧美精品午睡沙发| 精品国产网站在线观看| 欧美日韩一区中文字幕| 99re这里只有精品6| 狠狠色伊人亚洲综合成人| 亚洲不卡一区二区三区| 亚洲欧美中日韩| 久久你懂得1024| 日韩亚洲欧美一区| 欧美日韩精品免费观看视频| 91在线看国产| 99麻豆久久久国产精品免费优播| 美腿丝袜一区二区三区| 国内国产精品久久| 国产99久久久久| 国内精品嫩模私拍在线| 日本不卡的三区四区五区| 亚洲一区二区三区四区在线观看 | 久久久噜噜噜久久人人看| 777精品伊人久久久久大香线蕉| av电影一区二区| 成人午夜激情在线| 高清不卡在线观看| 粉嫩高潮美女一区二区三区| 国产成人精品免费一区二区| 国产一区二区三区免费在线观看| 久久超碰97中文字幕| 蜜桃av一区二区在线观看| 免费观看91视频大全| 日本女人一区二区三区| 蜜桃一区二区三区在线| 日本va欧美va瓶| 精品一区二区三区久久| 激情丁香综合五月| 精品中文字幕一区二区小辣椒| 久久er精品视频| 高清shemale亚洲人妖| gogo大胆日本视频一区| 91在线云播放| 欧美视频一区二| 日韩免费在线观看| 亚洲精品在线电影| 欧美国产欧美综合| 依依成人综合视频| 午夜视频一区二区三区| 免费成人小视频| 高清国产午夜精品久久久久久| 99久久国产综合精品女不卡| 欧美视频中文一区二区三区在线观看| 91国产精品成人| 日韩免费高清av| 中文字幕色av一区二区三区| 亚洲一二三四区不卡| 久草精品在线观看| 99re这里只有精品视频首页| 宅男在线国产精品| 国产欧美一区二区三区沐欲| 亚洲黄色免费网站| 精品一区中文字幕| 久久精品视频免费| 久久国产精品一区二区| 色播五月激情综合网| 国产日韩欧美精品综合| 国产成人一区在线| 国产欧美久久久精品影院| 成年人网站91| 婷婷夜色潮精品综合在线| 欧美日韩视频在线观看一区二区三区| 一区二区三区国产精品| 欧洲精品视频在线观看| 午夜精品在线看| 欧美精品一区二区三区视频| 久久99精品久久久久久久久久久久| 免费在线观看成人|