锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲电影免费观看,亚洲国产情侣一区二区三区,国内精品99亚洲免费高清http://www.tkk7.com/savage100/category/12618.htmlzh-cnWed, 28 Feb 2007 02:10:52 GMTWed, 28 Feb 2007 02:10:52 GMT60java 鍙嶅皠http://www.tkk7.com/savage100/articles/78882.html璋㈢幃璋㈢幃Fri, 03 Nov 2006 03:25:00 GMThttp://www.tkk7.com/savage100/articles/78882.htmlhttp://www.tkk7.com/savage100/comments/78882.htmlhttp://www.tkk7.com/savage100/articles/78882.html#Feedback0http://www.tkk7.com/savage100/comments/commentRss/78882.htmlhttp://www.tkk7.com/savage100/services/trackbacks/78882.html

Class綾伙細
紼嬪簭榪愯鏃訛紝Java榪愯鏃剁郴緇熺淮鎶や簡涓浠芥墍鏈夊璞$殑榪愯鏃剁被鍨嬭瘑鍒備繚鎸佷簡姣忎釜瀵硅薄鐨勭被鐨勪俊鎭傝櫄鎷熸満鏍規嵁榪愯鏃剁被鍒俊鎭紝閫夋嫨姝g‘鐨勬柟娉曟潵鎵ц銆?br />For example, the statement

鎴戜滑涔熷彲浠ヤ嬌鐢ㄤ竴涓壒孌婄殑Java綾繪潵鑾峰緱榪欎簺淇℃伅銆傝繖涓被灝辨槸Class綾匯傚涓涓璞′嬌鐢╣etClass()鏂規硶鍙互鑾峰緱Class綾誨瀷鐨勪竴涓疄渚嬨備緥濡傦細
Employee e;
Class cl = e.getClass();

姝e涓涓狤mployee瀵硅薄鎻忚堪浜嗕竴涓壒瀹氱殑闆囧憳鐨勪俊鎭竴鏍鳳紝涓涓狢lass瀵硅薄鎻忚堪浜嗕竴涓壒瀹氱殑Class鐨勪俊鎭侰lass綾繪渶鏈夌敤鐨勬柟娉曞ぇ姒傛槸getName()錛屾鏂規硶榪斿洖浜嗗璞$殑綾誨悕銆?br />渚嬪錛屽鏋渆鏄竴涓狤mployee綾誨璞★紝璇彞錛?br />System.out.println(e.getClass().getName() + " " + e.getName());

鎵撳嵃鍑猴細
Employee Harry Hacker

榪樺彲浠ヤ嬌鐢ㄩ潤鎬佹柟娉昮orName()錛岄氳繃涓涓瓧絎︿覆鏉ヨ幏寰楃被瀵硅薄銆?br />String className = "java.util.Date";
Class cl = Class.forName(className);

濡傛灉綾誨悕淇濆瓨鍦ㄤ竴涓瓧絎︿覆涓彲浠ヤ嬌鐢╢orName鏂規硶鏉ヨ幏寰桟lass瀵硅薄錛岃繖鍦╟lassName鏄竴涓被鎴栬呮帴鍙g殑鍚嶇О鏃訛紝浼氳搗浣滅敤銆傚惁鍒欙紝浼氭姏鍑哄紓甯搞?/p>

TIP
褰撳惎鍔ㄦ椂錛屽寘鍚玬ain鏂規硶鐨勭被琚姞杞姐傚茍鍔犺澆瀹冩墍闇瑕佺殑鎵鏈夌殑綾伙紝榪欎簺綾誨張鍔犺澆瀹冧滑鐢ㄥ埌鐨勭被錛屼緷姝ょ被鎺ㄣ傝繖鏍蜂竴涓ぇ搴旂敤紼嬪簭鍙兘浼氳姳璐硅緝闀跨殑鏃墮棿錛屼嬌鐢ㄦ埛鎰熷埌涓嶅揩銆傚彲浠ラ噰鐢ㄤ笅闈㈢殑鏂規硶錛岀粰鐢ㄦ埛紼嬪簭鏇村揩鐨勫惎鍔ㄧ殑閿欒銆傜‘淇漨ain鏂規硶娌℃湁鏄懼紡鐨勫紩鐢ㄥ叾瀹冪被銆傜劧鍚庨氳繃璋冪敤Class.forName鏉ュ己鍒跺姞杞藉叾浠栫被銆?/p>


絎笁縐嶈幏寰楃被瀵硅薄鐨勬柟娉曪紝濡傛灉T鏄竴涓猨ava綾伙紝T.class榪斿洖鍖歸厤鐨勭被瀵硅薄銆備緥濡傦細
Class cl1 = Date.class; // if you import java.util.*;
Class cl2 = int.class;
Class cl3 = Double[].class;

Class瀵硅薄鎻忚堪浜嗕竴涓被鍨嬶紝榪欎釜綾誨瀷涔熷彲鑳戒笉鏄竴涓被銆備緥濡傦紝int涓嶆槸涓涓被錛宨nt.class浠嶇劧鏄竴涓狢lass綾誨瀷鐨勫璞°?/p>

浣跨敤Class瀵硅薄鐨刵ewInstance()鏂規硶錛屽彲浠ヨ幏寰椾竴涓璞$殑瀹炰緥銆備緥濡傦細
String s = "java.util.Date";
Object m = Class.forName(s).newInstance();
newInstance浣跨敤榛樿鐨勬瀯閫犲嚱鏁幫紝濡傛灉娌℃湁榛樿鏋勯犲嚱鏁幫紝浼氭姏鍑哄紓甯搞?/p>

Using Reflection to Analyze the Capabilities of Classes
Here is a brief overview of the most important parts of the reflection mechanism for letting you examine the structure of a class.

API
java.lang.Class 1.0

static Class forName(String className)
returns the Class object representing the class with name className.

Object newInstance()
returns a new instance of this class.


java.lang.reflect.Constructor 1.1

Object newInstance(Object[] args)
constructs a new instance of the constructor's declaring class.

Parameters:
聽args
聽the parameters supplied to the constructor. See the section on reflection for more information on how to supply parameters.


java.lang.Throwable 1.0

void printStackTrace()
prints the Throwable object and the stack trace to the standard error stream.

浣跨敤鍙嶅皠鏉ュ垎鏋愮被
Here is a brief overview of the most important parts of the reflection mechanism for letting you examine the structure of a class.

榪欏効鏄畝瑕佺殑浠嬬粛鍙嶅皠鏈哄埗鏈閲嶈鐨勯儴鍒嗭紝浣跨敤瀹冧滑鍙互鑰冩煡涓涓被鐨勭粨鏋勩?/p>

