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

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

?? blogservice.java

?? ajax開發精要——概念、案例與框架(電子個工業出版社)本書詳細介紹AJAX的各項組成技術、封裝、開源和商業框架等各種相關技術
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package com.ajaxlab.ajax;

import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.*;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class BlogService {
	private Document blogdom;
	private Document listdom;
	/**
	 * 構造函數,初始化DOM連接
	 *
	 */
	public BlogService() {
		try {
			SAXBuilder builder = new SAXBuilder();
			this.blogdom = builder.build(ClassService.class.getResource("blog.xml"));
			this.listdom = builder.build(ClassService.class.getResource("list.xml"));
		}catch(Exception ex) {
			this.handleError(ex);
		}
	}
	/**
	 * 獲取日志列表,以對象數組的形式返回,用于顯示,不包含評論和引用
	 * @return
	 */
	public Blog[] getAllBlog() {
		Collection bloges = new ArrayList();
		if(this.blogdom.getRootElement().getChildren().size()!=0) {
			Iterator iterator = this.blogdom.getRootElement().getChildren().iterator();
			do {
				Element element = (Element)iterator.next();
				Blog blog = new Blog(element);
				bloges.add(blog);
			}while(iterator.hasNext());
			return (Blog[])bloges.toArray(new Blog[0]);
		}
		else 
			return new Blog[0];
	}
	/**
	 * 獲取日志列表,以Map的形式返回,用戶持久化,包含評論和引用
	 * @return
	 */
	public Map getAllBlogMap() {
		Map bloges = new HashMap();
		if(this.blogdom.getRootElement().getChildren().size()!=0) {
			Iterator iterator = this.blogdom.getRootElement().getChildren().iterator();
			do {
				Element element = (Element)iterator.next();
				Blog blog = new Blog();
				blog.initialBlog(element);
				bloges.put(blog.getId(),blog);
			}while(iterator.hasNext());
		}
		return bloges;
	}
	/**
	 * 獲取指定的日志,包含其評論和引用
	 * @param id
	 * @return
	 */
	public Blog getBlog(String id) {
		Blog blog = null;
		if(this.blogdom.getRootElement().getChildren().size()!=0) {
			Iterator iterator = this.blogdom.getRootElement().getChildren().iterator();
			do {
				Element element = (Element)iterator.next();
				if(element.getAttributeValue("id").equalsIgnoreCase(id)){
					blog = new Blog();
					blog.initialBlog(element);
				}
			}while(iterator.hasNext());
		}
		return blog;
	}
	/**
	 * 增加日志
	 * @param blog
	 * @throws Exception
	 */
	public void addBlog(Blog blog) throws Exception {
		Map bloges = this.getAllBlogMap();
		blog.setId(String.valueOf(bloges.size()));
		bloges.put(blog.getId(),blog);
		this.outputXMLDocument((Blog[])bloges.values().toArray(new Blog[0]));
	}
	/**
	 * 獲取指定日志的評論列表,以對象數組的形式返回
	 * @param blogid
	 * @return
	 */
	public BlogComment[] getComment(String blogid) {
		Collection commentes = new ArrayList();
		if(this.blogdom.getRootElement().getChildren().size()!=0) {
			Iterator iterator = this.blogdom.getRootElement().getChildren().iterator();
			do {
				Element element = (Element)iterator.next();
				if(element.getAttributeValue("id").equalsIgnoreCase(blogid)) {
					if(element.getChild("comments").getChildren().size()!=0) {
						Iterator cIterator = element.getChild("comments").getChildren().iterator();
						do {
							Element cElement = (Element)cIterator.next();
							BlogComment comment = new BlogComment(cElement);
							commentes.add(comment);
						}while(cIterator.hasNext());
					}
				}
			}while(iterator.hasNext());
		}
		return (BlogComment[])commentes.toArray(new BlogComment[0]);
	}
	/**
	 * 獲取指定日志的評論列表,以Map對象的形式返回
	 * @param blogid
	 * @return
	 * @throws Exception
	 */
	public Map getCommentMap(String blogid) throws Exception {
		Map comments = new HashMap();
		if(this.blogdom.getRootElement().getChildren().size()!=0) {
			Iterator iterator = this.blogdom.getRootElement().getChildren().iterator();
			do {
				Element element = (Element)iterator.next();
				if(element.getAttributeValue("id").equalsIgnoreCase(blogid)) {
					if(element.getChild("comments").getChildren().size()!=0) {
						Iterator cIterator = element.getChild("comments").getChildren().iterator();
						do {
							Element cElement = (Element)cIterator.next();
							BlogComment comment = new BlogComment(cElement);
							comments.put(comment.getCommentdate(),comment);
						}while(cIterator.hasNext());
					}
				}
			}while(iterator.hasNext());
		}
		return comments;
	}
	/**
	 * 添加指定日志的評論
	 * @param comment
	 * @param blogid
	 * @throws Exception
	 */
	public void addComment(BlogComment comment, String blogid) throws Exception {
		Map bloges= this.getAllBlogMap();
		if((bloges!=null)&&(bloges.size()!=0)) {
			Blog[] bArray = (Blog[])bloges.values().toArray(new Blog[0]);
			for(int i=0;i<bArray.length;i++) {
				if(blogid.equalsIgnoreCase(bArray[i].getId())) {
					bArray[i].addComment(comment);
					break;
				}
			}
			this.outputXMLDocument(bArray);
		}
		else throw new Exception("未找到指定日志。");
	}
	/**
	 * 獲取指定日志的引用列表,以對象數組的形式返回
	 * @param blogid
	 * @return
	 */
	public BlogReference[] getReference(String blogid) {
		Collection references = new ArrayList();
		if(this.blogdom.getRootElement().getChildren().size()!=0) {
			Iterator iterator = this.blogdom.getRootElement().getChildren().iterator();
			do {
				Element element = (Element)iterator.next();
				if(element.getAttributeValue("id").equalsIgnoreCase(blogid)) {
					if(element.getChild("references").getChildren().size()!=0) {
						Iterator cIterator = element.getChild("references").getChildren().iterator();
						do {
							Element cElement = (Element)cIterator.next();
							BlogReference reference = new BlogReference(cElement);
							references.add(reference);
						}while(cIterator.hasNext());
					}
				}
			}while(iterator.hasNext());
		}
		return (BlogReference[])references.toArray(new BlogReference[0]);
	}
	/**
	 * 將日志輸出為持久化的XML文檔
	 * @param bloges
	 * @throws Exception
	 */
	public void outputXMLDocument(Blog[] bloges) throws Exception {
		File file = new File(ClassService.class.getResource("blog.xml").getPath());
		if(file.exists()) file.delete();
		if(!file.exists()) file.createNewFile();
		FileOutputStream stream = new FileOutputStream(file);
		Document doc = new Document();
		Element root = new Element("bloges");
		if((bloges!=null)&&(bloges.length!=0)) {
			for(int i=0;i<bloges.length;i++) {
				Element element = new Element("blog");
				element.setAttribute("id",bloges[i].getId());
				Element title = new Element("title").addContent(bloges[i].getTitle());
				Element catalogue = new Element("catalogue").addContent(bloges[i].getCatalogue());
				Element publishdate = new Element("publishdate").addContent(bloges[i].getPublishdate());
				CDATA conCDATA = new CDATA(bloges[i].getContent());
				Element content = new Element("content").addContent(conCDATA);
				Element entry = new Element("entry").addContent(bloges[i].getEntry());
				Element track = new Element("track").addContent(bloges[i].getTrack());
				Element images = new Element("images");
				if((bloges[i].getImages()!=null)&&(bloges[i].getImages().size()!=0)) {
					BlogImage[] iArray = (BlogImage[])bloges[i].getImages().toArray(new BlogImage[0]);
					for(int j=0;j<iArray.length;j++) {
						Element image = new Element("image");
						image.addContent(new Element("imageName").addContent(iArray[j].getImageName()));
						image.addContent(new Element("url").addContent(iArray[j].getUrl()));
						images.addContent(image);
					}
				}
				Element comments = new Element("comments");
				BlogComment[] cArray = (BlogComment[])bloges[i].getComments().toArray(new BlogComment[0]);
				if((cArray!=null)&&(cArray.length!=0)) {
					for(int j=0;j<cArray.length;j++) {
						Element comment = new Element("comment");
						comment.addContent(new Element("author").addContent(cArray[j].getAuthor()));
						comment.addContent(new Element("blogimage").addContent(cArray[j].getBlogimage()));
						comment.addContent(new Element("commentdate").addContent(cArray[j].getCommentdate()));
						comment.addContent(new Element("blogurl").addContent(cArray[j].getBlogurl()));
						comment.addContent(new Element("email").addContent(cArray[j].getEmail()));
						CDATA cdata = new CDATA(cArray[j].getCommentcontent());
						comment.addContent(new Element("commentcontent").addContent(cdata));
						comments.addContent(comment);
					}
				}
				Element commenttotal = new Element("commenttotal").addContent(String.valueOf(cArray.length));
				Element references = new Element("references");
				BlogReference[] rArray = 
					(BlogReference[])bloges[i].getReferences().toArray(new BlogReference[0]);
				if((rArray!=null)&&(rArray.length!=0)) {
					for(int j=0;j<rArray.length;j++) {
						Element reference = new Element("reference");
						reference.addContent(new Element("refername").addContent(rArray[i].getRefername()));
						reference.addContent(new Element("referurl").addContent(rArray[i].getReferurl()));
						references.addContent(reference);
					}
				}
				Element referencetotal = 
					new Element("referencetotal").addContent(String.valueOf(rArray.length));
				element.addContent(title);
				element.addContent(catalogue);
				element.addContent(publishdate);
				element.addContent(content);
				element.addContent(entry);
				element.addContent(track);
				element.addContent(images);
				element.addContent(comments);
				element.addContent(commenttotal);
				element.addContent(references);
				element.addContent(referencetotal);
				root.addContent(element);
			}
		}
		doc.addContent(root);
		XMLOutputter outputter = 
			new XMLOutputter(Format.getPrettyFormat().setEncoding("gb2312"));
		outputter.output(doc,stream);
	}
	/**
	 * 輸出指定日志的全部評論為XML文檔
	 * @param out
	 * @param blogid
	 * @throws Exception
	 */
	public void outputComment(PrintWriter out, String blogid) throws Exception {
		BlogComment[] commentes = this.getComment(blogid);
		Document doc = new Document();
		Element root = new Element("commentes");
		if((commentes!=null)&&(commentes.length!=0)) {
			for(int i=0;i<commentes.length;i++) {
				Element element = new Element("comment");
				Element author = new Element("author").addContent(commentes[i].getAuthor());
				Element blogimage = new Element("blogimage").addContent(commentes[i].getBlogimage());
				Element commentdate = new Element("commentdate").addContent(commentes[i].getCommentdate());
				Element blogurl = new Element("blogurl").addContent(commentes[i].getBlogurl());
				Element email = new Element("email").addContent(commentes[i].getEmail());
				Element commentcontent = new Element("commentcontent").addContent(commentes[i].getCommentcontent());
				element.addContent(author);
				element.addContent(blogimage);
				element.addContent(commentdate);
				element.addContent(blogurl);
				element.addContent(email);
				element.addContent(commentcontent);
				root.addContent(element);
			}
		}
		doc.addContent(root);
		XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("ISO8859-1"));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本视频免费一区| 欧美xxxxx牲另类人与| 国产一区二区伦理片| 视频一区视频二区中文| 日韩经典一区二区| 午夜精品免费在线观看| 一区二区三区中文字幕| 日韩一区欧美一区| 亚洲乱码国产乱码精品精小说 | 成人永久aaa| 久草中文综合在线| 国产黄色91视频| 高清不卡一区二区在线| 91日韩在线专区| 欧美在线看片a免费观看| 欧美三级中文字幕| 欧美成人激情免费网| 国产日韩欧美一区二区三区综合| 国产精品视频一区二区三区不卡| 18成人在线视频| 一区二区激情小说| 免费高清成人在线| 成人av在线电影| 欧美三级视频在线| 久久综合九色综合久久久精品综合 | 久久精品亚洲麻豆av一区二区| 欧美国产乱子伦| 亚洲国产精品久久人人爱| 日本不卡高清视频| 99国产精品久| 日韩欧美在线观看一区二区三区| 国产日产精品1区| 亚洲最色的网站| 国精品**一区二区三区在线蜜桃 | 亚洲免费观看在线观看| 日韩影院在线观看| 日本精品一区二区三区高清| 欧美日本韩国一区二区三区视频 | 91久久香蕉国产日韩欧美9色| 欧美精品久久天天躁| 国产精品嫩草影院av蜜臀| 亚洲第一av色| 成人黄页在线观看| 日韩免费看的电影| 一区二区激情小说| 成人激情小说网站| 久久综合给合久久狠狠狠97色69| 亚洲另类在线视频| 国产成人一区二区精品非洲| 欧美老年两性高潮| 一区二区三区蜜桃网| 成人视屏免费看| 精品国产网站在线观看| 婷婷中文字幕综合| 欧美日韩一卡二卡| 亚洲欧美偷拍卡通变态| 成人福利视频在线看| 久久久一区二区三区| 午夜av一区二区三区| 色噜噜久久综合| 国产精品青草久久| 国产制服丝袜一区| 亚洲欧美福利一区二区| 国产一区二区三区高清播放| 91麻豆精品国产无毒不卡在线观看| 亚洲视频精选在线| 97精品视频在线观看自产线路二| 久久新电视剧免费观看| 国内精品伊人久久久久av一坑| 9191精品国产综合久久久久久| 一区二区三区欧美日韩| 一本大道久久a久久综合婷婷| 国产精品无人区| 97se亚洲国产综合自在线不卡 | 日日夜夜免费精品| 欧美日免费三级在线| 亚洲黄色免费网站| 欧美三区在线观看| 天天综合日日夜夜精品| 欧美精品xxxxbbbb| 日本不卡的三区四区五区| 日韩美女一区二区三区四区| 毛片av中文字幕一区二区| 日韩一区二区在线看片| 精品一区二区三区视频在线观看| 久久亚洲综合色| 成人av在线播放网站| 亚洲靠逼com| 91麻豆精品国产无毒不卡在线观看 | 日韩精品一区二区三区在线| 九一久久久久久| 国产欧美精品日韩区二区麻豆天美| 国产精品1区2区3区在线观看| 亚洲国产精品黑人久久久| 99在线精品视频| 日韩国产欧美视频| 久久久亚洲高清| 色中色一区二区| 美女视频免费一区| |精品福利一区二区三区| 欧美性生活大片视频| 精品亚洲porn| 亚洲情趣在线观看| 日韩视频一区二区三区在线播放 | 麻豆视频一区二区| 中文字幕一区二区三区不卡| 欧美日韩国产另类不卡| 久久99在线观看| 亚洲精品视频在线观看免费| 91精品免费观看| 91视频精品在这里| 久久se精品一区二区| 一二三区精品视频| 久久老女人爱爱| 欧美精品自拍偷拍动漫精品| 国产成人精品免费看| 国产精品一区二区久久精品爱涩| 亚洲狠狠丁香婷婷综合久久久| 欧美成人女星排名| 在线观看av一区二区| 国产精品一二三区在线| 亚洲va韩国va欧美va精品 | 亚洲成av人片在www色猫咪| 精品日产卡一卡二卡麻豆| 色综合色狠狠天天综合色| 国产一区美女在线| 三级不卡在线观看| 夜夜操天天操亚洲| 亚洲日穴在线视频| 欧美激情综合网| 精品成人私密视频| 91精品国产品国语在线不卡| 日本道免费精品一区二区三区| 国产激情视频一区二区三区欧美 | 国产精品三级久久久久三级| 欧美一个色资源| 欧美视频一区二区| 色香蕉久久蜜桃| 一本大道久久a久久综合| 99精品欧美一区二区三区综合在线| 国内不卡的二区三区中文字幕| 奇米精品一区二区三区四区| 亚洲国产成人porn| 一个色综合av| 午夜久久久影院| 亚洲成人免费观看| 亚洲狠狠爱一区二区三区| 亚洲资源在线观看| 一区二区三区四区高清精品免费观看| 国产精品乱码妇女bbbb| 国产精品色呦呦| 亚洲欧洲国产日韩| 国产精品国产三级国产专播品爱网| 欧美激情在线看| 国产精品麻豆视频| 亚洲免费在线视频一区 二区| 自拍偷拍国产亚洲| 一区二区三区日韩精品| 亚洲国产欧美在线人成| 亚洲成a人片在线观看中文| 亚洲超丰满肉感bbw| 丝袜诱惑亚洲看片| 九九视频精品免费| gogo大胆日本视频一区| 在线国产电影不卡| 正在播放亚洲一区| 日韩精品一区在线| 国产精品色婷婷久久58| 亚洲精品综合在线| 婷婷久久综合九色国产成人| 精品在线亚洲视频| 成人小视频在线| 91福利在线导航| 91麻豆精品国产91久久久久久久久 | 亚洲色图欧美在线| 午夜成人免费电影| 久久99蜜桃精品| 99久久久久久| 91精品婷婷国产综合久久| 日本一区二区三区视频视频| 亚洲愉拍自拍另类高清精品| 日本欧美在线观看| 成人性生交大片免费看视频在线 | 美女一区二区三区在线观看| 丰满少妇久久久久久久| 欧美综合亚洲图片综合区| 日韩欧美三级在线| 亚洲另类在线视频| 国产美女主播视频一区| 日本精品一区二区三区高清| 精品99一区二区| 亚洲成人自拍偷拍| 成人免费毛片a| 日韩视频123| 亚洲福利国产精品| 成人在线综合网站| 精品国产三级a在线观看| 亚洲精品免费一二三区| 激情综合网天天干| 欧美精品v日韩精品v韩国精品v|