亚洲一区二区三区无码国产,久久九九亚洲精品,亚洲色大网站WWW永久网站http://www.tkk7.com/lovefeel2004/<a href="http://www.tkk7.com/lovefeel2004"> <h2> 好好學(xué)習(xí),努力工作,做個快樂的豬!!! </h2> </a>zh-cnSat, 10 May 2025 10:56:43 GMTSat, 10 May 2025 10:56:43 GMT60Linux命令學(xué)習(xí)筆記(一)http://www.tkk7.com/lovefeel2004/archive/2009/08/28/292929.html幽夢新影幽夢新影Fri, 28 Aug 2009 01:51:00 GMThttp://www.tkk7.com/lovefeel2004/archive/2009/08/28/292929.htmlhttp://www.tkk7.com/lovefeel2004/comments/292929.htmlhttp://www.tkk7.com/lovefeel2004/archive/2009/08/28/292929.html#Feedback0http://www.tkk7.com/lovefeel2004/comments/commentRss/292929.htmlhttp://www.tkk7.com/lovefeel2004/services/trackbacks/292929.html fileName 到另一個檔案) 參數(shù): -n 或 --number 由 1 開始對所有輸出的行數(shù)編號 -b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號 -s 或 --squeeze-blank 當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行 -v 或 --show-nonprinting 范例: cat -n textfile1 > textfile2 把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里 cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3 里。 cat /dev/null > /etc/test.txt 此為清空/etc/test.txt檔案內(nèi)容 cat 也可以用來制作 image file。例如要制作軟碟的 image file,將軟碟放好后打 cat /dev/fd0 > OUTFILE 相反的,如果想把 image file 寫到軟碟,請打 cat IMG_FILE > /dev/fd0 注: 1. OUTFILE 指輸出的 image 檔名。 2. IMG_FILE 指 image file。 3. 若從 image file 寫回 device 時,device 容量需與相當(dāng)。 4. 通常用在制作開機磁片。cat主要有三大功能: 1.一次顯示整個文件。$ cat filename 2.從鍵盤創(chuàng)建一個文件。$ cat > filename 只能創(chuàng)建新文件,不能編輯已有文件 3.將幾個文件合并為一個文件。 $cat file1 file2 > file

幽夢新影 2009-08-28 09:51 發(fā)表評論
]]>
Hibernate API(轉(zhuǎn)載)http://www.tkk7.com/lovefeel2004/archive/2009/01/08/250466.html幽夢新影幽夢新影Thu, 08 Jan 2009 04:04:00 GMThttp://www.tkk7.com/lovefeel2004/archive/2009/01/08/250466.htmlhttp://www.tkk7.com/lovefeel2004/comments/250466.htmlhttp://www.tkk7.com/lovefeel2004/archive/2009/01/08/250466.html#Feedback0http://www.tkk7.com/lovefeel2004/comments/commentRss/250466.htmlhttp://www.tkk7.com/lovefeel2004/services/trackbacks/250466.html提供訪問數(shù)據(jù)庫操作的接口:Session接口,Transation接口,Query接口

用于配置Hibernate的接口:Configuration接口

Hibernate核心接口

Configuration接口:配置Hibernate,Hibernate應(yīng)用通過Configuration實例來指定對象-關(guān)系映射文件的位置或動態(tài)配置Hibernate的屬性,然后創(chuàng)建SessionFactory對象實例。

SessionFactory接口:初始化Hibernate,充當(dāng)數(shù)據(jù)存儲源的代理、創(chuàng)建Session對象。

一個SessionFactory實例對應(yīng)一個數(shù)據(jù)存儲源,Hibernate應(yīng)用從SessionFactory中獲得Session對象實例。

特定:它是線程安全的,意味著同一個實例可以被應(yīng)用的多個線程共享,它是重量級的,意味著不能隨意創(chuàng)建或銷毀實例,一個數(shù)據(jù)庫訪問只需創(chuàng)建一個實例。

Session接口:負(fù)責(zé)保存、更新、刪除、加載、查詢對象

Session接口被稱做持久化管理器,每個Session實例都有自已的緩存,用來存放被當(dāng)前工作單元加載的對象且只能被當(dāng)前工作單元訪問。

特性,它不是線程安全的,應(yīng)該避免多個線程共享同一個Session實例,它是輕量級的,意味著創(chuàng)建或銷毀實例不需要消耗太多的資源,可以為每個請求分配單獨的Session實例,或者為每個工作單元分配單獨的Session實例。

