锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一卡2卡3卡4卡5卡6卡,亚洲欧美日韩中文字幕一区二区三区 ,亚洲中文字幕久久久一区http://m.tkk7.com/Reg/category/45435.htmlzh-cnThu, 28 Jun 2012 10:43:42 GMTThu, 28 Jun 2012 10:43:42 GMT60緗戠粶綺劇伒(IP鍦板潃鍒囨崲鍣?v2.0.0.3 final <font color=red>闄凙U3婧愮爜</font>錛堟洿鏂幫級http://m.tkk7.com/Reg/archive/2012/06/19/381088.html鑹炬嘗鑹炬嘗Tue, 19 Jun 2012 05:05:00 GMThttp://m.tkk7.com/Reg/archive/2012/06/19/381088.htmlhttp://m.tkk7.com/Reg/comments/381088.htmlhttp://m.tkk7.com/Reg/archive/2012/06/19/381088.html#Feedback0http://m.tkk7.com/Reg/comments/commentRss/381088.htmlhttp://m.tkk7.com/Reg/services/trackbacks/381088.html緗戠粶綺劇伒 v2.0.0.3
杞歡璇存槑錛氶傚悎澶氱綉緇滃姙鍏嬌鐢紝紕板埌鏉杞彁紺猴紝璇峰厑璁擱氳繃錛屽360
搴旂敤騫沖彴錛?a class="linkwin7" >Win7/Vista/WinXP/
杞歡澶у皬錛?96 KB
緙栧啓璇█錛欰U3
浣滆呴偖綆憋細1015208770@163.com
涓嬭澆鍦板潃1錛?/strike>http://m.tkk7.com/Files/Reg/NetworkSpirit.rar(鍐呴儴鍑芥暟璋冪敤鏈夋椂鍊欏嚭鐜頒笉姝e父鐨勯棶棰?
涓嬭澆鍦板潃2錛?a href="http://m.tkk7.com/Files/Reg/NetworkSpirit.rar">http://m.tkk7.com/Files/Reg/NetworkSpirit.zip(榪欎釜鏄?.0.0.4鐗堟湰錛屾洿鏂頒竴涓増鏈彿錛屼慨澶嶄笂涓増鏈唴閮ㄥ嚱鏁拌皟鐢ㄩ棶棰?
婧愮爜鍦板潃1錛?a href="http://m.tkk7.com/Files/Reg/NetworkSpirit(code).rar">http://m.tkk7.com/Files/Reg/NetworkSpirit(code).rar(2.0.0.3婧愮爜)

MD5媯嫻嬶細
鏂囦歡鐗堟湰: 2.0.0.3
淇敼鏃墮棿: 2012-06-19, 12:34:44
MD5: 09CBAE1D6436C4EAE867AB802140E26F
SHA1: 4B2DA60F609948A46989C417E44C17515B8FAA9B
CRC32: D3A9D77E

鏇存柊璇存槑錛?br />1.婧愪唬鐮侀噸鏋?br />2.鍏ㄦ柊UI
3.姝e紡鏇村悕涓虹綉緇滅簿鐏?IP鍦板潃鍒囨崲鍣?

鍔熻兘璇存槑錛?br />1.鏀寔澶氭ā寮忓垏鎹?br />2.鑷姩灞忚斀VMware铏氭嫙緗戝崱璁劇疆
3.鑷姩鍒ゆ柇緗戠嚎鏄惁宸茶繛鎺?br />
杞歡鎴浘錛?br />



鑹炬嘗 2012-06-19 13:05 鍙戣〃璇勮
]]>
<font color=red>advanced systemcare 5.2娉ㄥ唽鐮?lt;/font>http://m.tkk7.com/Reg/archive/2012/04/06/373431.html鑹炬嘗鑹炬嘗Fri, 06 Apr 2012 01:21:00 GMThttp://m.tkk7.com/Reg/archive/2012/04/06/373431.htmlhttp://m.tkk7.com/Reg/comments/373431.htmlhttp://m.tkk7.com/Reg/archive/2012/04/06/373431.html#Feedback2http://m.tkk7.com/Reg/comments/commentRss/373431.htmlhttp://m.tkk7.com/Reg/services/trackbacks/373431.html
涓嬈捐兘鍒嗘瀽緋葷粺鎬ц兘鐡墮鐨勪紭鍖栬蔣浠躲傚畠閫氳繃瀵圭郴緇熷叏鏂逛綅鐨勮瘖鏂紝鎵懼埌緋葷粺鎬ц兘鐨勭摱棰堟墍鍦紝鐒跺悗鏈夐拡瀵規у湴榪涜淇敼銆佷紭鍖栥傛澶栧畠榪樺叿鏈夐棿璋嶈蔣浠跺拰鎭舵剰杞歡鎵弿娓呴櫎鍔熻兘錛屼篃鑳藉皢浣犵殑闅愮淇℃伅浠庣數鑴戜腑鎶歸櫎銆傞拡瀵逛釜浜哄厤璐逛嬌鐢ㄣ侫dvanced
WindowsCare Personal宸叉洿鍚嶄負Advanced SystemCare銆?br />娉ㄥ唽鐮?
79818-39C67-6AD87-1B8D4

鑹炬嘗 2012-04-06 09:21 鍙戣〃璇勮
]]>
a different object with the same identifier value was already associated with the sessionhttp://m.tkk7.com/Reg/archive/2011/04/05/347655.html鑹炬嘗鑹炬嘗Tue, 05 Apr 2011 14:26:00 GMThttp://m.tkk7.com/Reg/archive/2011/04/05/347655.htmlhttp://m.tkk7.com/Reg/comments/347655.htmlhttp://m.tkk7.com/Reg/archive/2011/04/05/347655.html#Feedback0http://m.tkk7.com/Reg/comments/commentRss/347655.htmlhttp://m.tkk7.com/Reg/services/trackbacks/347655.html榪欎釜閿欒鎴戜竴鍏遍亣鍒拌繃涓ゆ錛屼竴鐩存病鏈夋壘鍒板緢濂界殑瑙e喅鏂規錛岃繖涓敊璇駭鐢熷師鍥犵浉淇″ぇ瀹墮兘鐭ラ亾錛屽洜涓哄湪hibernate涓悓涓涓猻ession閲岄潰鏈変簡涓や釜鐩稿悓鏍囪瘑浣嗘槸鏄笉鍚屽疄浣?
涓寮濮嬫寜緗戜笂璇寸殑鐢╯ession.merge(Object)鎶ヤ簡涓涓敊錛屽彲鑳芥槸娌℃湁鐢ㄥソ錛屾敼鐢?nbsp;session.clear(); session.update(user);榪欐牱灝監K浜?
鏂規硶涓猴細

package org.springframework.orm.hibernate3.support;

    
public void modifyByMerge(User user) {
        Session session 
= getHibernateTemplate().getSessionFactory().
                          getCurrentSession();
        session.clear();
        session.update(user);
    }

欏圭洰鐢ㄧ殑鏄痵pring 
+ hibernate鎵浠ュ緱鐢╣etHibernateTemplate().getSessionFactory().getCurrentSession();寰楀綋鍓峉ession



鑹炬嘗 2011-04-05 22:26 鍙戣〃璇勮
]]>
鏁版嵁搴撴湇鍔$鐞嗗伐鍏?V2.0.0.1(鍘熷垱錛屾湜澶у鎷嶇爾)http://m.tkk7.com/Reg/archive/2011/03/30/347285.html鑹炬嘗鑹炬嘗Wed, 30 Mar 2011 07:23:00 GMThttp://m.tkk7.com/Reg/archive/2011/03/30/347285.htmlhttp://m.tkk7.com/Reg/comments/347285.htmlhttp://m.tkk7.com/Reg/archive/2011/03/30/347285.html#Feedback1http://m.tkk7.com/Reg/comments/commentRss/347285.htmlhttp://m.tkk7.com/Reg/services/trackbacks/347285.html鏁版嵁搴撴湇鍔$鐞嗗伐鍏?nbsp;V2.0.0.1
鍒涘涔嬪垵:鍦ㄥ紑鍙戣繃紼嬩腑錛岀儲浜庢瘡嬈″紑鏈哄悗閮借鐢ㄥ懡浠ゆ墦寮servers.msc鍚姩鏈嶅姟錛屾垨鑰呮妸瑕佸惎鍔ㄧ殑鏈嶅姟鍐欐垚涓涓狟AT 鏂囦歡榪愯鏈嶅姟銆傛垜鏈夌偣涓嶅お鍠滄榛戝拷蹇界殑紿楀彛錛屾墍浠ヤ簡鐢ˋU3鍐欎簡涓皬紼嬪簭鐢ㄦ潵綆$悊榪欎簺鏈嶅姟銆?br /> 鍔熻兘錛?br /> 1.鏀寔oracle,sqlserver,mysql鏁版嵁搴撴湇鍔?br /> 2.鏀寔璁劇疆鏈嶅姟鍚姩妯″紡
3.鏀寔鎵歸噺鍚姩鏈嶅姟
4.鏀寔Windows(XP,VISTA,2008,7),鍏朵粬Windows緋葷粺鐢變簬鏃墮棿闂娌℃潵寰楁ユ祴璇曘?br /> 娉ㄦ剰:
1.oracle鐨勭洃鍚櫒蹇呴渶閰嶇疆姝g‘(涓嬬増灝嗘敼榪涜繖涓棶棰?

鏈湴涓嬭澆:http://m.tkk7.com/Files/Reg/鏁版嵁搴撴湇鍔$鐞嗗伐鍏?rar
鍒嗘祦鍦板潃:http://down.51cto.com/data/184705

鑹炬嘗 2011-03-30 15:23 鍙戣〃璇勮
]]>
璁╁ぇ鑳屾櫙鍥劇墖涓嶅獎鍝嶇綉绔欏姞杞介熷害http://m.tkk7.com/Reg/archive/2010/08/30/330279.html鑹炬嘗鑹炬嘗Mon, 30 Aug 2010 06:25:00 GMThttp://m.tkk7.com/Reg/archive/2010/08/30/330279.htmlhttp://m.tkk7.com/Reg/comments/330279.htmlhttp://m.tkk7.com/Reg/archive/2010/08/30/330279.html#Feedback1http://m.tkk7.com/Reg/comments/commentRss/330279.htmlhttp://m.tkk7.com/Reg/services/trackbacks/330279.html<img src="/a.php?url=楂樿川閲忓ぇ鍥劇墖.jpg" width="88" height="98" hspace="5" vspace="5" border="0" lowsrc="/a.php?url=浣庤川閲忓浘鐗?jpg" />

鑹炬嘗 2010-08-30 14:25 鍙戣〃璇勮
]]>
鍥劇墖涓婁紶騫剁敓鎴愮緝鐣ュ浘 http://m.tkk7.com/Reg/archive/2010/08/29/330183.html鑹炬嘗鑹炬嘗Sun, 29 Aug 2010 08:11:00 GMThttp://m.tkk7.com/Reg/archive/2010/08/29/330183.htmlhttp://m.tkk7.com/Reg/comments/330183.htmlhttp://m.tkk7.com/Reg/archive/2010/08/29/330183.html#Feedback0http://m.tkk7.com/Reg/comments/commentRss/330183.htmlhttp://m.tkk7.com/Reg/services/trackbacks/330183.html1.璐熻矗澶勭悊鍥懼鐨刡ean:
//---------------------------------------------------------------
package bean;

import javax.imageio.ImageIO;
import javax.imageio.IIOException;
import java.awt.image.BufferedImage;
import java.awt.Image;
import java.io.File;
import java.awt.image.AffineTransformOp;
import java.awt.geom.AffineTransform;

public class convertImage {


private String fileInput ;
private String fileOutput ;

public convertImage()
{

}
public String getFileInput() {
return fileInput;
}
public 
void setFileInput(String fileInput) {
this.fileInput = fileInput;
}
public String getFileOutput() {
return fileOutput;
}
public 
void setFileOutput(String fileOutput) {
this.fileOutput = fileOutput;
}

public 
void convert()
{
try {
File fi 
= new File(fileInput); //澶у浘鏂囦歡
File fo = new File(fileOutput); //灝嗚杞崲鍑虹殑灝忓浘鏂囦歡
int nw = 150//瀹氫箟瀹戒負150
int nh = 100//瀹氫箟楂樹負100
AffineTransform transform = new AffineTransform();
BufferedImage bis 
= ImageIO.read(fi);
int w = bis.getWidth();
int h = bis.getHeight();

double sx = (double)nw/w;
double sy = (double)nh/h ;
//鍒ゆ柇鏄í鍚戝浘褰㈣繕鏄潥鍚戝浘褰?/span>
if ( w > h ) //妯悜鍥懼艦
{
if ( (int)(sx * h ) > nh ) //姣旇緝楂樹笉絎﹀悎楂樺害瑕佹眰,灝辨寜楂樺害姣斾緥
{

 

sx 
= sy ;
nw 
= (int)(w*sx) ;
}
else
{
sy 
= sx ;
nh 
= (int)( h*sy) ;
}
}
else
{
if ( (int)(sy * w ) > nw ) 
{
sy 
= sx ;
nh 
= (int)(h * sy ) ;
}
else
{
sx 
= sy ;
nw 
= (int)(w*sx) ;
}
}

transform.setToScale(sx,sy);
AffineTransformOp ato 
= new AffineTransformOp(transform,null);
BufferedImage bid 
= new BufferedImage(nw,nh,BufferedImage.TYPE_3BYTE_BGR);
ato.filter(bis,bid);
ImageIO.write(bid,
"jpeg",fo);

catch(Exception e) 
{
e.printStackTrace();
}

}

2.涓婁紶鏂囦歡鐨剈pload.jsp
--------------------------------------------------------------------
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>My JSP 'upload.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>

<body>
<html:form action="/upload.do" enctype="multipart/form-data">
<html:file property="theFileone"/>
<html:submit/>
</html:form>

</body>
</html>
//------------------------------------------------------------------------
3.鏄劇ず鎴愬姛欏甸潰

//------------------------------------------------------------------------
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=GB2312" %>
<%
String path 
= request.getContextPath();
String basePath 
= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'display.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>

<body>
涓婁紶鎴愬姛. 
<br>
</body>
</html>
//---------------------------------------------------------------------
4.Action 
//Created by MyEclipse Struts
//
 XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.1.1/xslt/JavaClass.xsl

package com.mk.struts.action;

import java.io.
*;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

import com.mk.struts.form.UploadForm;

import bean.convertImage;

/*
* MyEclipse Struts
* Creation date: 03-28-2006

* XDoclet definition:
* @struts.action validate="true"
*/
public class UploadAction extends Action {

// --------------------------------------------------------- Instance Variables

// --------------------------------------------------------- Methods

/*
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {

// TODO Auto-generated method stub
String encoding = request.getCharacterEncoding() ;
if ( (encoding != null )&& (encoding.equalsIgnoreCase("uft-8")))
{
response.setContentType(
"text/html;charset=gb2312") ; //濡傛灉娌℃湁鎵懼畾緙栫爜錛岀紪鐮佹牸寮忚涓篻b2312 
}

UploadForm theForm 
= (UploadForm) form ;
FormFile fileone 
= theForm.getTheFileone() ; //鍙栧緱涓婁紶鐨勬枃浠跺悕

try
{
//寮濮嬩笂浼犳枃浠?/span>
String filePath = this.getServlet().getServletContext().getRealPath("/") ; //鍙栧緱褰撳墠璺緞
InputStream stream = fileone.getInputStream() ; //鎶婃枃浠惰鍏?/span>
ByteArrayOutputStream baos = new ByteArrayOutputStream() ;

/*
* 寤虹珛涓涓笂浼犳枃浠剁殑杈撳嚭嫻佸鏋滄槸linux緋葷粺璇鋒妸"\\" 鎹㈡垚 "/"
*/
OutputStream bos 
= new FileOutputStream(filePath + fileone.getFileName()) ;

request.setAttribute(
"fileName",filePath + "/" + fileone.getFileName() ) ;
int bytesRead = 0 ;
byte[] buffer = new byte[8192] ;
while( (bytesRead = stream.read(buffer,0,8192) ) != -1 )
{
bos.write(buffer,
0,bytesRead) ;
}

bos.close();
stream.close() ; 

//涓婁紶鏂囦歡瀹屾垚
String oldurl= filePath + fileone.getFileName() ;
String newurl
= filePath + "min_" + fileone.getFileName() ; //鏂扮殑緙╃暐鍥句繚瀛樺湴鍧

convertImage convert 
= new convertImage() ;
convert.setFileInput(oldurl) ;
convert.setFileOutput(newurl) ;
convert.convert() ;

}

catch(Exception e)
{
System.err.print(e) ;
}
return mapping.findForward("display");
}

}
鏉ユ簮:http://www.ideagrace.com/html/doc/2006/04/21/00776.html

鑹炬嘗 2010-08-29 16:11 鍙戣〃璇勮
]]>
濡備綍鍦ㄤ竴鍙版満鍣ㄤ笂鍚姩澶氫釜Tomcat http://m.tkk7.com/Reg/archive/2010/07/24/327020.html鑹炬嘗鑹炬嘗Sat, 24 Jul 2010 08:53:00 GMThttp://m.tkk7.com/Reg/archive/2010/07/24/327020.htmlhttp://m.tkk7.com/Reg/comments/327020.htmlhttp://m.tkk7.com/Reg/archive/2010/07/24/327020.html#Feedback0http://m.tkk7.com/Reg/comments/commentRss/327020.htmlhttp://m.tkk7.com/Reg/services/trackbacks/327020.html鍦ㄦ湁浜涘簲鐢ㄤ腑錛屾湁鏃墮渶瑕佸湪涓鍙版満鍣ㄤ笂鍚姩涓や釜鎴栧涓猅omcat錛屽Tomcat+Eclipse+Geoserver搴旂敤涓細

鏂規硶錛?br /> 1銆佷慨鏀筍erver.xml
 灝嗘墍鏈夋秹鍙婂埌绔彛鐨勬暟瀛楃殑棣栨暟瀛楀姞1錛屽叿浣撴儏鍐靛彲瑙嗛渶瑕佽屽畾錛屽彧瑕佽绔彛娌℃湁琚崰鐢ㄥ嵆鍙?br />  
 濡傦細
 
    
<!-- Define an AJP 1.3 Connector on port 8009 -->
    
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443"/>


    
<!-- An Engine represents the entry point (within Catalina) that processes
         every request.  The Engine implementation for Tomcat stand alone
         analyzes the HTTP headers included with the request, and passes them

2銆佷慨鏀筍tartup.bat

灝?nbsp;if not "%CATALINA_HOME%" == "" goto gotHome 璇彞娉ㄩ噴鎺夛紝
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%
rem if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%CURRENT_DIR% 


鑹炬嘗 2010-07-24 16:53 鍙戣〃璇勮
]]>
鏂板緩甯愬鎶ラ敊闂瑙e喅鏂規硶http://m.tkk7.com/Reg/archive/2010/07/11/325764.html鑹炬嘗鑹炬嘗Sat, 10 Jul 2010 19:40:00 GMThttp://m.tkk7.com/Reg/archive/2010/07/11/325764.htmlhttp://m.tkk7.com/Reg/comments/325764.htmlhttp://m.tkk7.com/Reg/archive/2010/07/11/325764.html#Feedback0http://m.tkk7.com/Reg/comments/commentRss/325764.htmlhttp://m.tkk7.com/Reg/services/trackbacks/325764.htmlsp_configure 'show advanced options',1
reconfigure
go
sp_configure 
'xp_cmdshell',1
reconfigure
go

鑹炬嘗 2010-07-11 03:40 鍙戣〃璇勮
]]>
JNI涔婥++璋冪敤Java綾?鈥斺?java.lang.Stringhttp://m.tkk7.com/Reg/archive/2009/11/18/302772.html鑹炬嘗鑹炬嘗Wed, 18 Nov 2009 03:01:00 GMThttp://m.tkk7.com/Reg/archive/2009/11/18/302772.htmlhttp://m.tkk7.com/Reg/comments/302772.htmlhttp://m.tkk7.com/Reg/archive/2009/11/18/302772.html#Feedback0http://m.tkk7.com/Reg/comments/commentRss/302772.htmlhttp://m.tkk7.com/Reg/services/trackbacks/302772.html鍘熸枃鍑鴻檿

JNI涔婥++璋冪敤Java綾?鈥斺?java.lang.String

    涓轟粈涔堣鐢–++璋冪敤Java綾伙紵寰堥毦鍥炵瓟錛屽啓鐫鏂囩珷鍙槸瑙夊緱JNI寰堟湁鎰忔濄備簬鏄紑濮嬬紪鍐欎竴孌典嬌鐢╒C++鍦╓indows緋葷粺閲岃皟鐢╦ava鐨凷tring綾伙紝鍦–++閲岃皟鐢⊿tring綾誨唴鐨勪竴浜涙柟娉曘?/p>

    JNI宸茬粡琚紑鍙戜簡寰堝騫達紝鑰屽湪鎴?騫村鐨凧ava緙栫▼鏃墮棿閲屼粠鏉ユ病鏈夋帴瑙﹁繃銆傜洿鍒版渶榪戠爺絀禞VM瀹炵幇鍘熺悊鎵嶆敞鎰忓埌JNI銆?JNI鏃ava Native Interface錛孨ative榪欎釜璇嶆垜瑙佽繃鎴戣涓烘渶鎭板綋鐨勭炕璇戝氨鏄師鐢熴傚師鐢熺殑鎰忔濆氨鏄潵鑷郴緇熻嚜宸辯殑錛屽師姹佸師鍛崇殑涓滆タ錛屼緥濡俉in32 API銆侸ava綾婚渶瑕佸湪铏氭嫙鏈轟笂榪愯錛屼篃灝變笉鏄師鐢熺殑錛屽悓鏍?NET Framework涔熶笉鏄師鐢熺殑銆侸NI涔熷氨鏄疛ava鍘熺敓鎺ュ彛銆傚叧浜嶫NI鐨勮鑼冿紝浠ュ強涓轟粈涔堣浣跨敤瀹冿紝瀹冭兘鍋氫簺浠涔堬紝閮藉湪http://java.sun.com/j2se/1.4.2/docs/guide/jni/spec/jniTOC.html閲岃榪扮潃銆?/p>

    JNI鏄鑼冿紝瀹冭瀹氫簡铏氭嫙鏈虹殑鎺ュ彛錛岃屾妸鍏蜂綋鐨勫疄鐜扮暀緇欏紑鍙戣呫?/p>

    JVM鐨勫疄鐜頒笉鏄敮涓鐨勶紝鐩墠瀛樺湪寰堝縐岼ava铏氭嫙鏈猴紝Sun Hotspot錛孖BM JDK錛岃繕鏈塇P鐨勶紝Kaffe絳夌瓑銆傛渶嫻佽鐨勫氨鏄疭un鐨凥otspot錛屾渶澶嶆潅鐨勫氨鏄疘BM JDK錛岃繖鏄疘BM鐨勪竴璐綔椋庛傛湰鏂囦笉璁ㄨJVM鐨勫疄鐜幫紝鍙叧娉↗NI銆傚鏋滄偍瀹夎浜哠un鐨凧DK錛屾偍灝辮兘鍦╗JAVA_HOME]\include鐩綍涓嬫壘鍒癹ni.h銆傝繖涓ご鏂囦歡灝辨槸铏氭嫙鏈虹殑鍞竴鎺ュ彛錛屼綘鍙互璋冪敤瀹冨0鏄庣殑鍑芥暟鍒涘緩涓涓狫VM銆?/p>

    鍦ㄨ鏄嶤++璋冪敤Java綾諱箣鍓嶏紝鎴戞兂鍏堟紨紺轟竴涓嬪鏋滅紪鍐橨ava Native Method銆?/p>

1錛庣紪鍐欏甫鏈塏ative鏂規硶鐨凧ava綾?/p>

package org.colimas.jni.test;

public class JniTest {

    static { System.loadLibrary("JniTestImpl"); }  //JVM璋冪敤JniTestImpl.dll

    public JniTest(){
    }

    //鍘熺敓鏂規硶
    public native void print(String str);

    /**
    * @param args
    */
    public static void main(String[] args) {
            JniTest test=new JniTest();
            test.print("hello JVM"); //璋冪敤鍘熺敓鏂規硶
    }
}

2錛庝嬌鐢╦avah鐢熸垚c璇█澶存枃浠躲?/p>

javah -jni org.colimas.jni.test.JniTest

鐩綍閲屽浜嗕竴涓猳rg_colimas_jni_test_JniTest.h鏂囦歡錛屾墦寮鏂囦歡錛屽唴瀹瑰涓?

/* DO NOT EDIT THIS FILE - it is machine generated */

#include <jni.h>

/* Header for class org_colimas_jni_test_JniTest */


#ifndef _Included_org_colimas_jni_test_JniTest
#define _Included_org_colimas_jni_test_JniTest
#ifdef __cplusplus

extern "C" {

#endif

/*
 * Class:     org_colimas_jni_test_JniTest
 * Method:    print
 * Signature: (Ljava/lang/String;)V
 */

JNIEXPORT void JNICALL Java_org_colimas_jni_test_JniTest_print
  (JNIEnv *, jobject, jstring);

#ifdef __cplusplus
}

#endif
#endif


鍏朵腑鐨凧ava_org_colimas_jni_test_JniTest_print灝辨槸JniTest綾婚噷闈㈢殑print鍘熺敓鏂規硶鐨凜璇█澹版槑銆?/p>

3錛庣紪鍐機浠g爜瀹炵幇鍘熺敓鏂規硶print

#include <jni.h>
#include "org_colimas_jni_test_JniTest.h" //javah鐢熸垚鐨勫ご鏂囦歡
#include <stdio.h>

JNIEXPORT void JNICALL Java_org_colimas_jni_test_JniTest_print
  (JNIEnv *env, jobject object,jstring str)
{
       //鑾峰緱瀛楃涓?br />        const char * txt=(*env)->GetStringUTFChars(env,str,0);
       printf("%s\n",txt); //鎵撳嵃鍒版帶鍒跺彴
       return;
}


鍙傛暟JNIEnv *env錛屾槸JNI閲屾渶閲嶈鐨勫彉閲忋侸ava.exe鍒涘緩JVM錛屼箣鍚嶫VM鐢熸垚涓涓猠nv錛岃env鐩稿綋浜嶫VM鍐呯殑Session錛屽彲浠ュ畬鎴愬垱寤篔ava瀵硅薄錛岃皟鐢ㄧ被鏂規硶錛岃幏寰楃被鐨勫睘鎬х瓑絳夈?/p>

鍦ㄨ繖閲宔nv灝嗘柟娉曠殑鍙傛暟Str浠嶫NI鐨刯string綾誨瀷杞崲涓哄父鏁癱har鏁扮粍銆?/p>

4錛庣紪璇?/p>

cl  /Ic:\j2sdk1.4.2_10\include /Ic:\j2sdk1.4.2_10\include\win32 /c  JniTestImpl.c

5錛庤繛鎺ヤ負DLL

link /dll JniTestImpl.obj

6錛庤緗甈ATH

set PATH=C:\MyProject\Colimas\CD\JNI\MyJNI;%PATH%

7錛庤繍琛?/p>

java org.colimas.jni.test.JniTest

榪斿洖緇撴灉

hello JVM

緇撴潫

    浠ヤ笂鏄疄鐜癑ava鍘熺敓鏂規硶鐨勫紑鍙戣繃紼嬶紝涓嬮潰榪涘叆姝i錛屼嬌鐢–++璋冪敤Java鐨刯ava.lang.String綾匯?/p>

1. Object綾誨嚭鍒涘緩JVM銆?/p>

浣跨敤Java綾諱箣鍓嶅繀欏昏鍒涘緩JVM鐜銆侸DK鐢眏ava.exe鏉ュ畬鎴愩傛湰鏂囨湁Object綾葷殑闈欐佹柟娉旴eginJVM鏉ュ垱寤猴紝鐢‥ndJVM鏉ュ叧闂?/p>

鍒涘緩JVM涔嬪悗浼氬湪鍒涘緩2涓彉閲忥紝鍒嗗埆鏄疛NIEnv* env鍜孞avaVM* jvm錛孞NIEnv涓婃枃宸茬粡璇存槑錛孞avaVM錛岄【鍚嶆濅箟錛屼唬琛↗ava铏氭嫙鏈猴紝鐢ㄥ畠鏉ュ叧闂璊VM銆?/p>

Object綾葷殑澶存枃浠?/p>

#include "jni.h"

class Object
{
public:
    static bool BeginJVM();
    static bool EndJVM();
    Object();
    virtual ~Object();

protected:
    static JNIEnv* env;
    static JavaVM* jvm;
};

object.cpp浠g爜

#include "stdafx.h"
#include "JavaClasses.h"
#include "Object.h"

Object::Object()
{}

Object::~Object()
{}

JNIEnv* Object::env=NULL;
JavaVM* Object::jvm=NULL;

//鍒涘緩JVM

bool Object::BeginJVM()
{

    JavaVMOption options[3];
    JavaVMInitArgs vm_args;

    //鍚勭鍙傛暟
    options[0].optionString="-Xmx128m";
    options[1].optionString="-Verbose:gc";
    options[2].optionString="-Djava.class.path=.";

    vm_args.version=JNI_VERSION_1_2;
    vm_args.options=options;
    vm_args.nOptions=3;

    //鍒涘緩JVM錛岃幏寰梛vm鍜宔nv
    int res = JNI_CreateJavaVM(&jvm,(void **)&env, &vm_args);
    return true;
}

bool Object::EndJVM()
{
    //鍏抽棴JVM
    jvm->DestroyJavaVM();
    return true;
}

2. C++鐨凷tring綾昏皟鐢╦ava.lang.String綾繪柟娉?/p>

緙栧啓C++鐗堢殑String綾伙紝璋冪敤java String綾繪柟娉曘傝皟鐢ㄧ殑鏂規硶濡備笅錛?/p>

    String  replaceAll(String regex, String replacement);

    boolean endsWith(String str);

    int indexOf(String str);

    int compareTo(String anotherString);

    char charAt(int i);

String鐨勫ご鏂囦歡:

class String  :public Object
{
public:
//涓庤璋冪敤鐨凧ava鏂規硶鍚嶄竴鑷淬?br />     const char * replaceAll(char *regex,char *replacement);

    bool endsWith(char * str);

    int indexOf(char * str);

    int compareTo(char *anotherString);

    char charAt(int i);

    String(char *str);

    virtual ~String();
};

瀹炵幇錛?/p>

#include "stdafx.h"
#include "String.h"
#include "jni.h"

using namespace std;

jclass clazz;    //鍏ㄥ眬鍙橀噺錛岀敤鏉ヤ紶閫抍lass
jobject object;  //鍏ㄥ眬鍙橀噺錛岀敤鏉ヤ紶閫抩bject
String::String(char *str)
{
    jstring jstr;

    if (Object::env ==NULL){
        cout << "JVM is not created" << endl;
        exit(-1);
    }

    //鑾峰緱java.lang.String綾?br />     clazz=Object::env->FindClass("java/lang/String");

    if (clazz ==0 ){
        cout << "Class is not found" << endl;
        exit(-1);
    }

    //鑾峰緱String(String str)鏋勯犱綋
    jmethodID mid= Object::env->GetMethodID(clazz,"<init>", "(Ljava/lang/String;)V");

    if (mid==0){
        cerr<< "GetMethodID Error for class" << endl;
        exit(-1);
    }

    //灝嗗瓧絎︿覆灝佽涓簀string銆?br />     jstr = Object::env->NewStringUTF(str);

    if (jstr == 0) {
        cerr << "Out of memory" <<endl;
        exit(-1);
    }

    cout << "invoking method" << endl;

    //鍒涘緩涓涓猨ava.lang.String瀵硅薄銆?br />     object=Object::env->NewObject(clazz,mid,jstr);
}

String::~String()
{}

char String::charAt(int i)
{
    if (Object::env ==NULL){
        cout << "JVM is not created" << endl;
        exit(-1);
    }

    if (clazz ==0 ){
        cout << "Class is not found" << endl;
        exit(-1);
    }

    if (object ==0 ){
        cout << "String object is not created" << endl;
        exit(-1);
    }

    jmethodID mid;

    //鑾峰緱charAt鏂規硶錛岋紙I錛塁琛ㄧず 鍙傛暟涓篿nt鍨嬶紝榪斿洖char鍨嬨傝緇嗗弬瑙丣NI瑙勮寖
    mid = Object::env->GetMethodID(clazz,"charAt", "(I)C");

    if (mid==0){
        cerr<< "GetMethodID Error for class" << endl;
        exit(-1);
    }

    jint ji=i;

    cout << "invoking method" << endl;

    //璋冪敤charAt
    jchar z = Object::env->CallCharMethod(object,mid,i);

    //榪斿洖緇撴灉銆?br />     return z;
}


int String::compareTo(char *anotherString)
{

    if (Object::env ==NULL){
        cout << "JVM is not created" << endl;
        exit(-1);
    }

    if (clazz ==0 ){
        cout << "Class is not found" << endl;
        exit(-1);
    }

    if (object ==0 ){
        cout << "String object is not created" << endl;
        exit(-1);
    }

    jmethodID mid;

    //(Ljava/lang/String;)I琛ㄧず鍙傛暟涓簀ava.lang.String錛岃繑鍥瀒nt
    mid= Object::env->GetMethodID(clazz,"compareTo", "(Ljava/lang/String;)I");

    if (mid==0){
        cerr<< "GetMethodID Error for class" << endl;
        exit(-1);
    }

    jstring jstr = Object::env->NewStringUTF(anotherString);
    cout << "invoking method" << endl;

    //璋冪敤鏂規硶
    jint z=Object::env->CallIntMethod(object,mid,jstr);

    //榪斿洖緇撴灉
    return z;
}


int String::indexOf(char *str)
{
    if (Object::env ==NULL){
        cout << "JVM is not created" << endl;
        exit(-1);
    }

    if (clazz ==0 ){
        cout << "Class is not found" << endl;
        exit(-1);
    }

    if (object ==0 ){
        cout << "String object is not created" << endl;
        exit(-1);
    }

    jmethodID mid;
    mid= Object::env->GetMethodID(clazz,"indexOf", "(Ljava/lang/String;)I");

    if (mid==0){
        cerr<< "GetMethodID Error for class" << endl;
        exit(-1);
    }

    jstring jstr = Object::env->NewStringUTF(str);
    cout << "invoking method" << endl;

    jint z=Object::env->CallIntMethod(object,mid,jstr);
    return z;
}


bool String::endsWith(char *str)
{

    if (Object::env ==NULL){
        cout << "JVM is not created" << endl;
        exit(-1);
    }

    if (clazz ==0 ){
        cout << "Class is not found" << endl;
        exit(-1);
    }

    if (object ==0 ){
        cout << "String object is not created" << endl;
        exit(-1);
    }

    jmethodID mid;
    mid= Object::env->GetMethodID(clazz,"endsWith", "(Ljava/lang/String;)Z");

    if (mid==0){
        cerr<< "GetMethodID Error for class" << endl;
        exit(-1);
    }

    jstring jstr = Object::env->NewStringUTF(str);
    cout << "invoking method" << endl;

    bool z = Object::env->CallBooleanMethod(object,mid,jstr);
    return z;
}


