亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
精品国产99国产精品| 国产日韩欧美精品综合| 亚洲成av人片在线观看无码| 国产成a人亚洲精品| 久久精品综合网| 极品少妇xxxx精品少妇| 亚洲一二三四在线| 久久久五月婷婷| 粉嫩一区二区三区性色av| 日本一二三四高清不卡| gogo大胆日本视频一区| 亚洲一线二线三线视频| 精品久久久久一区二区国产| eeuss影院一区二区三区 | 高清不卡一区二区| 韩国一区二区三区| 国产最新精品免费| 91同城在线观看| 国产黄色成人av| 99国产精品视频免费观看| 99在线精品视频| 国产福利一区二区三区视频在线| 麻豆成人免费电影| 国产综合色视频| 日韩国产高清在线| 综合久久一区二区三区| 亚洲人成网站精品片在线观看| 一区二区三区在线免费播放| 视频在线观看一区二区三区| 136国产福利精品导航| 亚洲小少妇裸体bbw| 国产成人精品影院| 成人蜜臀av电影| 欧美精品视频www在线观看| 91精品国产综合久久婷婷香蕉| 精品成人一区二区| 亚洲二区在线观看| 91免费版在线看| 欧美v亚洲v综合ⅴ国产v| 亚洲色欲色欲www在线观看| 蜜桃视频一区二区三区在线观看| 成人开心网精品视频| 精品美女被调教视频大全网站| 国产亚洲一区二区三区四区| 亚洲欧洲另类国产综合| 亚洲国产精品一区二区www在线| 午夜伊人狠狠久久| 成熟亚洲日本毛茸茸凸凹| 精品sm捆绑视频| 日韩综合小视频| 五月婷婷激情综合| 精品无码三级在线观看视频| 欧美日韩精品二区第二页| 国产精品婷婷午夜在线观看| 老司机免费视频一区二区三区| 91视频xxxx| 亚洲成人激情自拍| 欧美日韩一区二区在线视频| 懂色av一区二区夜夜嗨| 18涩涩午夜精品.www| 在线一区二区三区四区五区| 亚洲欧美日韩一区二区三区在线观看| 国产精品麻豆久久久| 久久国产剧场电影| 欧美视频一区在线| 日韩高清在线一区| 99久久精品99国产精品| 国产精品成人一区二区三区夜夜夜| 国产一区在线精品| 亚洲日本在线看| 国产91精品欧美| 亚洲成人免费观看| 国产欧美日韩中文久久| 在线看国产日韩| 国产综合色在线视频区| 日韩美女视频在线| 日韩av电影免费观看高清完整版在线观看| 欧美成人福利视频| 一区二区三区中文字幕电影| 91行情网站电视在线观看高清版| 亚洲欧洲日韩在线| 日韩一区二区三区电影| 成人黄色小视频在线观看| 国产亚洲一区二区三区| 成人avav影音| 国产精品99久久久久久久女警| 亚洲免费在线视频| 欧美无乱码久久久免费午夜一区 | 国产亚洲欧美一区在线观看| 在线亚洲一区二区| 成人免费视频视频| 黄一区二区三区| 日韩成人午夜精品| 图片区小说区国产精品视频| 欧美一区二区网站| 精品一区二区三区在线视频| 亚洲成在人线免费| 国产精品国产三级国产专播品爱网| 欧美一区二区在线播放| 欧美一级理论片| 欧美三级电影在线看| av在线不卡免费看| 国产一区二区三区精品欧美日韩一区二区三区 | 久久超碰97中文字幕| 日本亚洲最大的色成网站www| 中文字幕第一页久久| 日韩欧美一区在线| 精品国产百合女同互慰| 国产精品电影一区二区| 亚洲女同ⅹxx女同tv| 亚洲成人先锋电影| 九色综合国产一区二区三区| 久久精品国产在热久久| 日本亚洲一区二区| 久久成人久久爱| 国产成人在线色| 91精品黄色片免费大全| 久久伊人中文字幕| 亚洲一区二区三区在线看| 日本va欧美va精品| 成人午夜在线播放| 色婷婷香蕉在线一区二区| 日韩欧美在线一区二区三区| 国产精品久久久久久久久免费樱桃| 亚洲二区视频在线| 高潮精品一区videoshd| 成人av电影免费在线播放| 欧美嫩在线观看| 亚洲天堂中文字幕| 国产成人自拍高清视频在线免费播放| 欧美色电影在线| 欧美国产国产综合| 亚洲综合在线五月| 精品在线你懂的| 在线一区二区三区四区五区| 国产婷婷色一区二区三区在线| 精品一区二区免费在线观看| 色综合欧美在线视频区| 中文字幕av不卡| 韩国毛片一区二区三区| 欧美日韩精品专区| 国产精品国产馆在线真实露脸 | 97久久久精品综合88久久| 欧美精品在线观看播放| 一区二区不卡在线播放| 91亚洲精品久久久蜜桃| 一区二区三区av电影| av在线不卡网| 亚洲国产精品一区二区www在线| 91一区一区三区| 亚洲一区二区在线播放相泽| 91精品福利视频| 亚洲国产精品久久久久秋霞影院| 成人av午夜电影| 亚洲图片欧美一区| 日韩欧美你懂的| 国产一区二区网址| 中文字幕人成不卡一区| 欧美午夜精品久久久久久孕妇| 五月天视频一区| 国产精品国产三级国产有无不卡| 成人黄色电影在线 | 91热门视频在线观看| 香蕉乱码成人久久天堂爱免费| 欧美在线免费播放| 亚洲一区二区在线播放相泽| 欧美精品久久一区二区三区| 国产传媒欧美日韩成人| 五月天精品一区二区三区| 久久久久久久久久久99999| 欧美性三三影院| av亚洲精华国产精华精华| 日本亚洲视频在线| 亚洲综合视频在线| 欧美在线啊v一区| 亚洲午夜久久久久中文字幕久| 国产欧美日韩在线| 精品对白一区国产伦| 欧美综合亚洲图片综合区| 成人免费视频一区二区| 国产精品自在在线| 在线观看国产一区二区| av在线这里只有精品| 99久久精品情趣| 色综合久久中文字幕| 欧美日韩三级在线| 91精品麻豆日日躁夜夜躁| 日韩欧美视频一区| 国产精品私房写真福利视频| 亚洲丝袜另类动漫二区| 中文字幕综合网| 天天综合色天天综合色h| 久久99热这里只有精品| jlzzjlzz欧美大全| 884aa四虎影成人精品一区| 欧美激情自拍偷拍| 亚洲影院免费观看| 粉嫩蜜臀av国产精品网站| 色呦呦日韩精品| 久久精品网站免费观看|