All you have to do is have the appropriate method in the Modifier class work on the integer that getModifiers returns. You can also use the Modifier.toString method to print the modifiers.

java.lang.reflect鍖呬腑Field錛孧ethod鍜孋onstructor榪?涓被錛屽垎鍒敤鏉ユ弿榪頒竴涓被鐨凢ield錛孧ethod鍜孋onstructor銆傝繖3涓被閮芥湁涓涓悕涓篻etName鐨勬柟娉曪紝鐢ㄦ潵鑾峰緱欏圭洰鐨勫悕瀛椼侳ield綾繪湁涓猤etType()鏂規硶錛屽張榪斿洖涓涓狢lass瀵硅薄錛屾弿榪拌繖涓瓧孌電殑綾誨瀷銆侻ethod鍜孋onstructor綾婚兘鏈夎幏寰楀弬鏁扮被鍨嬬殑鏂規硶錛孧ethod綾誨緱鍒頒簡榪斿洖綾誨瀷銆?涓被閮芥湁榪斿洖綾誨瀷涓篒nteger鐨刧etModifiers鏂規硶錛岃幏寰椾慨楗幫紝渚嬪public鎴栬卻tatic絳夈傝繕鍙互浣跨敤java.lang.reflect鍖呬腑鐨凪odifier綾繪潵鍒嗘瀽getModifiers鐨処nteger綾誨瀷榪斿洖鍊箋備嬌鐢∕odifier綾葷殑isPublic錛宨sPrivate錛宨sFinal鏂規硶鏉ヨ幏鐭ヤ竴涓柟娉曟垨鑰呮瀯閫犲嚱鏁版槸鍚︽槸public, private, or final銆備綘鎵闇瑕佸仛鐨勬槸浣跨敤鍚堥傜殑鏂規硶瀵筭etModifiers榪斿洖鐨勬暣鍨嬪艱繘琛屾搷浣溿備篃鍙互浣跨敤Modifier.toString()鏂規硶鏉ユ墦鍗頒慨楗扮銆?/p>


Class綾葷殑getFields, getMethods, getConstructors鏂規硶鑾峰緱鍏叡fields錛宮ethods鍜宑onstructors鐨勬暟緇勩備篃鍖呭惈浜嗚秴綾葷殑鍏叡鎴愬憳銆俫etdeclaredFields錛実eTDeclaredMethods鍜実eTDeclaredConstructors鏂規硶鍙互鑾峰緱Class綾諱腑澹版槑鐨勬墍鏈夌殑fields錛屾柟娉曞拰鏋勯犲嚱鏁般傚寘鍚簡private鍜宲rotected鎴愬憳錛屼絾鏄笉鍖呭惈瓚呯被涓殑鎴愬憳銆?/p>

渚嬪瓙5-5鏄劇ず浜嗗浣曟墦鍗板嚭涓涓被鐨勬墍鏈変俊鎭傝繖涓▼搴忔彁紺轟綘杈撳叆涓涓被鍚嶏紝鎵撳嵃鍑烘墍鏈夌殑鏁版嵁鎴愬憳錛屾柟娉曞拰鏋勯犲嚱鏁般備緥濡傦紝浣犺緭鍏ワ細
java.lang.Double

紼嬪簭鎵撳嵃鍑猴細
class java.lang.Double extends java.lang.Number
{
聽聽 public java.lang.Double(java.lang.String);
聽聽 public java.lang.Double(double);
聽聽 public int hashCode();
聽聽 public int compareTo(java.lang.Object);
聽聽 public int compareTo(java.lang.Double);
聽聽 public boolean equals(java.lang.Object);
聽聽 public java.lang.String toString();
聽聽 public static java.lang.String toString(double);
聽聽 public static java.lang.Double valueOf(java.lang.String);
聽聽 public static boolean isNaN(double);
聽聽 public boolean isNaN();
聽聽 public static boolean isInfinite(double);
聽聽 public boolean isInfinite();
聽聽 public byte byteValue();
聽聽 public short shortValue();
聽聽 public int intValue();
聽聽 public long longValue();
聽聽 public float floatValue();
聽聽 public double doubleValue();
聽聽 public static double parseDouble(java.lang.String);
聽聽 public static native long doubleToLongBits(double);
聽聽 public static native long doubleToRawLongBits(double);
聽聽 public static native double longBitsToDouble(long);

聽聽 public static final double POSITIVE_INFINITY;
聽聽 public static final double NEGATIVE_INFINITY;
聽聽 public static final double NaN;
聽聽 public static final double MAX_VALUE;
聽聽 public static final double MIN_VALUE;
聽聽 public static final java.lang.Class TYPE;
聽聽 private double value;
聽聽 private static final long serialVersionUID;
}

榪欎釜紼嬪簭鍙互鍒嗘瀽浠諱綍java瑙i噴鍣ㄥ彲浠ュ姞杞界殑綾伙紝鑰屼笉浠呬粎鏄▼搴忕紪璇戞椂鐨勭被銆?br />Example 5-5. ReflectionTest.java

import 聽java.util. * ;
import 聽java.lang.reflect. * ;