const char * String::replaceAll(char *regex, char *replacement)
{
    if (Object::env ==NULL){
        cout << "JVM is not created" << endl;
        exit(-1);
    }

    if (clazz ==0 ){
        cout << "Class is not found" << endl;
        exit(-1);
    }

    if (object ==0 ){
        cout << "String object is not created" << endl;
        exit(-1);
    }

    jmethodID mid;
    mid= Object::env->GetMethodID(clazz,"replaceAll", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;");

    if (mid==0){
        cerr<< "GetMethodID Error for class" << endl;
        exit(-1);
    }

    jvalue array[2];
    jstring jreg = Object::env->NewStringUTF(regex);
    jstring jstr = Object::env->NewStringUTF(replacement);

    array[0].l=jreg;
    array[1].l=jstr;

    cout << "invoking method" << endl;

    //浼犲叆鍙傛暟錛岃皟鐢╮eplaceAll鏂規硶
    jobject z=Object::env->CallObjectMethodA(object,mid,array);
    const char *result=Object::env->GetStringUTFChars((jstring)z, 0);

    return (const char *)result;
}

3錛庢祴璇?/p>

緙栧啓嫻嬭瘯浠g爜

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetCode = 0;

    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)){
        cerr << _T("Fatal Error: MFC initialization failed") << endl;
        nRetCode = 1;
    } else{
        //鍒涘緩JVM
        Object::BeginJVM();

        String test("hello");

        //璋冪敤replaceAll
        const char *result = test.replaceAll("l","z");

        //榪斿洖緇撴灉
        cout<< result <<endl;

        //鍏抽棴JVM
        Object::EndJVM();
    }
    return nRetCode;
}


4錛庤繍琛?/p>

緙栬瘧闇瑕?jni.h鍜宩vm.lib鏂囦歡銆?/p>

jni.h鍦╗JAVA_HOME]\include

jvm.lib鍦╗JAVA_HOME]\lib

榪愯闇瑕乯vm.dll

jvm.dll鍦╗JAVA_HOME]\ jre\bin\client

榪愯緇撴灉濡備笅錛?/p>

invoking method

invoking method

hezzo

Press any key to continue

灝界鏈枃鐨勪唬鐮佸緢鏈夋剰鎬濓紝浣嗘垜榪樻病鏈夋兂鍒版湁浠涔堜環鍊鹼紝浠ュ強搴旂敤鍒板疄闄呴」鐩腑鐨勭悊鐢便?/p>


鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛歨ttp://blog.csdn.net/onlymilan/archive/2006/07/20/947652.aspx



鑹炬嘗 2009-11-18 11:01 鍙戣〃璇勮
]]>
鐖剁獥浣撳拰瀛愮獥浣撲紶鍊?js+jquery)http://m.tkk7.com/Reg/archive/2009/11/15/302384.html鑹炬嘗鑹炬嘗Sat, 14 Nov 2009 16:29:00 GMThttp://m.tkk7.com/Reg/archive/2009/11/15/302384.htmlhttp://m.tkk7.com/Reg/comments/302384.htmlhttp://m.tkk7.com/Reg/archive/2009/11/15/302384.html#Feedback0http://m.tkk7.com/Reg/comments/commentRss/302384.htmlhttp://m.tkk7.com/Reg/services/trackbacks/302384.htmlValue.jsp

   <script type="text/javascript" language="javascript">
    $(function()
      {
       $('#btn1').click(function(){
       var show=window.showModalDialog('show.jsp');
    var temp1=pd(show.id);
    if(temp1){
     temp1.childNodes[3].innerHTML=parseInt(temp1.childNodes[3].innerHTML)+1;
    }else{
     var tr=$('<tr>');
     var td1=$('<td>').html(show.id).appendTo(tr);
     var td2=$('<td>').html(show.name).appendTo(tr);
     var td3=$('<td>').html(show.price).appendTo(tr);
     var td4=$('<td>').html(1).appendTo(tr);
     
     $('#tbody1').append(tr);
    }
       });
      }
    )
  

  
     function pd(value){
      var boq;
      var tbody=$('#tbody1 tr');
      for(var i=1;i<tbody.length;i++){
       if(tbody[i].childNodes[0].innerHTML==value){
        boq=tbody[i];
       }
      }
      return boq;
     } 
   </script>
  </head>
  <body>
   <table>
   <tbody id="tbody1">
    <tr >
     <td>搴忓彿</td>
     <td>鍚嶇О</td>
     <td>浠鋒牸</td>
     <td>鏁伴噺</td>
    </tr>
   </tbody>
  
   </table>
    <input id="btn1" type="button"  />
  </body>

Show.jsp  <script type="text/javascript">
   function dddd(){
    var e={id:'',name:'',price:''};
   //alert(event.srcElement.innerHTML);
   e.id=event.srcElement.parentNode.childNodes[0].innerHTML;
   e.name=event.srcElement.parentNode.childNodes[1].innerHTML;
   e.price=event.srcElement.parentNode.childNodes[2].innerHTML;
   //alert(event.srcElement.parentNode.childNodes[0].innerHTML);
   window.returnValue=e;
 window.close();
   }
  </script>
  <body>
   <table>
    <tr onclick="dddd()">
     <td>zzz</td>
     <td>ddd</td>
     <td>eee</td>
    </tr>
    <tr  onclick="dddd()">
     <td>aaa</td>
     <td>bbb</td>
     <td>ccc</td>
    </tr>
    <tr  onclick="dddd()">
     <td>ttt</td>
     <td>ggg</td>
     <td>nnn</td>
    </tr>
   </table>
  </body>


