⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchservice.java

📁 买书附带的光盘资料Foundations_Of_Ajax中文版教程及源代码。 非常好的学习Ajax的教程
💻 JAVA
字号:
package ajaxdashboard.service;import ajaxdashboard.domain.SearchResult;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.List;import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.Namespace;import org.jdom.input.SAXBuilder;/** * * @author Owner */public class SearchService {    private static final String YAHOO_SEARCH_URL =         "http://api.search.yahoo.com/WebSearchService/V1/webSearch"             + "?appid=thunderboltsoftware"            + "&type=all"            + "&results=10"            + "&query=";    private InputStream getResultsInputStream(String searchTerm) throws Exception {        String url = YAHOO_SEARCH_URL + searchTerm;        System.out.println("url: " + url);        HttpURLConnection con = (HttpURLConnection)new URL(url).openConnection();        con.setDoInput(true);        con.setDoOutput(true);                con.setRequestMethod("GET");                return con.getInputStream();    }        public Collection search(String searchTerm) {        Document resultsXML = getSearchResultsXML(searchTerm);        return parseResults(resultsXML);    }        private Document getSearchResultsXML(String searchTerm) {        SAXBuilder builder = new SAXBuilder();        Document news = null;                try {            InputStream searchResultsInputStream = getResultsInputStream(searchTerm);            news = builder.build(searchResultsInputStream);        }         catch (JDOMException ex) {            System.out.println("Error: " + ex.toString());        }         catch (IOException ex) {            System.out.println("Error: " + ex.toString());        }        catch(Exception ex) {            System.out.println("Exception: " + ex.toString());        }                return news;            }        private Collection parseResults(Document results) {        Collection searchResults = new ArrayList();        Namespace ns = Namespace.getNamespace("urn:yahoo:srch");                Element root = results.getRootElement();                List items = root.getChildren("Result", ns);        System.out.println("res size: " + items.size());        Element item = null;        SearchResult result = null;        for(Iterator it = items.iterator(); it.hasNext();) {            item = (Element)it.next();            result = new SearchResult();            result.setTitle(item.getChildText("Title", ns));            result.setSummary(item.getChildText("Summary", ns));            result.setUrl(item.getChildText("Url", ns));            searchResults.add(result);        }                return searchResults;    }    } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -