日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

beanutils工具类_Apache Commons 工具类介绍及简单使用

發(fā)布時(shí)間:2025/3/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 beanutils工具类_Apache Commons 工具类介绍及简单使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
來源:http://h5ip.cn/9xu3

Apache Commons 工具類大家都有用過,但是可能缺乏系統(tǒng)學(xué)習(xí),只用到了一小部分功能,無法發(fā)揮極限的價(jià)值,肥朝用大白話說就是,一顆好白菜都讓豬給拱了!

代碼過多,手機(jī)觀看效果不佳,建議收藏后在電腦上靜悄悄地看。因內(nèi)容健康,可大膽轉(zhuǎn)發(fā),即使未滿十八歲,在沒有家長陪同下也一樣可以觀看!

1、BeanUtils

提供了對(duì)于JavaBean進(jìn)行各種操作, 比如對(duì)象,屬性復(fù)制等等。

//1、?克隆對(duì)象??
//??新創(chuàng)建一個(gè)普通Java?Bean,用來作為被克隆的對(duì)象??

????public?class?Person?{??
????private?String?name?=?"";??
????private?String?email?=?"";??

????private?int?age;??
????//省略?set,get方法??
????}??

// 再創(chuàng)建一個(gè)Test類,其中在main方法中代碼如下:
????import?java.lang.reflect.InvocationTargetException;??
????import?java.util.HashMap;??
????import?java.util.Map;??
????import?org.apache.commons.beanutils.BeanUtils;??
????import?org.apache.commons.beanutils.ConvertUtils;??
????public?class?Test?{??

????/**?
????*?@param?args?
????*/??
????public?static?void?main(String[]?args)?{??
????Person?person?=?new?Person();??
????person.setName("tom");??
????person.setAge(21);??
????try?{??
????????????//克隆??
????????Person?person2?=??(Person)BeanUtils.cloneBean(person);??
????????System.out.println(person2.getName()+">>"+person2.getAge());??
????}?catch?(IllegalAccessException?e)?{??
????????e.printStackTrace();??
????}?catch?(InstantiationException?e)?{??
????????e.printStackTrace();??
????}?catch?(InvocationTargetException?e)?{??
????????e.printStackTrace();??
????}?catch?(NoSuchMethodException?e)?{??
????????e.printStackTrace();??

????}??

????}??

????}??

// 原理也是通過Java的反射機(jī)制來做的。
//??2、?將一個(gè)Map對(duì)象轉(zhuǎn)化為一個(gè)Bean??
// 這個(gè)Map對(duì)象的key必須與Bean的屬性相對(duì)應(yīng)。
????Map?map?=?new?HashMap();??
????map.put("name","tom");??
????map.put("email","tom@");??
????map.put("age","21");??
????//將map轉(zhuǎn)化為一個(gè)Person對(duì)象??
????Person?person?=?new?Person();??
????BeanUtils.populate(person,map);??
// 通過上面的一行代碼,此時(shí)person的屬性就已經(jīng)具有了上面所賦的值了。
// 將一個(gè)Bean轉(zhuǎn)化為一個(gè)Map對(duì)象了,如下:
????Map?map?=?BeanUtils.describe(person)

2.Betwixt

XML與Java對(duì)象之間相互轉(zhuǎn)換。

//1、?將JavaBean轉(zhuǎn)為XML內(nèi)容??
//?新創(chuàng)建一個(gè)Person類??
public?class?Person{??
????private?String?name;??
????private?int?age;??
????/**?Need?to?allow?bean?to?be?created?via?reflection?*/??
????public?PersonBean()?{??
????}??
????public?PersonBean(String?name,?int?age)?{??
????????this.name?=?name;??
????????this.age?=?age;??
????}??
????//省略set,?get方法??
????public?String?toString()?{??
????????return?"PersonBean[name='"?+?name?+?"',age='"?+?age?+?"']";??
????}??
}??

//再創(chuàng)建一個(gè)WriteApp類:
import?java.io.StringWriter;??
import?org.apache.commons.betwixt.io.BeanWriter;??
public?class?WriteApp?{??
/**?
*?創(chuàng)建一個(gè)例子Bean,并將它轉(zhuǎn)化為XML.?
*/??
public?static?final?void?main(String?[]?args)?throws?Exception?{??
????//?先創(chuàng)建一個(gè)StringWriter,我們將把它寫入為一個(gè)字符串?????????
????StringWriter?outputWriter?=?new?StringWriter();??
????//?Betwixt在這里僅僅是將Bean寫入為一個(gè)片斷??
????//?所以如果要想完整的XML內(nèi)容,我們應(yīng)該寫入頭格式??
????outputWriter.write(“<?xml ?version=’1.0′?encoding=’UTF-8′??>\n”);??
????//?創(chuàng)建一個(gè)BeanWriter,其將寫入到我們預(yù)備的stream中??
????BeanWriter?beanWriter?=?new?BeanWriter(outputWriter);??
????//?配置betwixt??
????//?更多詳情請(qǐng)參考java?docs?或最新的文檔??
????beanWriter.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);??
????beanWriter.getBindingConfiguration().setMapIDs(false);??
????beanWriter.enablePrettyPrint();??
????//?如果這個(gè)地方不傳入XML的根節(jié)點(diǎn)名,Betwixt將自己猜測(cè)是什么??
????//?但是讓我們將例子Bean名作為根節(jié)點(diǎn)吧??
????beanWriter.write(“person”,?new?PersonBean(“John?Smith”,?21));??
????//輸出結(jié)果??
????System.out.println(outputWriter.toString());??
????//?Betwixt寫的是片斷而不是一個(gè)文檔,所以不要自動(dòng)的關(guān)閉掉writers或者streams,??
????//但這里僅僅是一個(gè)例子,不會(huì)做更多事情,所以可以關(guān)掉??
????outputWriter.close();??
????}??
}??
//2、?將XML轉(zhuǎn)化為JavaBean??
import?java.io.StringReader;??
import?org.apache.commons.betwixt.io.BeanReader;??
public?class?ReadApp?{??
public?static?final?void?main(String?args[])?throws?Exception{??
????//?先創(chuàng)建一個(gè)XML,由于這里僅是作為例子,所以我們硬編碼了一段XML內(nèi)容??
????StringReader?xmlReader?=?new?StringReader(??
????"<?xml ?version=’1.0′?encoding=’UTF-8′??>?25James?Smith");??
????//創(chuàng)建BeanReader??
????BeanReader?beanReader??=?new?BeanReader();??
????//配置reader??
????beanReader.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);??
????beanReader.getBindingConfiguration().setMapIDs(false);??
????//注冊(cè)beans,以便betwixt知道XML將要被轉(zhuǎn)化為一個(gè)什么Bean??
????beanReader.registerBeanClass("person",?PersonBean.class);??
????//現(xiàn)在我們對(duì)XML進(jìn)行解析??
????PersonBean?person?=?(PersonBean)?beanReader.parse(xmlReader);??
????//輸出結(jié)果??
????System.out.println(person);??
????}??
}

3.Codec

提供了一些公共的編解碼實(shí)現(xiàn),比如Base64, Hex, MD5,Phonetic and URLs等等。

//Base64編解碼??
private?static?String?encodeTest(String?str){??
????Base64?base64?=?new?Base64();??
????try?{??
????????str?=?base64.encodeToString(str.getBytes("UTF-8"));??
????}?catch?(UnsupportedEncodingException?e)?{??
????????e.printStackTrace();??
????}??
????????System.out.println("Base64 編碼后:"+str);??
????return?str;??
}??

private?static?void?decodeTest(String?str){??
????Base64?base64?=?new?Base64();??
????//str?=?Arrays.toString(Base64.decodeBase64(str));??
????str?=?new?String(Base64.decodeBase64(str));??
????System.out.println("Base64 解碼后:"+str);??
}

4.Collections

對(duì)java.util的擴(kuò)展封裝,處理數(shù)據(jù)還是挺靈活的。

org.apache.commons.collections – Commons Collections自定義的一組公用的接口和工具類

org.apache.commons.collections.bag – 實(shí)現(xiàn)Bag接口的一組類

org.apache.commons.collections.bidimap – 實(shí)現(xiàn)BidiMap系列接口的一組類

org.apache.commons.collections.buffer – 實(shí)現(xiàn)Buffer接口的一組類

org.apache.commons.collections.collection – 實(shí)現(xiàn)java.util.Collection接口的一組類