鑹炬嘗 2009-11-15 00:29 鍙戣〃璇勮
]]>
閫掑綊鏍?鏂版濊礬)[JDBC+Servlet+javaBean]<font color=red>(鏂版墜鐗堥珮鎵嬪嬁榪?</font>http://m.tkk7.com/Reg/archive/2009/11/15/302380.html鑹炬嘗鑹炬嘗Sat, 14 Nov 2009 16:06:00 GMThttp://m.tkk7.com/Reg/archive/2009/11/15/302380.htmlhttp://m.tkk7.com/Reg/comments/302380.htmlhttp://m.tkk7.com/Reg/archive/2009/11/15/302380.html#Feedback10http://m.tkk7.com/Reg/comments/commentRss/302380.htmlhttp://m.tkk7.com/Reg/services/trackbacks/302380.html 

BaseDao

 package com.common;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Common implements ICommon {

 //driver
 String classStr="oracle.jdbc.driver.OracleDriver";
 //connection
 String connStr="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
 //username
 String name="lw";
 //password
 String password="admin";
 

 //transact add/delete/update method
 public boolean tsg(String sql){
  boolean b=false;
  try {
   //loading driver
   Class.forName(classStr);
   //create connection
   Connection conn=DriverManager.getConnection(connStr,name,password);
   //create transact SQL object
   Statement sta=conn.createStatement();
   //transact SQL
   sta.executeUpdate(sql);
   //close sta
   sta.close();
   //close conn
   conn.close();
   //set b true
   b=true;
  } catch (SQLException e) {
   e.printStackTrace();
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
  return b;
 }
 
 //transact select
 public ResultSet select(String sql){
  try {
   Class.forName(classStr);
   
   Connection conn=DriverManager.getConnection(connStr,name,password);
   
   Statement sta=conn.createStatement();
   
   ResultSet rs=sta.executeQuery(sql);
   
   return rs;
  } catch (Exception e) {
   // TODO: handle exception
  }
  return null;
 }
 
}


DemoDaoImpl

package com.demo.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.demo.bean.Dept;
import com.demo.common.BaseDaoImpl;
import com.demo.common.IBaseDao;

public class DemoDaoImpl implements IDemoDao {

 private IBaseDao baseDao = new BaseDaoImpl();

 public Dept queryDemoById(int id) {

  String sql = "select * from dept where did=" + id;

  ResultSet rs = baseDao.query(sql);

  Dept dept = new Dept();

  try {
   while (rs.next()) {
    dept.setDid(rs.getInt(1));
    dept.setDname(rs.getString(2));
    dept.setParentid(rs.getInt(3));
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }

  return dept;
 }

 public List<Dept> queryDemos(int id) {

  String sql = "select * from dept where parentid=" + id;

  ResultSet rs = baseDao.query(sql);

  List<Dept> list = new ArrayList<Dept>();

  try {
   while (rs.next()) {
    Dept dept = new Dept();
    dept.setDid(rs.getInt(1));
    dept.setDname(rs.getString(2));
    dept.setParentid(rs.getInt(3));
    list.add(dept);
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }

  return list;
 }

 public static void main(String[] args) {
  IDemoDao dao = new DemoDaoImpl();
  Dept d = dao.queryDemoById(1);
  System.out.println(d);
 }
}

DemoServImpl

package com.demo.serv;

import java.util.List;

import com.demo.bean.Dept;
import com.demo.dao.DemoDaoImpl;
import com.demo.dao.IDemoDao;

public class DemoServImpl implements IDemoServ {

 private IDemoDao demoDao = new DemoDaoImpl();

 private static String htmlStr="";
 
 private void search(int id) {
  List<Dept> list = demoDao.queryDemos(id);
  htmlStr+="<ul>";
  for (Dept dept : list) {
   htmlStr+="<li>";
   htmlStr+="<a href='"+dept.getDid()+"'>"+dept.getDname()+"</a>";
   htmlStr+="</li>";
   search(dept.getDid());
  }
  htmlStr+="</ul>";
 }
 
 public String resHTML(int id){
  htmlStr="";
  search(id);
  return htmlStr;
 }
}

DemoServlet

 

package com.demo.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.demo.serv.DemoServImpl;
import com.demo.serv.IDemoServ;

public class DemoServlet extends HttpServlet {

 private IDemoServ demoserv = new DemoServImpl();

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

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  request.setCharacterEncoding("utf-8");
  request.setCharacterEncoding("utf-8");
  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  int id = Integer.parseInt(request.getParameter("id"));
  String reshtml = demoserv.resHTML(id);
  out.write(reshtml);
  out.flush();
  out.close();
 }

}



鑹炬嘗 2009-11-15 00:06 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 久久精品国产亚洲av麻豆小说| 亚洲午夜国产精品无码| 亚洲制服丝袜中文字幕| 在线看片v免费观看视频777| 久久亚洲AV成人无码| 日韩亚洲国产高清免费视频| 亚洲视频无码高清在线| 成人啪精品视频免费网站| 亚洲AV日韩综合一区| 国产在线观看免费完整版中文版 | 2021精品国产品免费观看| 亚洲精品自拍视频| 国产免费不卡v片在线观看| 亚洲色最新高清av网站| 国产无遮挡吃胸膜奶免费看 | 亚洲欧洲精品在线| 成年美女黄网站18禁免费| 国产亚洲蜜芽精品久久| 亚洲伊人久久大香线蕉综合图片| 久久午夜无码免费| 亚洲av成人一区二区三区| 四虎影院永久免费观看| 女同免费毛片在线播放| 亚洲国产高清视频在线观看| 国产禁女女网站免费看| 精品久久久久久无码免费| 亚洲第一二三四区| 日本一道在线日本一道高清不卡免费 | 国产成人免费片在线视频观看| 亚欧国产一级在线免费| 亚洲男人天堂影院| 免费吃奶摸下激烈视频| 99精品免费观看| 成人亚洲国产精品久久| 亚洲欧洲日产国码久在线观看| 国产精品久久久久久久久久免费| 一级一黄在线观看视频免费| 亚洲精品中文字幕无码AV| 亚洲AV网站在线观看| 18pao国产成视频永久免费| 十八禁的黄污污免费网站|