Transation接口:Hibernate的數(shù)據(jù)庫事務(wù)接口,對底層的事務(wù)接口做了封裝。

封裝的底層事務(wù)接口:

JDBC API、JTA(Java Transation)API、CORBA(Common Object Request Broker Architecture)API

通過一致的Transation接口來聲明事務(wù)邊界,有利于應(yīng)用在不同環(huán)境或容器中移植。

Query接口和Criteria接口:執(zhí)行數(shù)據(jù)庫查詢,控制執(zhí)行查詢的過程。

Query接口封裝了一個面向?qū)ο蟮牟樵冋Z句(Hibernate Query Language, HQL)

Criteria接口封裝了基于字符串形式的查詢語句,擅長于執(zhí)行動態(tài)查詢。

回調(diào)接口:Interceptor接口、Lifecycle接口、Validatable接口

當(dāng)一個對象發(fā)生了特定的事件(如加載、保存、更新、刪除),Hibernate應(yīng)用可以通過回調(diào)來響應(yīng)事件。

回調(diào)接口按實現(xiàn)方式可分為:

Lifecycle接口和Validatable接口:由持久化類來實現(xiàn)接口。

Lifecycle接口,使持久化類的實例能響應(yīng)被加載、保存、刪除的事件。

Validatable接口,使持久化類的實例在被保存前進(jìn)行數(shù)據(jù)驗證。

Interceptor接口:不必由持久化類來實現(xiàn)接口。Interceptor實現(xiàn)類負(fù)責(zé)響應(yīng)持久化類的實例被加載、保存、更新、刪除的事件。

映射類型接口:Type接口、UserType接口、CompositeUserType接口

Type接口,表示Hibernate映射類型,用于把域?qū)ο笥成錇閿?shù)據(jù)庫的關(guān)系數(shù)據(jù)。

Type接口的實現(xiàn)類:PrimitiveType類,映射Java基本類型。DateType類,映射Java日期類型。

擴展接口:

定制主鍵的生成策略:IndentifierGenerator接口

定制本地SQL方言:Dialect抽象類

定制緩存機制:Cache接口、CacheProvider接口

定制JDBC連接管理:ConnectionProvider接口

定制事務(wù)管理:TransationFactory接口、Transation接口、TransationManagerLookup接口

定制ORM策略:ClassPersister接口及其子接口

定制屬性訪問策略:PropertyAccesser接口

創(chuàng)建代理:ProxyFactory接口

定制客戶化映射類型:UserType接口、CompositeUserType接口。

在Hibernate中處理批量更新和批量刪除

批量更新是指在一個事務(wù)中更新大批量數(shù)據(jù),批量刪除是指在一個事務(wù)中刪除大批量數(shù)據(jù),以下程序直接通過Hibernate API批量更新

tx = session.beginTransaction();
Iterator customers=session.find("from Customer c where c.age>0").iterator();
while(customers.hasNext()){
Customer customer=(Customer)customers.next();
customer.setAge(customer.getAge()+1);
}
tx.commit();
session.close();
如果CUSTOMERS表中有1萬條年齡大于零的記錄,那么Session的find()方法會一下子加載1萬個Customer對象到內(nèi)存。當(dāng)執(zhí)行tx.commit()方法時,會清理緩存,Hibernate執(zhí)行1萬條更新CUSTOMERS表的update語句:

update CUSTOMERS set AGE=? …. where ID=i;
update CUSTOMERS set AGE=? …. where ID=j;
……
update CUSTOMERS set AGE=? …. where ID=k;
以上批量更新方式有兩個缺點:

(1) 占用大量內(nèi)存,必須把1萬個Customer對象先加載到內(nèi)存,然后一一更新它們。

(2) 執(zhí)行的update語句的數(shù)目太多,每個update語句只能更新一個Customer對象,必須通過1萬條update語句才能更新一萬個Customer對象,頻繁的訪問數(shù)據(jù)庫,會大大降低應(yīng)用的性能。

為了迅速釋放1萬個Customer對象占用的內(nèi)存,可以在更新每個Customer對象后,就調(diào)用Session的evict()方法立即釋放它的內(nèi)存:

tx = session.beginTransaction();
Iterator customers=session.find("from Customer c where c.age>0").iterator();
while(customers.hasNext()){
Customer customer=(Customer)customers.next();
customer.setAge(customer.getAge()+1);
session.flush();
session.evict(customer);
}
tx.commit();
session.close();

在以上程序中,修改了一個Customer對象的age屬性后,就立即調(diào)用Session的flush()方法和evict()方法,flush()方法使Hibernate立刻根據(jù)這個Customer對象的狀態(tài)變化同步更新數(shù)據(jù)庫,從而立即執(zhí)行相關(guān)的update語句;evict()方法用于把這個Customer對象從緩存中清除出去,從而及時釋放它占用的內(nèi)存。

但evict()方法只能稍微提高批量操作的性能,因為不管有沒有使用evict()方法,Hibernate都必須執(zhí)行1萬條update語句,才能更新1萬個Customer對象,這是影響批量操作性能的重要因素。假如Hibernate能直接執(zhí)行如下SQL語句:

update CUSTOMERS set AGE=AGE+1 where AGE>0;

那么以上一條update語句就能更新CUSTOMERS表中的1萬條記錄。但是Hibernate并沒有直接提供執(zhí)行這種update語句的接口。應(yīng)用程序必須繞過Hibernate API,直接通過JDBC API來執(zhí)行該SQL語句:

tx = session.beginTransaction();
Connection con=session.connection();
PreparedStatement stmt=con.prepareStatement("update CUSTOMERS set AGE=AGE+1 "
+"where AGE>0 ");
stmt.executeUpdate();
tx.commit();
以上程序演示了繞過Hibernate API,直接通過JDBC API訪問數(shù)據(jù)庫的過程。應(yīng)用程序通過Session的connection()方法獲得該Session使用的數(shù)據(jù)庫連接,然后通過它創(chuàng)建PreparedStatement對象并執(zhí)行SQL語句。值得注意的是,應(yīng)用程序仍然通過Hibernate的Transaction接口來聲明事務(wù)邊界。

如果底層數(shù)據(jù)庫(如Oracle)支持存儲過程,也可以通過存儲過程來執(zhí)行批量更新。存儲過程直接在數(shù)據(jù)庫中運行,速度更加快。在Oracle數(shù)據(jù)庫中可以定義一個名為batchUpdateCustomer()的存儲過程,代碼如下:

create or replace procedure batchUpdateCustomer(p_age in number) as
begin
update CUSTOMERS set AGE=AGE+1 where AGE>p_age;
end;
以上存儲過程有一個參數(shù)p_age,代表客戶的年齡,應(yīng)用程序可按照以下方式調(diào)用存儲過程:

tx = session.beginTransaction();
Connection con=session.connection();
String procedure = "{call batchUpdateCustomer(?) }";
CallableStatement cstmt = con.prepareCall(procedure);
cstmt.setInt(1,0); //把年齡參數(shù)設(shè)為0
cstmt.executeUpdate();
tx.commit();
從上面程序看出,應(yīng)用程序也必須繞過Hibernate API,直接通過JDBC API來調(diào)用存儲過程。

Session的各種重載形式的update()方法都一次只能更新一個對象,而delete()方法的有些重載形式允許以HQL語句作為參數(shù),例如:

session.delete("from Customer c where c.age>0");
如果CUSTOMERS表中有1萬條年齡大于零的記錄,那么以上代碼能刪除一萬條記錄。但是Session的delete()方法并沒有執(zhí)行以下delete語句:

delete from CUSTOMERS where AGE>0;

Session的delete()方法先通過以下select語句把1萬個Customer對象加載到內(nèi)存中:

select * from CUSTOMERS where AGE>0;
接下來執(zhí)行一萬條delete語句,逐個刪除Customer對象:

delete from CUSTOMERS where ID=i;
delete from CUSTOMERS where ID=j;
……
delete from CUSTOMERS where ID=k;
由此可見,直接通過Hibernate API進(jìn)行批量更新和批量刪除都不值得推薦。而直接通過JDBC API執(zhí)行相關(guān)的SQL語句或調(diào)用相關(guān)的存儲過程,是批量更新和批量刪除的最佳方式,這兩種方式都有以下優(yōu)點:

(1) 無需把數(shù)據(jù)庫中的大批量數(shù)據(jù)先加載到內(nèi)存中,然后逐個更新或修改它們,因此不會消耗大量內(nèi)存。

(2) 能在一條SQL語句中更新或刪除大批量的數(shù)據(jù)。

在hibernate中,最核心的概念就是對PO的狀態(tài)管理,一個PO有三種狀態(tài):

未被持久化的VO

此時就是一個內(nèi)存對象VO,由JVM管理生命周期

已被持久化的PO,并且在Session使命周期內(nèi)

此時映射數(shù)據(jù)庫數(shù)據(jù),由數(shù)據(jù)庫管理生命周期

曾被持久化過,但現(xiàn)在和Session已經(jīng)detached了,以VO的身份在運行。

這種和Session已經(jīng)detached的PO還能夠進(jìn)入別一個Session,繼續(xù)進(jìn)行PO狀態(tài)狀管,此時它就成為PO的第二種狀態(tài)了。

這種PO實際上是跨了Session進(jìn)行了狀態(tài)維護的。

在傳統(tǒng)的JDO1.x中,PO只有前面兩種狀態(tài),一個PO一旦脫離PM,就喪失了狀態(tài)了,不再和數(shù)據(jù)庫數(shù)據(jù)關(guān)聯(lián),成為一個純粹的內(nèi)存VO,它即使進(jìn)入一個新的PM,也不能恢復(fù)它的狀態(tài)了。

Hibernate強的地方就在于,一個PO脫離Session之后,還能保持狀態(tài),再進(jìn)入一個新的Session之后,就恢復(fù)狀態(tài)管理的能力,但此時狀態(tài)管理需要使用session.update或者session.saveOrUpdate,這就是Hibernate Reference中提到的“requires a slightly different programming model ”



幽夢新影 2009-01-08 12:04 發(fā)表評論
]]>
我的第一個Struts2.0程序http://www.tkk7.com/lovefeel2004/archive/2008/12/30/249191.html幽夢新影幽夢新影Tue, 30 Dec 2008 08:13:00 GMThttp://www.tkk7.com/lovefeel2004/archive/2008/12/30/249191.htmlhttp://www.tkk7.com/lovefeel2004/comments/249191.htmlhttp://www.tkk7.com/lovefeel2004/archive/2008/12/30/249191.html#Feedback5http://www.tkk7.com/lovefeel2004/comments/commentRss/249191.htmlhttp://www.tkk7.com/lovefeel2004/services/trackbacks/249191.html 項目已經(jīng)基本上完成了 , 有剛好有時間 , 就來看下 Struts2.0, 這東西聽說比 Struts1.X 要好用很多了 , 也不知道 , Struts2 出來也有好兩年了 , 應(yīng)該大家都比較熟悉了 , 而我是第一次接觸 , 先寫一個 HelloWorld 來玩一下先 .

一準(zhǔn)備工作 :

(1) 開發(fā)環(huán)境 :Tomcat6.0+JDK1.6.03+EditPlus3.0+Struts2.03

(2) 準(zhǔn)備 Struts2 的核心包 :



二配置文件

(1) 先在 web.xml < web-app> < /web-app> 中添加 Struts2 Filter 如下 :

?1?<filter>
?2
?3??????????<filter-name>struts2</filter-name>
?4?
?5??????????<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
?6?
?7???</filter>
?8?
?9??
10?
11???<filter-mapping>
12?
13??????????<filter-name>struts2</filter-name>
14?
15??????????<url-pattern>/*</url-pattern>
16?
17???</filter-mapping>
18?


(2)

classes 文件夾中建一個 xml 文件 , 命名為 struts.xml, 內(nèi)容為 :

?1?<?xml?version="1.0"?encoding="UTF-8"??>
?2?<!DOCTYPE?struts?PUBLIC
?3?????????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"
?4?????????"http://struts.apache.org/dtds/struts-2.0.dtd">
?5?<struts>
?6?????<package?name="cn.struts2"?extends="struts-default">
?7?????????<action?name="HelloWorld"?class="?cn.struts2.HelloWorld">
?8?????????????<result>HelloWorld.jsp</result>
?9?????????</action>
10?????</package>
11?</struts>
12?
13?


三編寫程序

一共三個文件 :HelloWorld.java;HelloWorld.jsp;SayHello.jsp

其內(nèi)容如下 :

HelloWorld.java
?1package?cn.struts2;
?2
?3import?com.opensymphony.xwork2.ActionSupport;
?4
?5public?class?HelloWorld?extends?ActionSupport?{
?6????private?String?name;
?7????
?8????public?String?getName()?{
?9????????return?name;
10????}

11
12????public?void?setName(String?name)?{
13????????this.name?=?name;
14????}

15
16?????public?String?execute()?{
17????????name?=?name?+”,Hello?World!!
18????????return?SUCCESS;
19????}

20}

?

HelloWorld.jsp

?1?<%@?page?contentType="text/html;?charset=UTF-8"?%>
?2?
?3?<%@?taglib?prefix="s"?uri="/struts-tags"?%>
?4?
?5?<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
?6?
?7?<html>
?8?
?9?????<head>
10?
11?????????<title>Hello</title>
12?
13?????</head>
14?
15?????<body>
16?
17?????????<h3><s:property?value="name"?/></h3>
18?
19?????</body>
20?
21?</html>
22?

?

SayHello.jsp

?1?<%@?page?contentType="text/html;?charset=UTF-8"?%>
?2?
?3?<%@?taglib?prefix="s"?uri="/struts-tags"?%>
?4?
?5?<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
?6?
?7?<html>
?8?
?9?????<head>
10?
11?????????<title>Say?Hello</title>
12?
13?????</head>
14?
15?????<body>
16?
17?????????<h3>Say?"Hello?World"?to:?</h3>
18?
19?????????<s:form?action="HelloWorld">
20?
21?????????????Name:?<s:textfield?name="name"?/>
22?
23?????????????<s:submit?/>
24?
25?????????</s:form>
26?
27?????</body>
28?
29?</html>
30?


這里用到了

Struts2 的標(biāo)簽庫 , 下面對他進(jìn)行一下解釋

?

< s:form? action ="" ></ s:form > -----獲取相應(yīng)form的值
< s:textfield ></ s:textfield > -----文本輸入框
< s:submit ></ s:submit > -----提交按鈕
< s:property? value =”” /> -----得到'value'的屬性

?

四結(jié)果

啟動 Tomcat, 在瀏覽器中輸入 http://localhost:8080/struts2/SayHello.jsp , 即可進(jìn)入到 :

?

然后在文本框中輸入 Tomcat, Submit, 可得

?

如果順利執(zhí)行 , 則大功告成 !



幽夢新影 2008-12-30 16:13 發(fā)表評論
]]>
一些JAVA學(xué)習(xí)筆記 http://www.tkk7.com/lovefeel2004/archive/2008/12/08/245058.html幽夢新影幽夢新影Mon, 08 Dec 2008 08:41:00 GMThttp://www.tkk7.com/lovefeel2004/archive/2008/12/08/245058.htmlhttp://www.tkk7.com/lovefeel2004/comments/245058.htmlhttp://www.tkk7.com/lovefeel2004/archive/2008/12/08/245058.html#Feedback4http://www.tkk7.com/lovefeel2004/comments/commentRss/245058.htmlhttp://www.tkk7.com/lovefeel2004/services/trackbacks/245058.html閱讀全文

幽夢新影 2008-12-08 16:41 發(fā)表評論
]]>
糾正一些關(guān)于Servlet的誤解http://www.tkk7.com/lovefeel2004/archive/2008/11/21/241838.html幽夢新影幽夢新影Fri, 21 Nov 2008 04:55:00 GMThttp://www.tkk7.com/lovefeel2004/archive/2008/11/21/241838.htmlhttp://www.tkk7.com/lovefeel2004/comments/241838.htmlhttp://www.tkk7.com/lovefeel2004/archive/2008/11/21/241838.html#Feedback1http://www.tkk7.com/lovefeel2004/comments/commentRss/241838.htmlhttp://www.tkk7.com/lovefeel2004/services/trackbacks/241838.html  

Servlet三個要素:
      1.必須繼承自HttpServlet
      2.必須實現(xiàn)doGet()或者doPost()
      3.必須在web.xml中配置Servlet
      <servlet>
      <servlet-name> </servlet-name>
      <servlet-class> </servlet-class>
      </servlet>
      
      <servlet-mapping>
      <servlet-name> </servlet-name>
      <url-pattern> </url-pattern>
      </servelt-mapping>

   
    有誰說了編寫一個Servlet必須繼承自HttpServlet類,必須實現(xiàn)doGet()或者doPost() ,難道實現(xiàn)Servlet接口就不行了嗎? 
    其實編寫一個Servlet主要有三種方法,一是實現(xiàn)Servlet接口,二是繼承抽象類GenericServlet,三是繼承HttpServlet類.下面分別用這三種方法去實現(xiàn)Servlet:
    (一)要從實現(xiàn)Servlet接口來編寫一個Servlet是比較麻煩的,因為必須實現(xiàn)Servlet接口中的所有方法,Servlet接口主要定義了五個方法,它們分別為:
(1)void init(ServletConfig config) throws ServletException
(2)ServletConfig getServletConfig()
(3)void service(ServletRequest req,ervletResponse res) throws ServletException,IOException
(4)String getServletInfo()
(5)void destroy()
下面用實現(xiàn)Servlet接口的方法編寫一個Servlet:
import javax.servlet.*;
import java.io.*;
public class TestServlet implements Servlet{
    
public void init(ServletConfig config) throws ServletException{
        System.out.println(
"init");
        }

    
public ServletConfig getServletConfig(){
        reture 
null;
        }

    
public void service(ServletRequest req,ServletResponse res) 
        
throws ServletException,IOException{
            
//這里可以實現(xiàn)請求后要做的內(nèi)容
            PrintWriter out = response.getWriter();
      out.println(
"Hello World!");

            }

    
public String getServletInfo(){
        
return null;
        }

    
public void destroy(){
        System.out.println(
"destory");
        }

    }
 
    
    (二)繼承抽象類GenericServlet編寫一個Serlvet,這個相對比實現(xiàn)Servlet接口要容易一點,GenericServlet類中只有一個抽象方法,即service(ServletRequest req, ServletResponse res),只要實現(xiàn)這個方法就行了,下面看例子:
import javax.servlet.*;
import java.io.IOException;

public TestGenericServlet extends GenericServlet{
    
public abstract void service(ServletRequest req,ServletResponse res)
                      
throws ServletException,IOException{
     PrintWriter out 
= response.getWriter();
     out.println(
"Hello World!");                     
     }

}


(3)繼承HttpServlet類編寫Servlet應(yīng)該是最容易的,而且是最常見的,我們一般要編寫Servlet直接繼承這個類就行了,重寫doGet()或者doPost()方法即可,下面看例子:
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;

public TestHttpServlet extends HttpServlet{
    
public void doGet(HttpServletRequest request, HttpServletResponse response)
        
throws IOException, ServletException {
  response.setContentType(
"text/html;charset=gb2312");
  PrintWriter out 
= response.getWriter();

  out.println(
"<html>");
  out.println(
"<head>");
  out.println(
"<title>HelloWorld</title>");
  out.println(
"</head>");
  out.println(
"<body bgcolor=\"white\">");
  out.println(
"<hr>");
  out.println(
"HelloWorld");
  out.println(
"</body></html>");
 }


 
public void doPost(HttpServletRequest request, HttpServletResponse response)
   
throws IOException, ServletException {
  doGet(request, response);
 }


}


幽夢新影 2008-11-21 12:55 發(fā)表評論
]]>
做個快樂的豬http://www.tkk7.com/lovefeel2004/articles/241362.html幽夢新影幽夢新影Wed, 19 Nov 2008 06:34:00 GMThttp://www.tkk7.com/lovefeel2004/articles/241362.htmlhttp://www.tkk7.com/lovefeel2004/comments/241362.htmlhttp://www.tkk7.com/lovefeel2004/articles/241362.html#Feedback0http://www.tkk7.com/lovefeel2004/comments/commentRss/241362.htmlhttp://www.tkk7.com/lovefeel2004/services/trackbacks/241362.html好好學(xué)習(xí),努力工作,做個快樂的豬!

幽夢新影 2008-11-19 14:34 發(fā)表評論
]]>
主站蜘蛛池模板: 99亚洲精品卡2卡三卡4卡2卡| 亚洲男同帅GAY片在线观看| 国产香蕉九九久久精品免费| 国产黄色免费网站| 在线日本高清免费不卡| 99久9在线|免费| 日韩精品久久久久久免费| 美丽姑娘免费观看在线观看中文版| 久久99青青精品免费观看| 久久精品视频免费| 99re6热视频精品免费观看| 香港a毛片免费观看| 最近最新高清免费中文字幕| 久久久久av无码免费网| 操美女视频免费网站| 国产精品久免费的黄网站| 亚洲国产成人久久一区WWW| 国产亚洲自拍一区| 亚洲AV日韩AV鸥美在线观看| 亚洲午夜在线电影| 亚洲男人天堂2018av| 国产亚洲精品第一综合| 国产99视频精品免费视频76| 日本中文字幕免费高清视频| 亚洲无砖砖区免费| 国产大片51精品免费观看| 国产亚洲精品高清在线| 亚洲综合在线视频| 亚洲人成网站在线在线观看| 爱情岛论坛免费视频| 美女在线视频观看影院免费天天看| 最近中文字幕完整免费视频ww| 天天天欲色欲色WWW免费| 亚洲午夜国产片在线观看| 亚洲国产精品国自产电影| 中文文字幕文字幕亚洲色| 免费无码AV一区二区| 成全视频免费观看在线看| 蜜桃视频在线观看免费网址入口| 免费永久在线观看黄网站| 亚洲AV无码欧洲AV无码网站|