org.apache.commons.collections.comparators – 實(shí)現(xiàn)java.util.Comparator接口的一組類

org.apache.commons.collections.functors – Commons Collections自定義的一組功能類

org.apache.commons.collections.iterators – 實(shí)現(xiàn)java.util.Iterator接口的一組類

org.apache.commons.collections.keyvalue – 實(shí)現(xiàn)集合和鍵/值映射相關(guān)的一組類

org.apache.commons.collections.list – 實(shí)現(xiàn)java.util.List接口的一組類

org.apache.commons.collections.map – 實(shí)現(xiàn)Map系列接口的一組類

org.apache.commons.collections.set – 實(shí)現(xiàn)Set系列接口的一組類

/**?
*?得到集合里按順序存放的key之后的某一Key?
*/??
OrderedMap?map?=?new?LinkedMap();??
map.put("FIVE",?"5");??
map.put("SIX",?"6");??
map.put("SEVEN",?"7");??
map.firstKey();?//?returns?"FIVE"??
map.nextKey("FIVE");?//?returns?"SIX"??
map.nextKey("SIX");?//?returns?"SEVEN"???

/**?
*?通過key得到value?
*?通過value得到key?
*?將map里的key和value對(duì)調(diào)?
*/??

BidiMap?bidi?=?new?TreeBidiMap();??
bidi.put("SIX",?"6");??
bidi.get("SIX");??//?returns?"6"??
bidi.getKey("6");??//?returns?"SIX"??
//???????bidi.removeValue("6");??//?removes?the?mapping??
BidiMap?inverse?=?bidi.inverseBidiMap();??//?returns?a?map?with?keys?and?values?swapped??
System.out.println(inverse);??

/**?
?*?得到兩個(gè)集合中相同的元素?
?*/??
List?list1?=?new?ArrayList();??
list1.add("1");??
list1.add("2");??
list1.add("3");??
List?list2?=?new?ArrayList();??
list2.add("2");??
list2.add("3");??
list2.add("5");??
Collection?c?=?CollectionUtils.retainAll(list1,?list2);??
System.out.println(c);

5.Compress

commons compress中的打包、壓縮類庫。

//創(chuàng)建壓縮對(duì)象??
ZipArchiveEntry?entry?=?new?ZipArchiveEntry("CompressTest");??
//要壓縮的文件??
File?f=new?File("e:\\test.pdf");??
FileInputStream?fis=new?FileInputStream(f);??
//輸出的對(duì)象?壓縮的文件??
ZipArchiveOutputStream?zipOutput=new?ZipArchiveOutputStream(new?File("e:\\test.zip"));????
zipOutput.putArchiveEntry(entry);??
int?i=0,j;??
while((j=fis.read())?!=?-1)??
{???
zipOutput.write(j);??
i++;??
System.out.println(i);??
}??
zipOutput.closeArchiveEntry();??
zipOutput.close();??
fis.close();

6.Configuration

用來幫助處理配置文件的,支持很多種存儲(chǔ)方式。

  • Properties files

  • XML documents

  • Property list files (.plist)

  • JNDI

  • JDBC Datasource

  • System properties

  • Applet parameters

  • Servlet parameters

  • //舉一個(gè)Properties的簡單例子??
    #?usergui.properties??
    colors.background?=?#FFFFFF??
    colors.foreground?=?#000080??
    window.width?=?500??
    window.height?=?300??

    PropertiesConfiguration?config?=?new?PropertiesConfiguration("usergui.properties");??
    config.setProperty("colors.background",?"#000000);??
    config.save();??
    config.save("usergui.backup.properties);//save?a?copy??
    Integer?integer?=?config.getInteger("window.width");??

    7.DBCP

    (Database Connection Pool)是一個(gè)依賴Jakarta commons-pool對(duì)象池機(jī)制的數(shù)據(jù)庫連接池,Tomcat的數(shù)據(jù)源使用的就是DBCP。

    import?javax.sql.DataSource;??
    import?java.sql.Connection;??
    import?java.sql.Statement;??
    import?java.sql.ResultSet;??
    import?java.sql.SQLException;??

    import?org.apache.commons.pool.ObjectPool;??
    import?org.apache.commons.pool.impl.GenericObjectPool;??
    import?org.apache.commons.dbcp.ConnectionFactory;??
    import?org.apache.commons.dbcp.PoolingDataSource;??
    import?org.apache.commons.dbcp.PoolableConnectionFactory;??
    import?org.apache.commons.dbcp.DriverManagerConnectionFactory;??
    //官方示例??
    public?class?PoolingDataSources?{??

    ????public?static?void?main(String[]?args)?{??
    ????????System.out.println("加載jdbc驅(qū)動(dòng)");??
    ????????try?{??
    ????????Class.forName("oracle.jdbc.driver.OracleDriver");??
    ????????}?catch?(ClassNotFoundException?e)?{??
    ????????e.printStackTrace();??
    ????????}??
    ????????System.out.println("Done.");??
    ????????//??
    ????????System.out.println("設(shè)置數(shù)據(jù)源");??
    ????????DataSource?dataSource?=?setupDataSource("jdbc:oracle:thin:@localhost:1521:test");??
    ????????System.out.println("Done.");??

    ????????//??
    ????????Connection?conn?=?null;??
    ????????Statement?stmt?=?null;??
    ????????ResultSet?rset?=?null;??

    ????????try?{??
    ????????System.out.println("Creating?connection.");??
    ????????conn?=?dataSource.getConnection();??
    ????????System.out.println("Creating?statement.");??
    ????????stmt?=?conn.createStatement();??
    ????????System.out.println("Executing?statement.");??
    ????????rset?=?stmt.executeQuery("select?*?from?person");??
    ????????System.out.println("Results:");??
    ????????int?numcols?=?rset.getMetaData().getColumnCount();??
    ????????while(rset.next())?{??
    ????????for(int?i=0;i<=numcols;i++)?{??
    ????????System.out.print("\t"?+?rset.getString(i));??
    ????????}??
    ????????System.out.println("");??
    ????????}??
    ????????}?catch(SQLException?e)?{??
    ????????e.printStackTrace();??
    ????????}?finally?{??
    ????????try?{?if?(rset?!=?null)?rset.close();?}?catch(Exception?e)?{?}??
    ????????try?{?if?(stmt?!=?null)?stmt.close();?}?catch(Exception?e)?{?}??
    ????????try?{?if?(conn?!=?null)?conn.close();?}?catch(Exception?e)?{?}??
    ????????}??
    ????????}??

    ????public?static?DataSource?setupDataSource(String?connectURI)?{??
    ????????//設(shè)置連接地址??
    ????????ConnectionFactory?connectionFactory?=?new?DriverManagerConnectionFactory(??
    ????????????????connectURI,?null);??

    ????????//?創(chuàng)建連接工廠??
    ????????PoolableConnectionFactory?poolableConnectionFactory?=?new?PoolableConnectionFactory(??
    ????????????????connectionFactory);??

    ????????//獲取GenericObjectPool?連接的實(shí)例??
    ????????ObjectPool?connectionPool?=?new?GenericObjectPool(??
    ????????????????poolableConnectionFactory);??

    ????????//?創(chuàng)建?PoolingDriver??
    ????????PoolingDataSource?dataSource?=?new?PoolingDataSource(connectionPool);??

    ????????return?dataSource;??
    ????}??
    }

    8.DbUtils

    Apache組織提供的一個(gè)資源JDBC工具類庫,它是對(duì)JDBC的簡單封裝,對(duì)傳統(tǒng)操作數(shù)據(jù)庫的類進(jìn)行二次封裝,可以把結(jié)果集轉(zhuǎn)化成List。,同時(shí)也不影響程序的性能。

    DbUtils類:啟動(dòng)類

    ResultSetHandler接口:轉(zhuǎn)換類型接口

    MapListHandler類:實(shí)現(xiàn)類,把記錄轉(zhuǎn)化成List

    BeanListHandler類:實(shí)現(xiàn)類,把記錄轉(zhuǎn)化成List,使記錄為JavaBean類型的對(duì)象

    Qrery Runner類:執(zhí)行SQL語句的類

    import?org.apache.commons.dbutils.DbUtils;??
    import?org.apache.commons.dbutils.QueryRunner;??
    import?org.apache.commons.dbutils.handlers.BeanListHandler;??
    import?java.sql.Connection;??
    import?java.sql.DriverManager;??
    import?java.sql.SQLException;??
    import?java.util.List;??
    //轉(zhuǎn)換成list??
    public?class?BeanLists?{??
    ????public?static?void?main(String[]?args)?{??
    ????????Connection?conn?=?null;??
    ????????String?url?=?"jdbc:mysql://localhost:3306/ptest";??
    ????????String?jdbcDriver?=?"com.mysql.jdbc.Driver";??
    ????????String?user?=?"root";??
    ????????String?password?=?"ptest";??

    ????????DbUtils.loadDriver(jdbcDriver);??
    ????????try?{??
    ????????????conn?=?DriverManager.getConnection(url,?user,?password);??
    ????????????QueryRunner?qr?=?new?QueryRunner();??
    ????????????List?results?=?(List)?qr.query(conn,?"select?id,name?from?person",?new?BeanListHandler(Person.class));??
    ????????????for?(int?i?=?0;?i?????????????????Person?p?=?(Person)?results.get(i);??
    ????????????????System.out.println("id:"?+?p.getId()?+?",name:"?+?p.getName());??
    ????????????}??
    ????????}?catch?(SQLException?e)?{??
    ????????????e.printStackTrace();??
    ????????}?finally?{??
    ????????????DbUtils.closeQuietly(conn);??
    ????????}??
    ????}??
    }??

    public?class?Person{??
    ????private?Integer?id;??
    ????private?String?name;??

    ???//省略set,?get方法??
    }??

    import?org.apache.commons.dbutils.DbUtils;??
    import?org.apache.commons.dbutils.QueryRunner;??
    import?org.apache.commons.dbutils.handlers.MapListHandler;??

    import?java.sql.Connection;??
    import?java.sql.DriverManager;??
    import?java.sql.SQLException;??

    import?java.util.List;??
    import?java.util.Map;??
    //轉(zhuǎn)換成map??
    public?class?MapLists?{??
    ????public?static?void?main(String[]?args)?{??
    ????????Connection?conn?=?null;??
    ????????String?url?=?"jdbc:mysql://localhost:3306/ptest";??
    ????????String?jdbcDriver?=?"com.mysql.jdbc.Driver";??
    ????????String?user?=?"root";??
    ????????String?password?=?"ptest";??

    ????????DbUtils.loadDriver(jdbcDriver);??
    ????????try?{??
    ????????????conn?=?DriverManager.getConnection(url,?user,?password);??
    ????????????QueryRunner?qr?=?new?QueryRunner();??
    ????????????List?results?=?(List)?qr.query(conn,?"select?id,name?from?person",?new?MapListHandler());??
    ????????????for?(int?i?=?0;?i?????????????????Map?map?=?(Map)?results.get(i);??
    ????????????????System.out.println("id:"?+?map.get("id")?+?",name:"?+?map.get("name"));??
    ????????????}??
    ????????}?catch?(SQLException?e)?{??
    ????????????e.printStackTrace();??
    ????????}?finally?{??
    ????????????DbUtils.closeQuietly(conn);??
    ????????}??
    ????}??
    }

    9.Email

    提供的一個(gè)開源的API,是對(duì)javamail的封裝。

    //用commons?email發(fā)送郵件??
    public?static?void?main(String?args[]){??
    ????Email?email?=?new?SimpleEmail();??
    ????email.setHostName("smtp.googlemail.com");??
    ????email.setSmtpPort(465);??
    ????email.setAuthenticator(new?DefaultAuthenticator("username",?"password"));??
    ????email.setSSLOnConnect(true);??
    ????email.setFrom("user@gmail.com");??
    ????email.setSubject("TestMail");??
    ????email.setMsg("This?is?a?test?mail?...?:-)");??
    ????email.addTo("foo@bar.com");??
    ????email.send();??
    }

    10.FileUpload

    java web文件上傳功能。

    //官方示例:
    //*?檢查請(qǐng)求是否含有上傳文件??
    //?Check?that?we?have?a?file?upload?request??
    boolean?isMultipart?=?ServletFileUpload.isMultipartContent(request);??

    //現(xiàn)在我們得到了items的列表??

    //如果你的應(yīng)用近于最簡單的情況,上面的處理就夠了。但我們有時(shí)候還是需要更多的控制。
    //下面提供了幾種控制選擇:
    //?Create?a?factory?for?disk-based?file?items??
    DiskFileItemFactory?factory?=?new?DiskFileItemFactory();??

    //?Set?factory?constraints??
    factory.setSizeThreshold(yourMaxMemorySize);??
    factory.setRepository(yourTempDirectory);??

    //?Create?a?new?file?upload?handler??
    ServletFileUpload?upload?=?new?ServletFileUpload(factory);??

    //?設(shè)置最大上傳大小??
    upload.setSizeMax(yourMaxRequestSize);??

    //?解析所有請(qǐng)求??
    List?/*?FileItem?*/?items?=?upload.parseRequest(request);??

    //?Create?a?factory?for?disk-based?file?items??
    DiskFileItemFactory?factory?=?new?DiskFileItemFactory(??
    ????????yourMaxMemorySize,?yourTempDirectory);??

    //一旦解析完成,你需要進(jìn)一步處理item的列表。
    //?Process?the?uploaded?items??
    Iterator?iter?=?items.iterator();??
    while?(iter.hasNext())?{??
    ????FileItem?item?=?(FileItem)?iter.next();??

    ????if?(item.isFormField())?{??
    ????????processFormField(item);??
    ????}?else?{??
    ????????processUploadedFile(item);??
    ????}??
    }??

    //區(qū)分?jǐn)?shù)據(jù)是否為簡單的表單數(shù)據(jù),如果是簡單的數(shù)據(jù):
    //?processFormField??
    if?(item.isFormField())?{??
    ????String?name?=?item.getFieldName();??
    ????String?value?=?item.getString();??
    ????//...省略步驟??
    }??

    //如果是提交的文件:
    //?processUploadedFile??
    if?(!item.isFormField())?{??
    ????String?fieldName?=?item.getFieldName();??
    ????String?fileName?=?item.getName();??
    ????String?contentType?=?item.getContentType();??
    ????boolean?isInMemory?=?item.isInMemory();??
    ????long?sizeInBytes?=?item.getSize();??
    ????//...省略步驟??
    }??

    //對(duì)于這些item,我們通常要把它們寫入文件,或轉(zhuǎn)為一個(gè)流??
    //?Process?a?file?upload??
    if?(writeToFile)?{??
    ????File?uploadedFile?=?new?File(...);??
    ????item.write(uploadedFile);??
    }?else?{??
    ????InputStream?uploadedStream?=?item.getInputStream();??
    ????//...省略步驟??
    ????uploadedStream.close();??
    }??

    //或轉(zhuǎn)為字節(jié)數(shù)組保存在內(nèi)存中:
    //?Process?a?file?upload?in?memory??
    byte[]?data?=?item.get();??
    //...省略步驟??
    //如果這個(gè)文件真的很大,你可能會(huì)希望向用戶報(bào)告到底傳了多少到服務(wù)端,讓用戶了解上傳的過程??
    //Create?a?progress?listener??
    ProgressListener?progressListener?=?new?ProgressListener(){??
    ???public?void?update(long?pBytesRead,?long?pContentLength,?int?pItems)?{??
    ???????System.out.println("We?are?currently?reading?item?"?+?pItems);??
    ???????if?(pContentLength?==?-1)?{??
    ???????????System.out.println("So?far,?"?+?pBytesRead?+?"?bytes?have?been?read.");??
    ???????}?else?{??
    ???????????System.out.println("So?far,?"?+?pBytesRead?+?"?of?"?+?pContentLength??
    ??????????????????????????????+?"?bytes?have?been?read.");??
    ???????}??
    ???}??
    };??
    upload.setProgressListener(progressListener);

    11.HttpClient

    基于HttpCore實(shí) 現(xiàn)的一個(gè)HTTP/1.1兼容的HTTP客戶端,它提供了一系列可重用的客戶端身份驗(yàn)證、HTTP狀態(tài)保持、HTTP連接管理module。

    //GET方法??
    import?java.io.IOException;??
    import?org.apache.commons.httpclient.*;??
    import?org.apache.commons.httpclient.methods.GetMethod;??
    import?org.apache.commons.httpclient.params.HttpMethodParams;??

    public?class?GetSample{??
    ????public?static?void?main(String[]?args)?{??
    ????????//?構(gòu)造HttpClient的實(shí)例??
    ????????HttpClient?httpClient?=?new?HttpClient();??
    ????????//?創(chuàng)建GET方法的實(shí)例??
    ????????GetMethod?getMethod?=?new?GetMethod("http://www.ibm.com");??
    ????????//?使用系統(tǒng)提供的默認(rèn)的恢復(fù)策略??
    ????????getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,??
    ????????????????new?DefaultHttpMethodRetryHandler());??
    ????????try?{??
    ????????????//?執(zhí)行g(shù)etMethod??
    ????????????int?statusCode?=?httpClient.executeMethod(getMethod);??
    ????????????if?(statusCode?!=?HttpStatus.SC_OK)?{??
    ????????????????System.err.println("Method?failed:?"??
    ????????????????????????+?getMethod.getStatusLine());??
    ????????????}??
    ????????????//?讀取內(nèi)容??
    ????????????byte[]?responseBody?=?getMethod.getResponseBody();??
    ????????????//?處理內(nèi)容??
    ????????????System.out.println(new?String(responseBody));??
    ????????}?catch?(HttpException?e)?{??
    ????????????//?發(fā)生致命的異常,可能是協(xié)議不對(duì)或者返回的內(nèi)容有問題??
    ????????????System.out.println("Please?check?your?provided?http?address!");??
    ????????????e.printStackTrace();??
    ????????}?catch?(IOException?e)?{??
    ????????????//?發(fā)生網(wǎng)絡(luò)異常??
    ????????????e.printStackTrace();??
    ????????}?finally?{??
    ????????????//?釋放連接??
    ????????????getMethod.releaseConnection();??
    ????????}??
    ????}??
    }??

    //POST方法??
    import?java.io.IOException;??
    import?org.apache.commons.httpclient.*;??
    import?org.apache.commons.httpclient.methods.PostMethod;??
    import?org.apache.commons.httpclient.params.HttpMethodParams;??

    public?class?PostSample{??
    ????public?static?void?main(String[]?args)?{??
    ????????//?構(gòu)造HttpClient的實(shí)例??
    ????????HttpClient?httpClient?=?new?HttpClient();??
    ????????//?創(chuàng)建POST方法的實(shí)例??
    ????????String?url?=?"http://www.oracle.com/";??
    ????????PostMethod?postMethod?=?new?PostMethod(url);??
    ????????//?填入各個(gè)表單域的值??
    ????????NameValuePair[]?data?=?{?new?NameValuePair("id",?"youUserName"),??
    ????????new?NameValuePair("passwd",?"yourPwd")?};??
    ????????//?將表單的值放入postMethod中??
    ????????postMethod.setRequestBody(data);??
    ????????//?執(zhí)行postMethod??
    ????????int?statusCode?=?httpClient.executeMethod(postMethod);??
    ????????//?HttpClient對(duì)于要求接受后繼服務(wù)的請(qǐng)求,象POST和PUT等不能自動(dòng)處理轉(zhuǎn)發(fā)??
    ????????//?301或者302??
    ????????if?(statusCode?==?HttpStatus.SC_MOVED_PERMANENTLY?||???
    ????????statusCode?==?HttpStatus.SC_MOVED_TEMPORARILY)?{??
    ????????????//?從頭中取出轉(zhuǎn)向的地址??
    ????????????Header?locationHeader?=?postMethod.getResponseHeader("location");??
    ????????????String?location?=?null;??
    ????????????if?(locationHeader?!=?null)?{??
    ?????????????location?=?locationHeader.getValue();??
    ?????????????System.out.println("The?page?was?redirected?to:"?+?location);??
    ????????????}?else?{??
    ?????????????System.err.println("Location?field?value?is?null.");??
    ????????????}??
    ????????????return;??
    ????????}??
    ????}??
    }

    12.IO

    對(duì)java.io的擴(kuò)展 操作文件非常方便。

    //1.讀取Stream??

    //標(biāo)準(zhǔn)代碼:
    InputStream?in?=?new?URL(?"http://jakarta.apache.org"?).openStream();??
    try?{??
    ???????InputStreamReader?inR?=?new?InputStreamReader(?in?);??
    ???????BufferedReader?buf?=?new?BufferedReader(?inR?);??
    ???????String?line;??
    ???????while?(?(?line?=?buf.readLine()?)?!=?null?)?{??
    ??????????System.out.println(?line?);??
    ???????}??
    ??}?finally?{??
    ????in.close();??
    ??}??

    //使用IOUtils??

    InputStream?in?=?new?URL(?"http://jakarta.apache.org"?).openStream();??
    try?{??
    ????System.out.println(?IOUtils.toString(?in?)?);??
    }?finally?{??
    ????IOUtils.closeQuietly(in);??
    }??

    //2.讀取文件??
    File?file?=?new?File("/commons/io/project.properties");??
    List?lines?=?FileUtils.readLines(file,?"UTF-8");??
    //3.察看剩余空間??
    long?freeSpace?=?FileSystemUtils.freeSpace("C:/");

    13.Lang

    主要是一些公共的工具集合,比如對(duì)字符、數(shù)組的操作等等。

    //?1?合并兩個(gè)數(shù)組:?org.apache.commons.lang.?ArrayUtils??
    // 有時(shí)我們需要將兩個(gè)數(shù)組合并為一個(gè)數(shù)組,用ArrayUtils就非常方便,示例如下:
    private?static?void?testArr()?{??
    String[]?s1?=?new?String[]?{?"1",?"2",?"3"?};??
    String[]?s2?=?new?String[]?{?"a",?"b",?"c"?};??
    String[]?s?=?(String[])?ArrayUtils.addAll(s1,?s2);??
    for?(int?i?=?0;?i?????System.out.println(s[i]);??
    }??
    String?str?=?ArrayUtils.toString(s);??
    str?=?str.substring(1,?str.length()?-?1);??
    System.out.println(str?+?">>"?+?str.length());??

    }??
    //2?截取從from開始字符串??
    StringUtils.substringAfter("SELECT?*?FROM?PERSON?",?"from");??
    //3 判斷該字符串是不是為數(shù)字(0~9)組成,如果是,返回true 但該方法不識(shí)別有小數(shù)點(diǎn)和 請(qǐng)注意。
    StringUtils.isNumeric("454534");?//返回true??
    //4.取得類名??
    System.out.println(ClassUtils.getShortClassName(Test.class));??
    //取得其包名??
    System.out.println(ClassUtils.getPackageName(Test.class));??

    //5.NumberUtils??
    System.out.println(NumberUtils.stringToInt("6"));??
    //6.五位的隨機(jī)字母和數(shù)字??
    System.out.println(RandomStringUtils.randomAlphanumeric(5));??
    //7.StringEscapeUtils??
    System.out.println(StringEscapeUtils.escapeHtml(""));??
    //輸出結(jié)果為>html
    System.out.println(StringEscapeUtils.escapeJava("String"));??//8.StringUtils,判斷是否是空格字符??
    System.out.println(StringUtils.isBlank("???"));??//將數(shù)組中的內(nèi)容以,分隔??
    System.out.println(StringUtils.join(test,","));??//在右邊加下字符,使之總長度為6??
    System.out.println(StringUtils.rightPad("abc",?6,?'T'));??//首字母大寫??
    System.out.println(StringUtils.capitalize("abc"));??//Deletes?all?whitespaces?from?a?String?刪除所有空格??
    System.out.println(?StringUtils.deleteWhitespace("???ab??c??"));??//判斷是否包含這個(gè)字符??
    System.out.println(?StringUtils.contains("abc",?"ba"));??//表示左邊兩個(gè)字符??
    System.out.println(?StringUtils.left("abc",?2));??
    System.out.println(NumberUtils.stringToInt("33"));

    14.Logging

    提供的是一個(gè)Java 的日志接口,同時(shí)兼顧輕量級(jí)和不依賴于具體的日志實(shí)現(xiàn)工具。

    import?org.apache.commons.logging.Log;??
    import?org.apache.commons.logging.LogFactory;??

    public?class?CommonLogTest?{??
    ?private?static?Log?log?=?LogFactory.getLog(CommonLogTest.class);??
    ?//日志打印??
    ?public?static?void?main(String[]?args)?{??
    ?????log.error("ERROR");??
    ?????log.debug("DEBUG");??
    ?????log.warn("WARN");??
    ?????log.info("INFO");??
    ?????log.trace("TRACE");??
    ??System.out.println(log.getClass());??
    ?}??
    }

    15.Validator

    通用驗(yàn)證系統(tǒng),該組件提供了客戶端和服務(wù)器端的數(shù)據(jù)驗(yàn)證框架。

    1.驗(yàn)證日期

    //?獲取日期驗(yàn)證??
    DateValidator?validator?=?DateValidator.getInstance();??

    //?驗(yàn)證/轉(zhuǎn)換日期??
    Date?fooDate?=?validator.validate(fooString,?"dd/MM/yyyy");??
    if?(fooDate?==?null)?{??
    ??//?錯(cuò)誤?不是日期??
    ??return;??
    }

    2.表達(dá)式驗(yàn)證

    //?設(shè)置參數(shù)??
    boolean?caseSensitive?=?false;??
    String?regex1???=?"^([A-Z]*)(?:\\-)([A-Z]*)*$"??
    String?regex2???=?"^([A-Z]*)$";??
    String[]?regexs?=?new?String[]?{regex1,?regex1};??

    //?創(chuàng)建驗(yàn)證??
    RegexValidator?validator?=?new?RegexValidator(regexs,?caseSensitive);??

    //?驗(yàn)證返回boolean??
    boolean?valid?=?validator.isValid("abc-def");??

    //?驗(yàn)證返回字符串??
    String?result?=?validator.validate("abc-def");??

    //?驗(yàn)證返回?cái)?shù)組??
    String[]?groups?=?validator.match("abc-def");

    3.配置文件中使用驗(yàn)證

    <form-validation>??
    ???<global>??
    ???????<validator?name="required"??classname="org.apache.commons.validator.TestValidator"??method="validateRequired"??methodParams="java.lang.Object,?org.apache.commons.validator.Field"/>??
    ????global>??
    ????<formset>??
    ????formset>??
    form-validation>??

    添加姓名驗(yàn)證.??

    <form-validation>??
    ???<global>??
    ???????<validator?name="required"??classname="org.apache.commons.validator.TestValidator"??method="validateRequired"??methodParams="java.lang.Object,?org.apache.commons.validator.Field"/>??
    ????global>??
    ????<formset>??
    ???????<form?name="nameForm">??
    ??????????<field?property="firstName"?depends="required">??
    ?????????????<arg0?key="nameForm.firstname.displayname"/>??
    ??????????field>??
    ??????????<field?property="lastName"?depends="required">??
    ?????????????<arg0?key="nameForm.lastname.displayname"/>??
    ??????????field>??
    ???????form>??
    ????formset>??
    form-validation>

    4.驗(yàn)證類

    Excerpts?from?org.apache.commons.validator.RequiredNameTest??
    //加載驗(yàn)證配置文件??
    InputStream?in?=?this.getClass().getResourceAsStream("validator-name-required.xml");??

    ValidatorResources?resources?=?new?ValidatorResources(in);??
    //這個(gè)是自己創(chuàng)建的bean?我這里省略了??
    Name?name?=?new?Name();??

    Validator?validator?=?new?Validator(resources,?"nameForm");??
    //設(shè)置參數(shù)??
    validator.setParameter(Validator.BEAN_PARAM,?name);??


    Map?results?=?null;??
    //驗(yàn)證??
    results?=?validator.validate();??

    if?(results.get("firstName")?==?null)?{??
    ????//驗(yàn)證成功??
    }?else?{??
    ????//有錯(cuò)誤?????int?errors?=?((Integer)results.get("firstName")).intValue();??
    }

    總結(jié)

    以上是生活随笔為你收集整理的beanutils工具类_Apache Commons 工具类介绍及简单使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    欧美日韩在线看 | 成人影视片 | 欧美一级性视频 | 天天搞夜夜骑 | 久久免费视频这里只有精品 | 一级理论片在线观看 | 国产在线视频一区二区三区 | 日本99久久 | 麻豆94tv免费版 | 操高跟美女 | 日韩黄色免费在线观看 | 亚洲精品国产精品国产 | 99精品视频网 | av大全在线 | 国产精品无av码在线观看 | 精品久久久成人 | 午夜少妇av | 国产高潮久久 | 精产嫩模国品一二三区 | 99 精品 在线 | 国产精品igao视频网网址 | 97综合视频| av观看免费在线 | 国产精品欧美久久久久三级 | 日韩av进入 | 亚洲美女视频在线观看 | 亚洲aⅴ久久精品 | www欧美xxxx | 亚洲一区二区三区四区精品 | 日韩视频图片 | a级国产乱理论片在线观看 伊人宗合网 | 91在线产啪 | 九色自拍视频 | 免费精品视频在线观看 | 国产又粗又猛又黄又爽视频 | 五月亚洲 | 久久人操 | 91九色性视频 | 在线免费av网站 | 日本高清中文字幕有码在线 | 国产中文视频 | 欧美老人xxxx18 | 在线免费观看黄色av | 五月综合网| 91精品国产综合久久久久久久 | 欧美黄色特级片 | 4438全国亚洲精品观看视频 | 91成人免费在线 | 五月婷婷色播 | 欧美污在线观看 | 99爱视频 | 国内精品小视频 | 久久精品亚洲综合专区 | www操操操 | 精品欧美一区二区精品久久 | 久久国产影院 | 91完整版在线观看 | 一区二区视频电影在线观看 | 在线观看韩日电影免费 | 蜜臀av在线一区二区三区 | 亚洲国产精品激情在线观看 | 最近高清中文在线字幕在线观看 | 久草在线视频网 | 一本一本久久a久久精品综合小说 | 国产尤物在线视频 | 日韩精品观看 | 久久精品在线免费观看 | 成人小电影在线看 | 久久精品99国产 | 久久成人一区二区 | 成人资源在线观看 | 视频福利在线 | 国产精品自产拍在线观看 | 91aaa在线观看 | 91av欧美| av大全在线播放 | 在线观看中文字幕视频 | 91福利视频久久久久 | 在线观看免费中文字幕 | 色视频网站在线 | 亚洲激情校园春色 | 欧美一级乱黄 | 国产精品扒开做爽爽的视频 | 国产一级91 | 蜜桃视频成人在线观看 | 国产精品久久嫩一区二区免费 | 免费网站观看www在线观看 | 婷婷亚洲综合 | av在线不卡观看 | 国产一区国产二区在线观看 | 九九免费在线看完整版 | 久久久久女人精品毛片九一 | a在线观看视频 | 成人羞羞视频在线观看免费 | 精品一二三四视频 | 色婷婷一| 天天射天天干天天 | 亚洲另类视频在线观看 | 国产精品入口久久 | av中文在线影视 | 91在线免费看片 | 欧美国产日韩在线视频 | 国产成人免费av电影 | 韩国一区二区三区视频 | 国产999视频在线观看 | 久久综合中文色婷婷 | 久久久久久视频 | 91精品国产欧美一区二区成人 | 天天操天天草 | 九九九九热精品免费视频点播观看 | 日韩中文在线观看 | 精品国产欧美 | 香蕉在线影院 | 国产视频一区在线免费观看 | 日韩免费观看av | 国产群p视频 | 日韩网站在线播放 | 久久精品导航 | 婷婷六月中文字幕 | aaa亚洲精品一二三区 | 青青网视频| 日韩有码网站 | 在线成人免费电影 | 亚洲综合小说电影qvod | 97在线观 | 超碰在线日韩 | 一区二区三区在线不卡 | 97超视频在线观看 | 九九免费在线观看视频 | 国产精品久久久久久久久费观看 | 欧美一区二视频在线免费观看 | 久久好看免费视频 | 99免费看片| 婷婷丁香色综合狠狠色 | 欧美成人h版| 中文字幕在线观看免费高清完整版 | 精品国产理论片 | 国产不卡片 | 日本久久综合视频 | 日日夜夜网 | 午夜三级在线 | 色综合亚洲精品激情狠狠 | 亚洲精品成人在线 | 国产视频18 | 五月花丁香婷婷 | 人人插人人玩 | 久久精品国产亚洲aⅴ | 欧美久久久久久久久久久 | 8x成人在线 | 国产精品毛片一区二区三区 | 欧美日韩国产成人 | 精品一区二区免费在线观看 | 亚洲成av人片在线观看 | 久综合网| 亚洲精品xxxx| 1区2区3区在线观看 三级动图 | 91爱爱电影| 国产综合片 | 国产精品久久伊人 | 91九色视频在线观看 | 91最新网址在线观看 | 最近最新中文字幕视频 | 欧美一级片免费播放 | 亚洲精品久久久久中文字幕二区 | 丁香色综合 | 97超碰国产精品女人人人爽 | 日韩中文字幕免费视频 | 色九九视频 | 欧美,日韩 | 久久精品久久久久 | 日韩高清免费无专码区 | 色婷婷在线播放 | 成人黄色小说视频 | 亚洲资源在线 | 国产高清无线码2021 | 九九九毛片 | 午夜一级免费电影 | 国产精品视频你懂的 | 韩日视频在线 | 国产在线观看a | 欧美精品久久天天躁 | 97日日| 久久久久久久国产精品 | 成人久久久久久久久久 | 99久久精品午夜一区二区小说 | 91看片网址| 久久久久久久久久久久久久av | 99精品免费在线 | 国产黄大片在线观看 | 亚洲第一香蕉视频 | 黄色小网站在线观看 | 欧美一级特黄高清视频 | 久久综合色8888 | 日韩电影在线观看一区 | www.黄色网.com | 国产精品 亚洲精品 | 免费av高清 | 久久激情日本aⅴ | 久久精品视频网站 | 亚洲涩涩网| 91看片一区二区三区 | 丁五月婷婷 | 在线观看日韩精品 | 在线观看麻豆av | 在线观看国产日韩欧美 | 中文字幕电影网 | 日日爱av | 97av在线视频免费播放 | 天天射天天干天天操 | 99色在线视频 | 91丨porny丨九色 | 97超碰人人 | 在线免费黄色av | 日本性动态图 | 日韩av电影中文字幕在线观看 | 99国产精品 | 国产成人久久av977小说 | 日韩成人精品一区二区 | avwww在线观看 | 欧美日韩在线视频观看 | 久久精品男人的天堂 | 亚洲精品日韩在线观看 | 午夜电影中文字幕 | 久久久久久毛片 | 亚洲小视频在线 | 美女视频免费精品 | 最新av在线免费观看 | 在线免费试看 | 99久久久久久久久 | 天天色天天干天天 | 亚洲毛片在线观看. | 欧美激情精品久久久久久免费印度 | 在线观看91av | 91精品一区二区三区蜜臀 | 国产精品高清av | 久久99精品久久久久蜜臀 | 婷婷激情综合 | 久久视频6 | 成人h在线观看 | 天天操天天舔天天干 | 99九九热只有国产精品 | 91av资源网 | 国产中文字幕视频在线观看 | 91看片在线播放 | 久久久久久高潮国产精品视 | 99精品视频在线观看视频 | 久草视频在线新免费 | 亚洲国产美女久久久久 | 国产精久久久久久妇女av | av电影在线播放 | 麻豆国产视频 | 在线观看成人av | 天天操狠狠操夜夜操 | 久久久久麻豆 | 亚洲美女久久 | 一区二区不卡 | 狠狠干天天操 | 日本99精品 | 91成人在线视频 | 国产在线播放一区 | 日批视频在线观看免费 | 亚洲精品啊啊啊 | 不卡的av在线播放 | 精品久久一 | 久久er99热精品一区二区 | 中文字幕乱视频 | 日韩免费一区 | 欧美午夜a | 欧美一级专区免费大片 | 亚洲 欧美变态 另类 综合 | 日韩理论在线视频 | 国产原创在线视频 | 亚洲最大激情中文字幕 | 欧美aa级 | 91福利小视频| 亚洲经典视频在线观看 | 91丨九色丨蝌蚪丰满 | 久久艹人人 | 国产精品久久久久久爽爽爽 | a视频在线播放 | 亚州激情视频 | av在线免费网站 | 日韩在观看线 | 欧美一级在线看 | 亚洲精品动漫久久久久 | 高清一区二区三区av | 国产在线不卡精品 | 久久免费精品一区二区三区 | 色窝资源| 久久九九免费视频 | 欧美91视频| 99精品视频在线观看免费 | 亚洲激情 欧美激情 | 国产精品美女网站 | 久久久婷 | 四川bbb搡bbb爽爽视频 | 一区二区久久久久 | 免费三及片 | 精品国产aⅴ麻豆 | 奇米网777 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线观看www. | 成人小视频在线观看免费 | 国产福利免费在线观看 | 色婷婷激情四射 | 911亚洲精品第一 | 亚洲狠狠 | 黄色一级大片在线免费看国产一 | 日韩三级成人 | 国产九九热视频 | 四虎成人精品永久免费av九九 | 99免费在线播放99久久免费 | 亚洲精品成人网 | 伊人色综合久久天天网 | 国产极品尤物在线 | 欧美孕妇与黑人孕交 | 九九免费精品视频在线观看 | 精品综合久久 | 国产日产高清dvd碟片 | 国产一区二区在线视频观看 | 精品免费在线视频 | 夜夜婷婷| 国产精品久久久久永久免费看 | 国产一区视频在线观看免费 | 日韩啪啪小视频 | 麻豆一精品传二传媒短视频 | 日韩精品一区二区在线 | 91精品国产麻豆 | 天堂av网站 | 在线看成人 | 日韩在线中文字幕视频 | 激情久久婷婷 | 天天爽天天搞 | 在线日本看片免费人成视久网 | 日本精品视频在线观看 | 97操操| 色偷偷网站视频 | 国产精品久久久久一区二区国产 | 91精品在线免费观看 | 99资源网| 美女黄网久久 | 日韩视频精品在线 | 久久精品国产精品亚洲 | 美女网站视频色 | 91成人免费电影 | 日韩在线免费不卡 | 2023年中文无字幕文字 | 成人在线视| 91在线porny国产在线看 | 97精品国自产拍在线观看 | 国产日韩欧美综合在线 | 最近中文字幕视频网 | www.com操| 天天色天天射天天操 | 亚洲视频精品在线 | 日韩在线高清 | 日韩高清网站 | 四虎伊人 | 成年人在线看视频 | 日韩四虎 | 成人全视频免费观看在线看 | 欧美一区影院 | 精品国产乱码久久久久久久 | 黄a在线| 区一区二区三在线观看 | 精品影院一区二区久久久 | 日本成人中文字幕在线观看 | 亚洲专区路线二 | 欧美最新大片在线看 | 久草电影免费在线观看 | 精久久久久 | 欧美一级久久 | 麻豆综合网 | 高清视频一区二区三区 | 99高清视频有精品视频 | 91人人爽久久涩噜噜噜 | 99久久国产免费,99久久国产免费大片 | 久久精品2 | 五月天激情视频 | 日韩精品无 | 中文字幕亚洲高清 | 亚洲最新视频在线 | 日本午夜免费福利视频 | 国产中文字幕视频在线 | 欧美精品中文在线免费观看 | 久久久999免费视频 日韩网站在线 | 国产一级在线 | 欧美日韩视频免费 | 久久精品一区二区三区中文字幕 | av免费在线网 | 美女黄频在线观看 | 精品 激情| 国产精品亚 | www.夜夜操.com| 又黄又爽的视频在线观看网站 | 激情综合啪 | 91亚洲国产成人久久精品网站 | 久久九精品 | 亚洲精品国产精品国 | 精品久久久久久亚洲综合网 | 久久久久福利视频 | 日韩在线观看影院 | 国产99久 | 天天操天天爱天天干 | 久久黄视频 | 狠狠干成人综合网 | 丁五月婷婷| 久久久免费精品国产一区二区 | 国产手机视频精品 | 久久国产三级 | 亚洲天堂网站视频 | 黄色软件在线观看免费 | 久久免费视频网 | 亚州精品在线视频 | 免费网址在线播放 | 欧美日韩二区在线 | 中文国产在线观看 | 西西人体4444www高清视频 | 最新午夜 | 亚洲精品动漫在线 | 欧美在线18| 成人午夜影院在线观看 | 91亚洲激情| 亚洲狠狠丁香婷婷综合久久久 | 最近日本mv字幕免费观看 | av日韩av | 国产在线观看午夜 | 伊人天天狠天天添日日拍 | 91探花系列在线播放 | 欧美大片第1页 | 天天草天天干天天 | 狠狠色狠狠色合久久伊人 | 亚洲欧美怡红院 | 久久九九国产精品 | 日韩电影中文,亚洲精品乱码 | 青草草在线视频 | 久久黄色免费视频 | 久久天天躁狠狠躁夜夜不卡公司 | 麻豆91视频| 999成人国产 | 国产在线专区 | 国产免费叼嘿网站免费 | 狠狠狠色| 国产亚洲视频在线观看 | 免费在线国产精品 | 亚洲国产中文字幕在线视频综合 | 91成人免费视频 | 亚洲午夜av| 久久久久久国产精品美女 | 日韩伦理片一区二区三区 | 欧美男男激情videos | 亚洲在线精品 | 色欧美成人精品a∨在线观看 | 天天爽天天做 | 亚洲欧美精品一区二区 | 久久精品国产亚洲a | 亚洲天堂网视频在线观看 | 中文字幕视频免费观看 | 天天操操 | 91成人精品 | 国产97色| 精品欧美小视频在线观看 | 久草在线播放视频 | 国产视频久久久久 | 欧美一进一出抽搐大尺度视频 | 伊在线视频 | 91精品国产成 | 久久视频网 | 欧美日韩在线观看一区二区 | 欧美日韩免费一区 | 激情欧美在线观看 | 久久亚洲福利视频 | 久久久国产一区二区三区 | 精品国产乱码久久久久久久 | 日本中文一级片 | 日韩久久久久久久久久久久 | 久久色视频 | 很污的网站 | 国产97在线观看 | 青青看片 | 九九精品在线观看 | 中文字幕一区二区三区视频 | 国产偷v国产偷∨精品视频 在线草 | 久久99精品久久久久久三级 | 久久综合久久鬼 | 中文字幕之中文字幕 | 啪嗒啪嗒免费观看完整版 | 午夜av电影院 | 干狠狠 | 特级黄色片免费看 | 人人干干人人 | 成人免费在线视频 | 不卡视频在线 | 国产亚洲精品女人久久久久久 | 91精品国产一区二区在线观看 | 国产视频在线一区二区 | 特级片免费看 | 久久色中文字幕 | 天天操天天操一操 | 国产亚洲小视频 | 欧洲精品久久久久毛片完整版 | 天天干天天操天天干 | 国产69精品久久久久99 | 狠狠色丁香婷婷综合视频 | 91在线你懂的 | 日本三级全黄少妇三2023 | 日本免费一二三区 | 免费的国产精品 | 久久久久久久久久久黄色 | 亚洲电影久久 | 国产精品一区二区免费视频 | 国产精华国产精品 | 久久久久久久久久久黄色 | 国产91精品一区二区 | 2019中文在线观看 | 久久精品国产精品亚洲精品 | 成年人在线看片 | 久久亚洲私人国产精品 | 国产黄视频在线观看 | 一区二区三区高清在线 | 免费碰碰 | 五月婷婷色 | 狠狠色丁香婷婷综合久小说久 | 精品欧美在线视频 | 成人在线观看网址 | 亚洲最新av在线网址 | 成人av免费播放 | 亚洲精品一区二区三区四区高清 | 精品久久久久久久久久国产 | 亚洲三级国产 | 激情视频国产 | 久久久久福利视频 | 9色在线视频 | 激情偷乱人伦小说视频在线观看 | 国产九九精品 | 美女视频久久久 | 成人免费在线观看入口 | 久久99精品国产麻豆婷婷 | 伊人久久国产 | 国产一区二区三区在线免费观看 | 久久综合五月 | 97超碰人人澡人人爱学生 | 亚洲国产中文字幕在线观看 | 亚洲美女在线一区 | 国产精品2019 | 麻豆精品视频在线观看免费 | 国产免费高清视频 | 日韩理论电影网 | 人人玩人人添人人澡超碰 | 久久国产一区二区 | 香蕉在线视频播放网站 | 精品二区视频 | 中文字幕人成乱码在线观看 | 国产免费视频一区二区裸体 | 婷婷在线免费 | 久插视频| 精品国产乱码久久久久久久 | 波多野结衣亚洲一区二区 | 日韩国产欧美在线视频 | 99九九视频 | 在线免费观看av网站 | 国产视频一区精品 | 免费视频久久久久 | 国产精品久久久久久久久久ktv | 91麻豆精品国产午夜天堂 | 超碰电影在线观看 | 九九精品在线观看 | 婷婷伊人网 | 亚洲精品视频在线观看免费视频 | 日本电影久久 | 在线韩国电影免费观影完整版 | 亚洲最新在线视频 | 欧美日韩二区在线 | 国产人成免费视频 | 欧美日韩精品免费观看视频 | 97精品国产97久久久久久久久久久久 | 亚洲天堂社区 | 国内成人精品2018免费看 | 欧美精品乱码99久久影院 | 国产精品自产拍在线观看网站 | 国产精品一区二区三区在线看 | 久久一区国产 | 日批网站免费观看 | 亚洲国产影院 | 西西人体www444 | www操操操 | 亚洲精品乱码久久久久久久久久 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产精品手机视频 | 国产精久久久久久妇女av | 亚洲天天在线 | 中文字幕在线有码 | 日韩二区三区在线 | 久草在线播放视频 | 国产不卡在线观看视频 | 麻豆mv在线观看 | 欧洲亚洲激情 | 日韩aa视频 | 亚洲一区二区天堂 | 欧美乱熟臀69xxxxxx | 免费观看第二部31集 | 97超碰人人在线 | 999ZYZ玖玖资源站永久 | 欧美色888| 国产精品久久久久久久妇 | 91在线产啪 | 蜜桃视频日韩 | 色全色在线资源网 | 久久国产剧场电影 | 亚洲欧洲精品一区 | 色狠狠综合| 在线不卡的av | 日韩精品免费一线在线观看 | 色综合久久综合中文综合网 | 日韩欧美99 | 国产精品24小时在线观看 | 久久久伦理 | 久久综合五月天婷婷伊人 | 日韩精品免费在线视频 | 超碰97人人干| 在线国产不卡 | 中文字幕在线观看av | 亚洲国产中文在线观看 | 婷婷综合视频 | 久草色在线观看 | 久久久久久国产一区二区三区 | 久草在线最新 | 久久精品一区二区三区国产主播 | av无限看| 免费观看国产精品 | 久久a热6 | 成人a视频在线观看 | 九九热re | 国产免费一区二区三区网站免费 | 亚洲一区二区麻豆 | 日日碰狠狠添天天爽超碰97久久 | 99精品在线观看视频 | 激情五月播播久久久精品 | 在线精品亚洲一区二区 | 久久久福利影院 | 日韩精品资源 | 日韩大片在线免费观看 | 在线你懂的视频 | 中文字幕av专区 | 国产精品中文字幕在线播放 | 国产精品久久9 | 又黄又爽又无遮挡免费的网站 | 涩av在线 | 成人免费在线视频 | 久久看视频 | 久久久久久高潮国产精品视 | 香蕉在线播放 | 天天激情综合网 | 精品国产伦一区二区三区 | 亚洲资源在线观看 | 91精品国自产在线 | 国产免费xvideos视频入口 | 久久精品久久精品久久39 | 人人爱爱人人 | 香蕉影视app | 国产精品久久久久久久久久直播 | 精品在线免费视频 | 久久精品xxx| 亚洲精品视频免费在线 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产免费影院 | 深爱婷婷 | 一本—道久久a久久精品蜜桃 | 五月天激情综合 | 玖玖视频网 | 丁香六月欧美 | www天天干com | 97在线免费视频观看 | 日韩免费电影在线观看 | 亚洲精品玖玖玖av在线看 | 免费视频久久久久 | 大胆欧美gogo免费视频一二区 | 久久免费毛片视频 | 国产手机在线精品 | 最新av网站在线观看 | 欧美日韩国产区 | 91精品国产综合久久久久久久 | 欧美日韩在线观看一区二区 | 亚洲更新最快 | 亚洲国产日韩av | 日韩视频中文字幕在线观看 | 久久av免费观看 | 亚洲精品久久在线 | 成av在线| av不卡网站| 奇米网777 | 色综合久久久久网 | 久久久久久久久久久免费 | 国产视频一区精品 | 免费久久99精品国产婷婷六月 | 五月激情站 | 91在线一区二区 | 日韩美av在线 | 99热最新网址 | 国产中文在线视频 | 成年免费在线视频 | av短片在线 | 毛片基地黄久久久久久天堂 | 国产精品男女 | 免费h在线观看 | 三级动态视频在线观看 | 福利精品在线 | 国产区网址| 色婷婷国产精品 | 国际精品久久久 | 四虎影视国产精品免费久久 | 在线观看av大片 | 九九交易行官网 | 中文字幕国产精品一区二区 | 免费成人看片 | 日韩激情av在线 | 国产精品久久久免费 | 精品久久久成人 | 国产综合激情 | 久久久综合香蕉尹人综合网 | 亚洲高清av | 特级西西人体444是什么意思 | 日韩免费成人av | 97操操操 | 欧美另类xxxx | 欧美精品xxx | 国产亚洲精品久久久久动 | 日本99久久 | 91最新国产 | 日韩在线视频免费看 | 韩日在线一区 | 久久婷婷国产 | 日本超碰在线 | 色999在线 | 高清av免费看 | 国产伦精品一区二区三区免费 | 午夜视频色 | 婷婷5月激情5月 | 香蕉久草 | 狠狠干天天干 | 91精品国产99久久久久久久 | 欧美a级在线免费观看 | 色亚洲激情 | 国产美女视频 | 91精品欧美一区二区三区 | 四虎影视精品永久在线观看 | 中文字幕在线视频网站 | 国产精品资源在线观看 | 国产美女网站在线观看 | 人成午夜视频 | 片黄色毛片黄色毛片 | 精品 激情 | 久草视频网 | 日韩在线三区 | 久久午夜免费观看 | 国内精品久久久久久久久久清纯 | 精品国产123 | 国产精品二区在线 | 操高跟美女 | 综合在线色 | av一级片| 久久精品视频18 | 性色在线视频 | 人人爽人人爽人人爽学生一级 | 精品国产电影一区二区 | 日韩黄色一区 | 99久久99久久精品国产片果冰 | 国产中文字幕一区二区 | 91精品国产乱码久久桃 | 色综合久久88色综合天天人守婷 | 婷婷色在线播放 | 国产日本在线播放 | 99色免费 | 久久久人 | 中文字幕成人在线 | 伊人影院99 | 久久精品日本啪啪涩涩 | 五月天丁香亚洲 | 欧美日韩高清免费 | 日本韩国中文字幕 | 久久99国产精品免费网站 | 菠萝菠萝在线精品视频 | 久久久久久久影院 | 黄色一级免费电影 | 国产精品久久久久久吹潮天美传媒 | 国产伦精品一区二区三区照片91 | 中文字幕丝袜美腿 | 97在线影院 | 中文字幕中文 | 黄色一级网 | 操操操日日日干干干 | 免费视频91蜜桃 | 欧美日韩一区二区在线观看 | 夜夜躁狠狠躁日日躁视频黑人 | 欧美日韩国产在线一区 | 欧美一级乱黄 | 99视频免费观看 | 综合中文字幕 | 午夜av电影 | 国产xx在线 | 制服丝袜成人在线 | 精品国产乱码久久久久久三级人 | 亚洲午夜在线视频 | 亚洲亚洲精品在线观看 | 精品一区二区亚洲 | 91 在线视频播放 | 国产成人99av超碰超爽 | 亚洲精品资源在线 | 在线免费观看黄色大片 | 首页中文字幕 | 天天要夜夜操 | 中文字幕无吗 | 黄色午夜 | 久久91久久久久麻豆精品 | 国产成人333kkk | 日韩色视频在线观看 | 亚洲综合在线五月 | 国产精品日韩精品 | 色婷婷www| 中文av在线天堂 | 国内精品久久久久久 | 精品国产一区二区三区久久久蜜月 | 成年人黄色av | 色综合久久久网 | 色视频国产直接看 | 99综合电影在线视频 | 亚洲国产电影在线观看 | 久要激情网 | 久久久久久久久爱 | av电影免费在线看 | 精品一区二区精品 | 97在线视频免费 | 亚洲色图27p| 一级一片免费观看 | 日日操操操 | 免费视频a| 黄色福利视频网站 | 国产最新在线观看 | 天无日天天操天天干 | 日韩电影久久久 | 日韩欧美在线不卡 | 激情综合色综合久久综合 | 国产精品日韩久久久久 | 国产专区免费 | 四虎国产精品免费观看视频优播 | 亚洲免费激情 | 超碰97在线资源 | 免费福利在线 | 一区二区电影在线观看 | 狠狠色丁香婷婷综合久小说久 | 五月婷婷激情网 | 亚洲亚洲精品在线观看 | 久久网页| 国产精品午夜久久久久久99热 | 国产日韩在线播放 | 免费a级毛片在线看 | 五月婷在线 | 成人av在线影视 | 亚洲成av人片一区二区梦乃 | 狠狠婷婷 | 亚洲开心色| 日韩欧美精品在线观看视频 | 超碰人人舔 | 黄污污网站 | 国产一区二区综合 | 综合网天天 | 国产精品一区二区在线播放 | 天堂久久电影网 | 日韩深夜在线观看 | 手机看片久久 | 色视频网址 | 91视频下载 | 免费看成人 | 日批网站免费观看 | 中文字幕在线免费看线人 | 成人av在线资源 | 一性一交视频 | 黄色av网站在线观看免费 | 黄色av大片| 欧美日韩国产精品久久 | 99精彩视频 | 日本中文不卡 | 成人在线视频观看 | 999久久久国产精品 高清av免费观看 | 夜夜视频资源 | 亚洲精品动漫成人3d无尽在线 | 香蕉视频最新网址 | 91亚洲国产成人久久精品网站 | 免费日韩三级 | 在线视频 一区二区 | 久久人人爽爽人人爽人人片av | 亚洲伊人av | 午夜三级大片 | 国产99区| 亚洲精品国产精品99久久 | 婷婷香蕉| 久久免费精品一区二区三区 | 国产日韩精品一区二区三区在线 | 久草资源在线 | 日韩大片免费在线观看 | 日韩av片免费在线观看 | 欧美午夜精品久久久久 | 色视频在线 | 成人黄色在线 | 国产精品久久久久9999 | 在线免费黄 | 亚洲精品一区二区三区在线观看 | 国产电影黄色av | 亚洲天天干 | 久久精品中文字幕一区二区三区 | 91试看 | 亚洲国产三级在线 | 日韩羞羞 | 在线免费黄色毛片 | 国产香蕉视频在线播放 | 91激情视频在线播放 | 欧洲精品在线视频 | 久草爱 | 国产精品自在线拍国产 | 国产生活一级片 | 久草在线视频在线 | 日韩在线观看一区二区三区 | 又黄又爽又刺激视频 | 99精品福利 | 欧美性生活小视频 | 亚洲免费一级电影 | 天天综合91 | 国产精品99久久久久久久久 | 99av国产精品欲麻豆 | 人人爱人人爽 | 中文资源在线观看 | 欧美日韩视频一区二区三区 | 在线免费av播放 | 色综合久久综合中文综合网 | 日韩欧美高清一区二区三区 | 最近中文字幕大全中文字幕免费 | 麻豆影视在线观看 | 在线不卡视频 | 18久久久久 | 69国产精品视频 | 丁香婷婷激情啪啪 | 久久成人免费视频 | 久久亚洲欧美 | 99视频播放 | 91成品视频 | 日韩三级视频在线观看 | 免费高清影视 | 精品国产一区二区在线 | 波多野结衣精品在线 | 久久电影中文字幕视频 | 亚洲aaa级 | 精品久久久久久综合日本 | 久草视频免费看 | 黄色大片日本免费大片 | 日韩性色 | 国产一区二区在线免费视频 | 97国产大学生情侣酒店的特点 | 免费69视频| 国产电影一区二区三区四区 | 久久久久久99精品 | 激情五月五月婷婷 | 在线成人一区二区 | 婷婷丁香国产 | 伊人天天综合 | 天天操天天操天天爽 | 顶级bbw搡bbbb搡bbbb | 久久九九精品久久 | 天天五月天色 | 69精品在线观看 | 免费在线观看视频一区 | 国产成人精品一区二区三区 | 国产999精品久久久久久绿帽 | 日韩欧美高清视频在线观看 | 色婷婷狠狠18 | 人人插人人爱 | 香蕉视频久久 | 免费一级特黄录像 | 一级黄色视屏 | 久久久国产精品一区二区中文 | 亚洲91精品| 激情综合国产 | 国产美女视频免费观看的网站 | 国内免费久久久久久久久久久 | 日日夜夜亚洲 | 日韩大片免费在线观看 | 国产精品va在线 | 免费观看一级 | 午夜 免费| 日韩成人精品一区二区 | 婷婷在线免费观看 | 国产精品一区二区三区在线免费观看 | 日本黄色免费电影网站 | 91在线精品秘密一区二区 | 一区二区久久 | 亚洲一级片在线观看 | 在线观看久久 | 国产理论片在线观看 | 色综合色综合久久综合频道88 |