public class 聽ReflectionTest聽{
聽聽聽聽
public static void 聽main(String[]聽args)聽{
聽聽聽聽聽聽聽聽
// 聽read聽class聽name聽from聽command-line聽args聽or聽user聽input
聽聽聽聽聽聽聽聽String聽name;
聽聽聽聽聽聽聽聽
if 聽(args.length聽 > 0 )
聽聽聽聽聽聽聽聽聽聽聽聽name聽
= 聽args[ 0 ];
聽聽聽聽聽聽聽聽
else 聽{
聽聽聽聽聽聽聽聽聽聽聽聽Scanner聽in聽
= new 聽Scanner(System.in);
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(
" Enter聽class聽name聽(e.g.聽java.util.Date):聽 " );
聽聽聽聽聽聽聽聽聽聽聽聽name聽
= 聽in.next();
聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽
try 聽{
聽聽聽聽聽聽聽聽聽聽聽聽
// 聽print聽class聽name聽and聽superclass聽name聽(if聽!=聽Object)
聽聽聽聽聽聽聽聽聽聽聽聽Class聽cl聽 = 聽Class.forName(name);
聽聽聽聽聽聽聽聽聽聽聽聽Class聽supercl聽
= 聽cl.getSuperclass();
聽聽聽聽聽聽聽聽聽聽聽聽System.out.print(
" class聽 " + 聽name);
聽聽聽聽聽聽聽聽聽聽聽聽
if 聽(supercl聽 != null && 聽supercl聽 != 聽Object. class )
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.print(
" 聽extends聽 " + 聽supercl.getName());

聽聽聽聽聽聽聽聽聽聽聽聽System.out.print(
" \n{\n " );
聽聽聽聽聽聽聽聽聽聽聽聽printConstructors(cl);
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println();
聽聽聽聽聽聽聽聽聽聽聽聽printMethods(cl);
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println();
聽聽聽聽聽聽聽聽聽聽聽聽printFields(cl);
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(
" } " );
聽聽聽聽聽聽聽聽}聽
catch 聽(ClassNotFoundException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽System.exit(
0 );
聽聽聽聽}

聽聽聽聽
/**
聽聽聽聽聽*聽Prints聽all聽constructors聽of聽a聽class
聽聽聽聽聽*聽
聽聽聽聽聽*聽
@param 聽cl
聽聽聽聽聽*聽聽聽聽聽聽聽聽聽聽聽聽a聽class
聽聽聽聽聽
*/
聽聽聽聽
public static void 聽printConstructors(Class聽cl)
聽聽聽聽聽{
聽聽聽聽聽聽聽聽Constructor[]聽constructors聽
= 聽cl.getDeclaredConstructors();

聽聽聽聽聽聽聽聽
for 聽(Constructor聽c聽:聽constructors)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽String聽name聽
= 聽c.getName();
聽聽聽聽聽聽聽聽聽聽聽System.out.print(
" 聽聽聽 " + 聽Modifier.toString(c.getModifiers()));
聽聽聽聽聽聽聽聽聽聽聽System.out.print(
" " + 聽name聽 + " ( " );

聽聽聽聽聽聽聽聽聽聽聽
// 聽print聽parameter聽types
聽聽聽聽聽聽聽聽聽聽聽Class[]聽paramTypes聽 = 聽c.getParameterTypes();
聽聽聽聽聽聽聽聽聽聽聽
for 聽( int 聽j聽 = 0 ;聽j聽 < 聽paramTypes.length;聽j ++ )
聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if 聽(j聽 > 0 )聽System.out.print( " ,聽 " );
聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.print(paramTypes[j].getName());
聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽System.out.println(
" ); " );
聽聽聽聽聽聽聽聽}
聽聽聽聽聽}

聽聽聽聽
/**
聽聽聽聽聽*聽Prints聽all聽methods聽of聽a聽class
聽聽聽聽聽*聽
聽聽聽聽聽*聽
@param 聽cl
聽聽聽聽聽*聽聽聽聽聽聽聽聽聽聽聽聽a聽class
聽聽聽聽聽
*/
聽聽聽聽
public static void 聽printMethods(Class聽cl)
聽聽聽聽聽{
聽聽聽聽聽聽聽聽Method[]聽methods聽
= 聽cl.getDeclaredMethods();

聽聽聽聽聽聽聽聽
for 聽(Method聽m聽:聽methods)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽Class聽retType聽
= 聽m.getReturnType();
聽聽聽聽聽聽聽聽聽聽聽String聽name聽
= 聽m.getName();

聽聽聽聽聽聽聽聽聽聽聽
// 聽print聽modifiers,聽return聽type聽and聽method聽name
聽聽聽聽聽聽聽聽聽聽聽System.out.print( " 聽聽聽 " + 聽Modifier.toString(m.getModifiers()));
聽聽聽聽聽聽聽聽聽聽聽System.out.print(
" " + 聽retType.getName()聽 + " " + 聽name聽 + " ( " );

聽聽聽聽聽聽聽聽聽聽聽
// 聽print聽parameter聽types
聽聽聽聽聽聽聽聽聽聽聽Class[]聽paramTypes聽 = 聽m.getParameterTypes();
聽聽聽聽聽聽聽聽聽聽聽
for 聽( int 聽j聽 = 0 ;聽j聽 < 聽paramTypes.length;聽j ++ )
聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if 聽(j聽 > 0 )聽System.out.print( " ,聽 " );
聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.print(paramTypes[j].getName());
聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽System.out.println(
" ); " );
聽聽聽聽聽聽聽聽}
聽聽聽聽聽}

聽聽聽聽
/**
聽聽聽聽聽*聽Prints聽all聽fields聽of聽a聽class
聽聽聽聽聽*聽
聽聽聽聽聽*聽
@param 聽cl
聽聽聽聽聽*聽聽聽聽聽聽聽聽聽聽聽聽a聽class
聽聽聽聽聽
*/
聽聽聽聽
public static void 聽printFields(Class聽cl)
聽聽聽聽聽{
聽聽聽聽聽聽聽聽Field[]聽fields聽
= 聽cl.getDeclaredFields();

聽聽聽聽聽聽聽
for 聽(Field聽f聽:聽fields)
聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽Class聽type聽
= 聽f.getType();
聽聽聽聽聽聽聽聽聽聽String聽name聽
= 聽f.getName();
聽聽聽聽聽聽聽聽聽聽System.out.print(
" 聽聽聽 " + 聽Modifier.toString(f.getModifiers()));
聽聽聽聽聽聽聽聽聽聽System.out.println(
" " + 聽type.getName()聽 + " " + 聽name聽 + " ; " );
聽聽聽聽聽聽聽}
聽聽聽聽}
}



API
java.lang.Class 1.0

Field[] getFields() 1.1
Field[] getDeclaredFields() 1.1
The getFields method returns an array containing Field objects for the public fields of this class or its superclasses. The geTDeclaredField method returns an array of Field objects for all fields of this class. The methods return an array of length 0 if there are no such fields or if the Class object represents a primitive or array type.

Method[] getMethods() 1.1
Method[] getDeclaredMethods() 1.1
return an array containing Method objects: getMethods returns public methods and includes inherited methods; getdeclaredMethods returns all methods of this class or interface but does not include inherited methods.

Constructor[] getConstructors() 1.1
Constructor[] getDeclaredConstructors() 1.1
return an array containing Constructor objects that give you all the public constructors (for getConstructors) or all constructors (for getdeclaredConstructors) of the class represented by this Class object.


java.lang.reflect.Field 1.1
java.lang.reflect.Method 1.1
java.lang.reflect.Constructor 1.1

Class getDeclaringClass()
returns the Class object for the class that defines this constructor, method, or field.

Class[] getExceptionTypes() (in Constructor and Method classes)

returns an array of Class objects that represent the types of the exceptions thrown by the method.

int getModifiers()

returns an integer that describes the modifiers of this constructor, method, or field. Use the methods in the Modifier class to analyze the return value.

String getName()

returns a string that is the name of the constructor, method, or field.

Class[] getParameterTypes() (in Constructor and Method classes)

returns an array of Class objects that represent the types of the parameters.

Class getReturnType() (in Method classes)

returns a Class object that represents the return type.


java.lang.reflect.Modifier 1.1

static String toString(int modifiers)
returns a string with the modifiers that correspond to the bits set in modifiers.

static boolean isAbstract(int modifiers)
static boolean isFinal(int modifiers)
static boolean isInterface(int modifiers)
static boolean isNative(int modifiers)
static boolean isPrivate(int modifiers)
static boolean isProtected(int modifiers)
static boolean isPublic(int modifiers)
static boolean isStatic(int modifiers)
static boolean isStrict(int modifiers)
static boolean isSynchronized(int modifiers)
static boolean isVolatile(int modifiers)
These methods test the bit in the modifiers value that corresponds to the modifier in the method name.


浣跨敤Reflection鍦ㄨ繍琛屾椂鍒嗘瀽瀵硅薄



璋㈢幃 2006-11-03 11:25 鍙戣〃璇勮
]]>
寮鍙戠郴緇熶腑鐨勫父瑙侀棶棰樻葷粨http://www.tkk7.com/savage100/articles/58737.html璋㈢幃璋㈢幃Tue, 18 Jul 2006 05:58:00 GMThttp://www.tkk7.com/savage100/articles/58737.htmlhttp://www.tkk7.com/savage100/comments/58737.htmlhttp://www.tkk7.com/savage100/articles/58737.html#Feedback0http://www.tkk7.com/savage100/comments/commentRss/58737.htmlhttp://www.tkk7.com/savage100/services/trackbacks/58737.html 緋葷粺瓚婂仛瓚婂ぇ錛岄棶棰樿秺鏉ヨ秺澶氾紝鏈変簺褰誨簳瑙e喅浜嗭紝鏈変簺鍑戝悎瑙e喅浜嗭紝鏈変簺榪樻病鏈夊姙娉曪紝鐜板湪鎶婄鍒扮殑涓昏闂鍒楀嚭鏉ワ紝緇欏ぇ瀹跺墠杞︿箣瑕嗭細

1
璺ㄦ祻瑙堝櫒甯冨眬鐨勯棶棰橈細 鐢變簬嫻忚鍣ㄤ箣闂寸殑寰皬宸窛錛屽湪甯冨眬澶嶆潅鐨勯〉闈㈡椂灝嗕細紕板埌楹葷儲

2
鏃ユ湡鎺т歡
濡備綍瀹炵幇璺ㄦ祻瑙堝櫒鐨勬棩鏈熸帶浠訛紝濡備綍璁懼畾緙虹渷鍊鹼紝濡備綍瀹炵幇澶ц寖鍥寸殑鏃ユ湡鐩存帴瀹氫綅錛熷浣曡嚜閫傚簲澶氬尯鍩熸牸寮忛棶棰橈紵

3
銆佸垎杈ㄧ巼
濡備綍鏀寔甯歌鍒嗚鯨鐜囷紝渚嬪 800*600 錛?/span> 1024*768 錛?/span> 1280*1024 錛熻〃鏍煎拰灞傚浣曡嚜閫傚簲錛?/span>

4
銆侀槻姝?/span> SQL 娉ㄥ叆寮忔敾鍑?/span>

5
錛庨槻姝㈣剼鏈敾鍑匯?/span> 鏈夋椂鍊欓渶瑕佸湪欏甸潰鍏佽閮ㄥ垎 html 鎴?/span> javascript 浠g爜 , 濡傛樉紺哄琛屾枃鏈?/span>

6
銆佺敤鎴烽潪鎺堟潈欏甸潰璁塊棶
濡備綍瀹炵幇姣忎釜欏甸潰鐨勫畨鍏ㄩ獙璇侊紝濡備綍闃叉鐢ㄦ埛閫氳繃鐩存帴鎷瘋礉鍏蜂綋欏甸潰鍦板潃絳夋柟寮忥紝璁塊棶緋葷粺錛?/span> 鍖?br />鎷病鏈夐摼鎺ョ殑鏌愪簺欏甸潰鍜?/span>jsp 欏甸潰銆?/span>濡備綍鎺у埗閮ㄥ垎鏉冮檺錛屾渶灝忔帶鍒跺崟鍏冩槸浠涔堬紵

7
銆侀噸澶嶆彁浜ら棶棰?/span>
鍔熻兘鎿嶄綔瀹屾垚鍚庯紝榧犳爣鍙抽敭鐐瑰嚮鎵鍦ㄩ〉闈紝閫夋嫨寮瑰嚭鑿滃崟鐨勫埛鏂板姛鑳斤紝瀹規槗鍑虹幇閲嶅鎻愪氦闂銆?/span>
鍔熻兘鎿嶄綔瀹屾垚鍚庯紝閫氳繃嫻忚鍣ㄧ殑鍚庨閿繘琛岄噸澶嶆搷浣滐紝瀹規槗鍑虹幇閲嶅鎻愪氦闂銆?/span>
URL
娌℃湁閲嶅畾鍚戯紝鍒鋒柊欏甸潰鍑虹幇閲嶅鎻愪氦闂銆?/span>
鏌愬姛鑳介敭鍙嶅簲鏃墮棿寤惰繜鏃訛紝鍦ㄧ煭鏃墮棿鍐呴噸澶嶇偣鍑昏鍔熻兘閿紝瀹規槗鍑虹幇閲嶅鎻愪氦闂錛?/span>
鏌愪簺鐢ㄦ埛涔犳儻鍙屽嚮鎸夐挳錛屾煇浜涚敤鎴烽敊璇湴鐐逛簡涓ゆ鎸夐挳錛屾煇浜涢紶鏍囧嚭鐜版晠闅滐紝瀵艱嚧鍗曞嚮鍙樻垚鍙屽嚮錛岀粨鏋滃彂鐢熼噸澶嶆彁浜ゃ?/span>

濡傛灉涓嶅姞澶勭悊錛岃繖浜涜姹傞兘浼氳鏈嶅姟鍣ㄥ鐞嗭紝浠庤屽鑷撮敊璇殑緇撴灉銆?/span>

8
錛庡浣曢攣瀹氳祫婧愬璁板綍錛氳繖鏄竴涓佸ぇ闅鵑棶棰樹簡錛屼負姝よ繕鎼炰簡涓嶅皯涓滆タ鍑烘潵銆?/span>

9
錛屽浣曢槻姝㈡祻瑙堝櫒璁頒綇鏁版嵁錛屾煇浜涙祻瑙堝櫒鑳藉涓烘瘡涓涓?/span>URL璁頒綇鐢ㄦ埛杈撳叆鐨勬暟鎹紝鍦ㄦ煇浜涙儏鍐典笅鏄嵄闄╃殑銆傛瘮濡傛垜淇敼浜嗘煇浜涙暟鎹紝浣嗙敱浜庢煇浜涘師鍥犳垜鎯沖埛鏂幫紝姝ゆ椂鏁版嵁宸茬粡琚叾浠栫敤鎴蜂慨鏀癸紝浣嗗湪嫻忚鍣ㄩ噷闈綘鐪嬪埌鐨勬槸浣犱慨鏀圭殑鏁版嵁錛堜綘鐢ㄥ埛鏂版寜閽篃涓嶈兘鐪嬪埌鏂版暟鎹級銆傚鏋滀綘鍐嶆淇濆瓨錛屼綘璁や負浣犳病鏈変慨鏀規暟鎹紝浣嗘暟鎹凡緇忚淇敼浜嗐傚綋欏甸潰鏄剼鏈姩鎬佺敓鎴愮殑鏃跺欙紝榪欎釜闂鏇翠弗閲嶃?/span>

10
錛屽浣曢槻姝㈡垨渚︽祴瀹㈡埛淇敼嫻忚鍣ㄨ緗紝姣斿瀹㈡埛鍦ㄦ墦寮欏甸潰涔嬪悗鍏抽棴鑴氭湰鍔熻兘銆?/span>

11
錛屽洖閫闂錛屽浜庡伐浣滄祦鐔熸倝鐨勪漢瀵硅繖涓棶棰樺緢娓呮錛屾煇涓搷浣滆妭鐐瑰浣曞洖鍒板惎鍔ㄧ偣錛屽浣曞洖鍒頒笂涓鑺傜偣錛屽浣曢伩鍏嶇‖緙栫爜錛?/span>

12
錛屾牎楠岄棶棰橈紝濡備綍鍚屾椂瀹炵幇瀹㈡埛绔拰鏈嶅姟鍣ㄧ鏍¢獙錛屽鎴風璋冪敤鏈嶅姟鍣ㄧ鐨勬牎楠屽姛鑳姐?/span>

13
錛屽浣曢槻姝㈡暟鎹吉閫狅紝濡備綍闃叉瀹㈡埛浣跨敤鐗規畩宸ュ叿鍜屾妧鏈吉閫犳暟鎹彁浜ゅ埌鏈嶅姟鍣ㄣ?/span>
14
錛?/span>濡備綍榪借釜瀹氫綅閿欒錛屽浣曞鐞嗗紓甯革紵
15
錛屽浣曞湪涓や釜鎿嶄綔涔嬮棿浼犻掑ぇ閲忔暟鎹紝灝ゅ叾鏄潪瀛樺偍鏁版嵁銆?/span>
16
錛?/span>甯﹀畨鍏ㄦ帶鍒剁殑鏂偣緇紶鐨勪笂杞?/span>鍜屼笅杞?/span>
17
錛屽垎甯冨紡鐜鐨勭壒孌婂鐞嗭紝
18
錛屽浣曟彁楂樺紑鍙戞晥鐜囷紵



璋㈢幃 2006-07-18 13:58 鍙戣〃璇勮
]]>
闃茶寖鑴氭湰鏀誨嚮http://www.tkk7.com/savage100/articles/58601.html璋㈢幃璋㈢幃Mon, 17 Jul 2006 08:54:00 GMThttp://www.tkk7.com/savage100/articles/58601.htmlhttp://www.tkk7.com/savage100/comments/58601.htmlhttp://www.tkk7.com/savage100/articles/58601.html#Feedback0http://www.tkk7.com/savage100/comments/commentRss/58601.htmlhttp://www.tkk7.com/savage100/services/trackbacks/58601.html 涓. 闃茶寖鑴氭湰鏀誨嚮

銆銆 JS 鑴氭湰 鍜?/span> HTML 鑴氭湰鏀誨嚮鐨勯槻鑼冨叾瀹炲緢綆鍗曪細 server.HTMLEncode 錛?/span> Str 錛夊畬浜嬨傚綋鐒朵綘榪樹笉瑕佸ぇ鍙紝鎬庝箞鍙兘錛熶綘璁╂垜鎶婂叏绔欑被浼鹼紲 %=uid% 錛為兘鍔犺繃婊ゆ垜榪樹笉绱錛熶負浜嗘柟渚跨殑榪囨護錛屾垜浠彧闇瑕佸皢 HTML 鑴氭湰鍜?/span> JS 鑴氭湰涓殑鍑犱釜鍏抽敭瀛楃榪囨護鎺夊氨鍙互浜嗭細紼嬪簭浣擄紙 1 錛夊涓嬶細

銆銆 鈥?/span> 浠ヤ笅鏄繃婊ゅ嚱鏁?/span>

銆銆錛?/span> %

銆銆 function CHK(fqyString)

銆銆 fqyString = replace(fqyString, " 錛?/span> ", " 錛?/span> ")

銆銆 fqyString = replace(fqyString, " 錛?/span> ", " 錛?/span> ")

銆銆 fqyString = replace(fqyString, "&#", "&")

銆銆 fqyString = Replace(fqyString, CHR(32), " ")

銆銆 fqyString = Replace(fqyString, CHR(9), " ")

銆銆 fqyString = Replace(fqyString, CHR(34), """)

銆銆 fqyString = Replace(fqyString, CHR(39), "'")

銆銆 fqyString = Replace(fqyString, CHR(13), "")

銆銆 fqyString = Replace(fqyString, CHR(10) & CHR(10), " 錛?/span> /P 錛烇紲 P 錛?/span> ")

銆銆 fqyString = Replace(fqyString, CHR(10), " 錛?/span> BR 錛?/span> ")

銆銆 CHK = fqyString

銆銆 end function

銆銆 % 錛?/span>


銆銆 鈥?/span> 浠ヤ笅鏄簲鐢ㄥ疄渚?/span>

銆銆錛?/span> %=CHK(Username)% 錛?/span>

銆銆 Username=CHK(replace(request(鈥渦sername鈥?,鈥濃欌?鈥濃?)

銆銆浣跨敤 Include 鎶婂嚱鏁板啓鍦ㄥ叕鏈夐〉闈笂錛岃繖鏍鋒晥鐜囨槸鏈濂界殑銆?/span>

銆銆紼嬪簭浣擄紙 1 錛?/span>

銆銆鍙﹀錛屽煎緱鎴戜滑娉ㄦ剰鐨勬槸錛屽緢澶氱珯鐐瑰湪鐢ㄦ埛娉ㄥ唽錛屾垨鑰呮槸鐢ㄦ埛璧勬枡淇敼鐨勯〉闈笂涔熺己灝戣剼鏈殑榪囨護錛屾垨鑰呮槸鍙湪鍏朵腑涔嬩竴榪涜榪囨護錛屾敞鍐岃繘鍏ュ悗淇敼璧勬枡浠嶇劧鍙互榪涜鑴氭湰鏀誨嚮銆傚鐢ㄦ埛鎻愪氦鐨勬暟鎹繘琛屾嫻嬪拰榪囨護錛岀▼搴忎綋錛?/span> 2 錛?/span> 濡備笅錛?/span>

銆銆 鈥?/span> 浠ヤ笅鏄繃婊ゅ嚱鏁?/span>

銆銆 If Instr(request("username"),"=") 錛?/span> 0 or
銆銆 Instr(request("username"),"%") 錛?/span> 0 or
銆銆 Instr(request("username"),chr(32)) 錛?/span> 0 or
銆銆 Instr(request("username"),"?") 錛?/span> 0 or
銆銆 Instr(request("username"),"&") 錛?/span> 0 or
銆銆 Instr(request("username"),";") 錛?/span> 0 or
銆銆 Instr(request("username"),",") 錛?/span> 0 or
銆銆 Instr(request("username"),"'") 錛?/span> 0 or
銆銆 Instr(request("username"),"?") 錛?/span> 0 or
銆銆 Instr(request("username"),chr(34)) 錛?/span> 0 or
銆銆 Instr(request("username"),chr(9)) 錛?/span> 0 or
銆銆 Instr(request("username"),"顥?) 錛?/span> 0 or
銆銆 Instr(request("username"),"$") 錛?/span> 0 or
銆銆 Instr(request("username")," 錛?/span> ") 錛?/span> 0 or
銆銆 Instr(request("username")," 錛?/span> ") 錛?/span> 0 or
銆銆 Instr(request("username"),"""") 錛?/span> 0 then
銆銆 response.write " 鏈嬪弸錛屼綘鐨勬彁浜ょ敤鎴峰悕鍚湁闈炴硶瀛楃錛岃鏇存敼錛岃阿璋㈠悎浣?/span> 錛?/span> a href='****:window.history.go(-1);' 錛炶繑鍥烇紲 /a 錛?/span> "
銆銆 response.end
銆銆 end if

銆銆紼嬪簭浣擄紙 2 錛?/span>

銆銆涓轟簡鎻愪緵宸ヤ綔鏁堢巼鎴戜滑鍐嶅皢榪囨護鍐呭紼嬪簭鍖栵紝榪欐牱瀵瑰涓弬鏁扮殑榪囨護鏁堢巼灝嗘湁寰堝ぇ紼嬪害涓婄殑鎻愰珮錛氬

銆銆紼嬪簭浣擄紙 3 錛?/span>

銆銆 鈥?/span> 浠ヤ笅涓虹▼搴忎富浣?/span>

銆銆 dim Bword(18)
銆銆 Bword(0)="?"
銆銆 Bword(1)=";"
銆銆 Bword(2)=" 錛?/span> "
銆銆 Bword(3)=" 錛?/span> "
銆銆 Bword(4)="-"
銆銆 Bword(5)="鈥?
銆銆 Bword(6)="鈥濃?
銆銆 Bword(7)="&"
銆銆 Bword(8)="%"
銆銆 Bword(9)="$"
銆銆 Bword(10)="'"
銆銆 Bword(11)=":"
銆銆 Bword(12)=" "
銆銆 Bword(13)="("
銆銆 Bword(14)=")"
銆銆 Bword(15)="--"
銆銆 Bword(16)=" chr(9)"
銆銆 Bword(17)=" chr(34)"
銆銆 Bword(18)=" chr(32)"
銆銆 errc=false

銆銆 鈥?/span> 浠ヤ笅鏄簲鐢ㄥ疄渚嬮儴鍒?/span>

銆銆 for i= 0 to ubound(Bword)
銆銆 if instr(FQYs,Bword(i)) 錛滐紴 0 then
銆銆 errc=true
銆銆 end if
銆銆 next
銆銆 if errc then
銆銆 response.write " 錛?/span> script language=""****"" 錛?/span> "
銆銆 response.write "parent.alert(' 寰堟姳姝?/span> ! 鎮ㄧ殑鎿嶄綔榪濇硶浜?/span> );"
銆銆 response.write "history,back();"
銆銆 response.write " 錛?/span> /script 錛?/span> "
銆銆 response.end
銆銆 end if

銆銆紼嬪簭浣擄紙 3 錛?/span>

銆銆鏈変簡涓婇潰鐨勮繃婊ゅ嚱鏁版偍鍙互鍦ㄤ換浣曢渶瑕佽繃婊ょ殑鍦版柟搴旂敤榪囨護鍑芥暟鐩存帴浣跨敤灝卞彲浠ヤ簡銆傝繖灝變嬌鎴戜滑鐨勪慨澶嶅伐浣滃ぇ澶х殑綆鍖栦簡銆?/span>

銆銆鍙﹀錛屾垜鎯沖湪榪欓噷鍐嶆澶氭彁閱掍竴涓嬶紝涓浜涚珯鐐圭殑 UBB 鍦ㄨ繘琛屽皬鐨勮〃鎯呭浘鏍囪漿鍖栨椂涔熶細鍑虹幇榪囨護闂錛岀敱浜庡緢闅愯斀鎵浠ヤ笉瀹規槗鍙戠幇錛?/span>

銆銆濡傦細

銆銆鎴戜滑鏍囩鍐呯殑鏂囧瓧榪涜淇敼錛?/span>

銆銆涓嶇煡閬撳悇浣嶇湅鎳傛病錛屽墠涓涓崟寮曞彿鐢ㄦ潵涓拰紼嬪簭鎻愪緵鐨勫乏寮曞彿錛岀浜屼釜鍗曞紩鍙風敤鏉ヤ腑鍜岄棴鍚堢殑鍙沖紩鍙鳳紝榪欐牱紼嬪簭杈撳嚭灝變負錛?/span>

銆銆錛?/span> img src=鈥檌mg/0001.gif鈥?onerror=****:alert(); alt=鈥欌?/span> 錛?/span>

銆銆濡傛灉鍥劇墖涓嶅瓨鍦紝閭d箞灝嗘縺媧?/span> onerror 鏍囩鎵ц鑴氭湰紼嬪簭銆傚浜庡凡緇忚繃婊や簡鍗曞紩鍙風殑绔欑偣鍦ㄨ繖閲岀敤鍙屽紩鍙蜂竴鏍峰彲浠ュ畬鎴愩傚浜庤繃婊や簡 **** 瀛楁鐨勶紝鍙敤 alert() 涔熷畬鍏ㄥ彲浠ャ傛墍浠ヨ瑕佽繃婊ゅ氨瑕佽繃婊ゅ畬鍏紝鍒粰鏀誨嚮鑰呯暀涓嬩竴涓濇満浼氥?/span>



璋㈢幃 2006-07-17 16:54 鍙戣〃璇勮
]]>
緗戠粶緙栫▼http://www.tkk7.com/savage100/articles/58310.html璋㈢幃璋㈢幃Sat, 15 Jul 2006 05:39:00 GMThttp://www.tkk7.com/savage100/articles/58310.htmlhttp://www.tkk7.com/savage100/comments/58310.htmlhttp://www.tkk7.com/savage100/articles/58310.html#Feedback0http://www.tkk7.com/savage100/comments/commentRss/58310.htmlhttp://www.tkk7.com/savage100/services/trackbacks/58310.html闃呰鍏ㄦ枃

璋㈢幃 2006-07-15 13:39 鍙戣〃璇勮
]]>
Tomcat涓枃闂鐨勫鐞嗘柟娉?/title><link>http://www.tkk7.com/savage100/articles/58096.html</link><dc:creator>璋㈢幃</dc:creator><author>璋㈢幃</author><pubDate>Fri, 14 Jul 2006 01:09:00 GMT</pubDate><guid>http://www.tkk7.com/savage100/articles/58096.html</guid><wfw:comment>http://www.tkk7.com/savage100/comments/58096.html</wfw:comment><comments>http://www.tkk7.com/savage100/articles/58096.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/savage100/comments/commentRss/58096.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/savage100/services/trackbacks/58096.html</trackback:ping><description><![CDATA[ <font face="瀹嬩綋"> <p>絎竴閮ㄥ垎:聽 jsp聽 ---> java/servlet<br /><br />瀵逛簬嫻佽鐨?span lang="EN-US">Tomcat</span>鏉ヨ錛屾湁浠ヤ笅涓夌瑙e喅鏂規硶錛?/p> <p>銆銆<span lang="EN-US">1) </span>鏇存敼<span lang="EN-US"> D:\Tomcat\conf\server.xml</span>錛屾寚瀹氭祻瑙堝櫒鐨勭紪鐮佹牸寮忎負<span lang="EN-US">鈥?/span>綆浣撲腑鏂?span lang="EN-US">鈥?/span>錛?/p> <p>銆銆鏂規硶鏄壘鍒?span lang="EN-US"> server.xml </span>涓殑</p> <p> <span lang="EN-US">聽聽聽 <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<br />聽聽聽 enableLookups="false" redirectPort="8443" acceptCount="100"<br />聽聽聽 connectionTimeout="20000" disableUploadTimeout="true" <strong><span style="FONT-FAMILY: 瀹嬩綋">URIEncoding='GBK'</span></strong> /></span> </p> <p>銆銆鏍囪錛岀矖浣撳瓧鏄垜娣誨姞鐨勩?/p> <p>銆銆鍙互榪欐牱楠岃瘉浣犵殑鏇存敼鏄惁鎴愬姛錛氬湪鏇存敼鍓嶏紝鍦ㄤ綘鍑虹幇涔辯爜鐨勯〉闈㈢殑<span lang="EN-US">IE</span>嫻忚鍣紝鐐瑰嚮鑿滃崟<span lang="EN-US">鈥?/span>鏌ョ湅锝滅紪鐮?span lang="EN-US">鈥?/span>錛屼細鍙戠幇<span lang="EN-US">鈥?/span>瑗挎<span lang="EN-US">(ISO)鈥?/span>澶勪簬閫変腑鐘舵併傝屾洿鏀瑰悗錛岀偣鍑昏彍鍗?span lang="EN-US">鈥?/span>鏌ョ湅锝滅紪鐮?span lang="EN-US">鈥?/span>錛屼細鍙戠幇<span lang="EN-US">鈥?/span>綆浣撲腑鏂?span lang="EN-US">(GB2312)鈥?/span>澶勪簬閫変腑鐘舵併傛敞鎰忎綘鐨凾omcat鐨刢ommon涓嬭鏈?endorsed"鍜?i18n"鏂囦歡澶癸紝鍏朵腑鍖呭惈緙栫爜鎵闇鐨刲ib<br /></p> <p>聽聽聽<br />銆銆<span lang="EN-US">2)</span>鏇磋<span lang="EN-US"> Java </span>紼嬪簭錛?br /><span lang="EN-US">聽public class ThreeParams extends HttpServlet {<br />聽 public void doGet(HttpServletRequest request, HttpServletResponse response)<br />聽聽 throws ServletException, IOException {<br />聽聽聽聽聽 <strong><span style="FONT-FAMILY: 瀹嬩綋">response.setContentType("text/html; charset=GBK");</span></strong><b><br /></b>聽聽聽聽聽 ...<br />聽 }聽 <br />}</span></p> <p>銆銆綺椾綋瀛楁槸蹇呴渶瑕佹湁鐨勶紝瀹冪殑浣滅敤鏄嫻忚鍣ㄦ妸<span lang="EN-US">Unicode</span>瀛楃杞崲涓?span lang="EN-US">GBK</span>瀛楃銆傝繖鏍烽〉闈㈢殑鍐呭鍜屾祻瑙堝櫒鐨勬樉紺烘ā寮忛兘璁炬垚浜?span lang="EN-US">GBK</span>錛屽氨涓嶄細涔辯爜浜嗐?/p> <p>聽聽 <br /><br /><br /><br /><br />絎簩閮ㄥ垎聽聽聽 java/servlet聽聽 ---->聽聽 mysql<br />mysql鍜孒ibernate涓殑涓枃闂瑙e喅鏂規硶<br />鍙︿竴縐嶈В鍐蟲柟娉?mysql-4.1.11).浣庣増鏈殑mysql浼間箮娌″嚭鐜拌繃涓枃闂(mysql-4.0.17). :)</p> <p>1.娣誨姞涓涓繃婊ゅ櫒,灝嗗瓧絎﹂泦緙栫爜璁句負GBK.<br />淇敼web.xml:</p> <p>聽<filter><br />聽聽<filter-name>SetCharacterEncoding</filter-name><br />聽聽<filter-class>hxz.filter.SetEncodingFilter</filter-class><br />聽聽<init-param><br />聽聽聽<param-name>encoding</param-name><br />聽聽聽<param-value>GBK</param-value><br />聽聽</init-param><br />聽</filter><br />聽<br />聽<filter-mapping><br />聽聽<filter-name>SetCharacterEncoding</filter-name><br />聽聽<url-pattern>/*</url-pattern><br />聽</filter-mapping></p> <p>鏂板緩涓涓繃婊ゅ櫒:<br />package hxz.filter;</p> <p>import java.io.IOException;</p> <p>import javax.servlet.*;</p> <p>public class SetEncodingFilter implements Filter {<br />聽<br />聽// default character encoding<br />聽String defaultEncoding = "GBK";聽<br />聽<br />聽public void init(FilterConfig config) throws ServletException {<br />聽聽String encoding = config.getInitParameter("encoding");<br />聽聽if (encoding != null) {<br />聽聽聽defaultEncoding = encoding;<br />聽聽}<br />聽}</p> <p>聽public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {<br />聽聽request.setCharacterEncoding(defaultEncoding);<br />聽聽chain.doFilter(request, response);<br />聽}</p> <p>聽public void destroy() {<br />聽聽defaultEncoding = null;<br />聽}</p> <p>}</p> <p>2.淇敼hibernate閰嶇疆鏂囦歡:<br /><property name="url"><br />聽 <value>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=GBK</value><br /></property><br />娉ㄦ剰鍚庨潰鐨?useUnicode=true&amp;characterEncoding=GBK, 鍦▁ml涓?amp;瑕佹敼涓?amp;</p> <p>3.鍦ㄦ柊鐗堟湰涓璵ysql寤鴻〃鏃?浣犲彲浠ラ夋嫨涓縐嶅瓧絎﹂泦,灝嗗畠璁句負GBK.<br />jsp鎴杝ervlet涓妸瀛楃闆嗘敼涓篏BK.</p> <p>聽</p> </font> <img src ="http://www.tkk7.com/savage100/aggbug/58096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/savage100/" target="_blank">璋㈢幃</a> 2006-07-14 09:09 <a href="http://www.tkk7.com/savage100/articles/58096.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>甯哥敤绔欑偣http://www.tkk7.com/savage100/articles/56979.html璋㈢幃璋㈢幃Thu, 06 Jul 2006 08:55:00 GMThttp://www.tkk7.com/savage100/articles/56979.htmlhttp://www.tkk7.com/savage100/comments/56979.htmlhttp://www.tkk7.com/savage100/articles/56979.html#Feedback0http://www.tkk7.com/savage100/comments/commentRss/56979.htmlhttp://www.tkk7.com/savage100/services/trackbacks/56979.html Ajax
dojo聽聽聽聽 聽聽聽 http://download.dojotoolkit.org/
dwr聽聽聽聽聽聽聽聽 聽http://getahead.ltd.uk/dwr/download
prototype聽 http://prototype.conio.net/
prototype 鍦ㄧ嚎瀛︿範鎸囧崡聽聽 http://www.sergiopereira.com/articles/prototype.js.html
prototype 1.4涓枃鎵嬪唽(hot!!!)聽 http://thinhunan.cnblogs.com/archive/2006/04/01/DeveloperNotesForPrototype.html
wiki.script.aculo.us API
http://wiki.script.aculo.us/scriptaculous/show/Prototype
鏌恜rototype聽絎旇聽聽 https://compdoc2cn.dev.java.net/prototype/html/prototype.js.cn.html

json聽 鎸囧崡: Quick guide to somewhat advanced JavaScript聽 tour of some OO features
http://www.sergiopereira.com/articles/advjs.html
銆婂緛鏈岮jax web2.0璇﹁В銆嬩綔鑰呯殑blog
http://www.x2blog.cn/supNate/#sid.0/page.1/
Eclipse
eclipse聽聽聽聽 http://www.eclipse.org
csdn鏂囩珷涓績聽聽聽聽聽聽聽 http://kb.csdn.net/java/Articles/200606/7105353e-2f75-4398-9282-119b58937764.html
JSEclipse 鎻掍歡涓嬭澆鍦板潃聽聽聽聽聽聽 http://www.apple.com/downloads/macosx/development_tools/jseclipse.html
JSEclipse 鎻掍歡瀹樻柟鍦板潃聽聽聽聽聽聽 http://www.interaktonline.com/
瑙嗛鏁欑▼聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 http://www.interaktonline.com/Products/Eclipse/JSEclipse/Flash-Demos/
java瑙嗙嚎聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽http://www.hibernate.org.cn
鏇規檽鍒氭弧姹熺孩聽聽聽聽聽聽聽 http://www.redsaga.com/mambo/content/view/42/2/

鍦ㄧ嚎javascript鎵嬪唽聽聽 http://www.8esky.com/handbook/JavaScript/index.html
Mysql 鎵嬪唽聽聽聽聽聽聽聽聽 http://www.uplinux.com/download/doc/mysql/mysql4/index.html
CVSclient鍏ラ棬聽聽聽聽 http://www.redsaga.com/CVS_newbie_win32/
涓涓笉閿欑殑Ajax Blog聽聽聽聽聽 https://blueprints.dev.java.net/ajax-faq-zh.html#ajax-libraries
妗嗘灦瑙嗛鏁欑▼聽聽 http://www.tkk7.com/oksonic/archive/2005/11/06/18370.aspx

Java寮婧?/font>

寮婧愮珯鐐?http://sourceforge.net/new/
涓涓浗鍐呯殑java寮婧愮珯鐐孤燞OT聽 http://www.ideagrace.com/sf/bloggers/
java鑷敱浜郝犅犅?a >http://www.javayou.com/
寮鍙戝伐鍏蜂笅杞界珯鐐孤?http://www.topdownloads.org/software/view.php?id=75020

璋㈢幃 2006-07-06 16:55 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产在线观看免费视频播放器| 国产性爱在线观看亚洲黄色一级片| 亚洲午夜成人精品无码色欲| 国产免费AV片无码永久免费| 两个人看的www视频免费完整版| 亚洲视频一区在线| 国产无遮挡又黄又爽免费视频 | 亚洲成av人在线视| 日韩亚洲国产高清免费视频| 黄色毛片免费在线观看| 亚洲综合在线视频| 亚洲国产精品13p| 99在线精品免费视频九九视| 一个人看的hd免费视频| 亚洲成a人片在线网站| 亚洲午夜无码AV毛片久久| 91精品国产免费久久久久久青草| 又粗又长又爽又长黄免费视频| 亚洲欧洲尹人香蕉综合| 亚洲精品视频久久久| 日本精品人妻无码免费大全 | 日韩高清免费观看| 先锋影音资源片午夜在线观看视频免费播放| 国产成人精品日本亚洲网址| 亚洲色欲久久久综合网| 日韩毛片免费在线观看| 91香蕉国产线在线观看免费| aa级女人大片喷水视频免费| 国产精品国产亚洲区艳妇糸列短篇 | 中国videos性高清免费| 亚洲av无码专区在线观看下载| 亚洲一区二区中文| 亚洲精品视频免费| 永久免费观看的毛片的网站| 1000部拍拍拍18勿入免费视频下载 | 亚洲www77777| 亚洲第一区视频在线观看| 亚洲区小说区图片区QVOD| 国产精品免费综合一区视频| 免费可以在线看A∨网站| **真实毛片免费观看 |