??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品成人,亚洲片一区二区三区,亚洲高清无在码在线电影不卡 http://www.tkk7.com/9611/像丁香花一样静(rn)?rn)的{待zh-cnMon, 12 May 2025 02:48:04 GMTMon, 12 May 2025 02:48:04 GMT60׃n一些小东西|JSP|JAVA|C#|AJAX|Script|在线~辑?/title><link>http://www.tkk7.com/9611/archive/2007/12/22/169573.html</link><dc:creator>dyin</dc:creator><author>dyin</author><pubDate>Sat, 22 Dec 2007 07:29:00 GMT</pubDate><guid>http://www.tkk7.com/9611/archive/2007/12/22/169573.html</guid><wfw:comment>http://www.tkk7.com/9611/comments/169573.html</wfw:comment><comments>http://www.tkk7.com/9611/archive/2007/12/22/169573.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/9611/comments/commentRss/169573.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/9611/services/trackbacks/169573.html</trackback:ping><description><![CDATA[1.JSP2.0技术手?带源?br /> 2.Ajax in Action 中文?br /> 3.带时分秒JS日期控g<br /> 4.在线~辑器mditor2.0?br />   清爽的界面,功能也比较全面,对于一般的应用完全能够应付<br /> 5.thinking in java 3rd中文?br />   分作两个压羃包?br /> 6.ZJ2EE的ajax宝典<br /> 7.日志记录Log4J<br /> 8.展现c#<br /> 9.PowerDesigner教程<br /> <br /> 有需要的朋友请到以下地址下蝲Q?br /> http://www.dyin.cn/logs/12459969.html<br /> <br /> 下蝲地址同上 <img src ="http://www.tkk7.com/9611/aggbug/169573.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/9611/" target="_blank">dyin</a> 2007-12-22 15:29 <a href="http://www.tkk7.com/9611/archive/2007/12/22/169573.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【share】基于J2EE的Ajax宝典http://www.tkk7.com/9611/archive/2007/12/22/169497.htmldyindyinFri, 21 Dec 2007 23:29:00 GMThttp://www.tkk7.com/9611/archive/2007/12/22/169497.htmlhttp://www.tkk7.com/9611/comments/169497.htmlhttp://www.tkk7.com/9611/archive/2007/12/22/169497.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/169497.htmlhttp://www.tkk7.com/9611/services/trackbacks/169497.html

基本信息
·出版C:(x)?sh)子工?br /> ·ISBNQ?121042584
·版次Q?
·出版日期Q?007-5
·开本:(x)0
·_装:(x)q
·|Q?31

【内容简介?br /> Ajax技术是目前最行的技术,它极大地改善?jin)传lWeb应用的用户体验,因此也被UCؓ(f)对传lWeb技术的革命?
本书介绍的内定w常全面,覆盖?jin)Ajax技术的各个斚wQ包括Ajax技术的核心(j)对象XMLHttpRequest对象、JavaScript脚本的详l知识以?qing)DOM和XML的相关知识。除?jin)Ajax的这些基知识外,本书q详l介l了(jin)Ajax?个相xӞ(x)Prototype.jsQDojoQDWRQJSON-RPC-Java和AjaxTags?.
本书介绍的不是单U的Ajax技巧,而是侧重于介lAjax技术与J2EE技术的融合Q让Ajax技术融入实际的J2EE应用?br /> 本书适用于有一定J2EE~程基础的读者,因ؓ(f)单纯的Ajax技术是没有太大用处的。通过阅读本书Q不但可以掌握Ajax的开发技巧,而且可以掌握如何让Ajax技术和J2EE应用实现完美融合?..

【目录信息?br /> W?部分 初识Ajax. 1
W??Ajax入门 2
1.1 重新思考Web应用 2
1.1.1 应用pȝ的发展史 2
1.1.2 传统Web应用的优势和~点 4
1.2 重新设计Web应用 5
1.2.1 RIA应用 5
1.2.2 异步发送请求ƈ避免{待 7
1.2.3 使用Ajax 7
1.3 Ajax?8
1.3.1 Ajax的工作方?8
1.3.2 XMLHttpRequest 9
1.3.3 JavaScript语言 10
1.3.4 HTML面的DOM 10
1.3.5 数据交换和显C?11
1.4 Ajax的基本特?12
1.5 Ajax的替代技?13
1.5.1 Sun的Java Web Start技?13
1.5.2 Microsoft的ClickOnce技?13
1.5.3 ZFlash的Flex 14

如有需要得朋友请到 www.dyin.cn下蝲。如果下载有问题L(fng)a?a >www.dyin.cn我会(x)通过邮箱发送给需要的朋友?

dyin 2007-12-22 07:29 发表评论
]]>
NetBeans6.0使用感想http://www.tkk7.com/9611/archive/2007/11/05/158308.htmldyindyinMon, 05 Nov 2007 09:21:00 GMThttp://www.tkk7.com/9611/archive/2007/11/05/158308.htmlhttp://www.tkk7.com/9611/comments/158308.htmlhttp://www.tkk7.com/9611/archive/2007/11/05/158308.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/158308.htmlhttp://www.tkk7.com/9611/services/trackbacks/158308.html      今天试用?jin)NetBeans6.0?jin),感觉界面蛮爽的,q不错,速度也很快。应该是以后一D|间开发的IDE?jin),不过刚打开界面Q就发现一个问题,界面之中有一条竖着的线Q宽度非常的,非常的不爽。后来研I了(jin)一下,l于扑ֈ解决的办法?/p>

     最单的办法是:(x)

C:\Documents and Settings\9611\.netbeans\6.0beta2\config\Editors\text\x-java

上述的\9611\要改成你的用户名Q编辑\x-java目录下面的properties.xml文gQ加入:(x)

xml 代码

<property class="java.lang.Boolean" name="text-limit-line-visible" value="false"/>

重新启动NetBeans6.0好?jin),开始你的快乐之旅吧?



dyin 2007-11-05 17:21 发表评论
]]>
WinXP SP2 截至 7.10 所有補丁更新程?/title><link>http://www.tkk7.com/9611/archive/2007/07/15/130322.html</link><dc:creator>dyin</dc:creator><author>dyin</author><pubDate>Sat, 14 Jul 2007 17:56:00 GMT</pubDate><guid>http://www.tkk7.com/9611/archive/2007/07/15/130322.html</guid><wfw:comment>http://www.tkk7.com/9611/comments/130322.html</wfw:comment><comments>http://www.tkk7.com/9611/archive/2007/07/15/130322.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/9611/comments/commentRss/130322.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/9611/services/trackbacks/130322.html</trackback:ping><description><![CDATA[<p><img height=391 alt="" src="http://soft.ylmf.com/uploadfiles/image/07-7/07-7-11/1184160533.gif" width=531 border=0><br></p> <p>WinXP SP2 截至 7.10 所有更新程?br><br>非高优先U更新程?3?<br>高优先更新E序(77?<br>WMP10 安装?qing)其相关更新E序(3?<br>其他更新E序(2?<br><br>安装E序?x)自动检蟩q系l已安装的更新程序。支?nLite 集成pȝ的更新程序自动检!<br><br>保安装完后pȝ状态和原版自动升l果完全一_(d)<br><br><a target=_blank><font color=red><font size=6>讯雷下蝲</font></font></a></p> <img src ="http://www.tkk7.com/9611/aggbug/130322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/9611/" target="_blank">dyin</a> 2007-07-15 01:56 <a href="http://www.tkk7.com/9611/archive/2007/07/15/130322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>资源分nQ英文学?fn)之听?/title><link>http://www.tkk7.com/9611/archive/2007/07/15/130321.html</link><dc:creator>dyin</dc:creator><author>dyin</author><pubDate>Sat, 14 Jul 2007 17:51:00 GMT</pubDate><guid>http://www.tkk7.com/9611/archive/2007/07/15/130321.html</guid><wfw:comment>http://www.tkk7.com/9611/comments/130321.html</wfw:comment><comments>http://www.tkk7.com/9611/archive/2007/07/15/130321.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/9611/comments/commentRss/130321.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/9611/services/trackbacks/130321.html</trackback:ping><description><![CDATA[<p><img height=552 alt="" src="http://img.verycd.com/posts/0702/post-453843-1172152823.jpg" width=385 border=0><br></p> <p>國之音QVOAQ,世界上規模最大的國際廣播d。本產品_ֿ(j)選取?jin)VOA最具代表性的多方面高清晰錄音報道Q從不同視角生動再現國C會全貌。內容包萬象,涵蓋時事、健店教肌Ӏ經ȟ、科技、探索、娛樂等各方面。產品中的聽力材料都屬於該節目的標準p(Standard English)Q播音速度為每分鐘140?50個單字?br><br>目錄<br>1_時事<br>2_娛樂<br>3_發展<br>4_教育<br>5_健康<br>6_U技<br>7_探烦(ch)<br>8_E濟<br>9_國萬花{?br></p> <p><br> </p> <p><img height=520 alt="" src="http://img.verycd.com/posts/0608/post-457558-1155530189.jpg" width=347 border=0><br></p> <p>聽力是英語教怸四項基本技能之一Q也是中國學生的一個難點。突破這個難關不僅有助於其它單項技能的a練Q同時也為培學生的p交際能力奠定一個良好的基礎。在國家教委最q頒佈的《高{學校英語專業基C階D英語教學大E》和《高{學校英語專業高q級p教學大綱》中Q對於大怸、二、三、四q級學生在聽力方面應該達到的標準都作Z(jin)詳細的規定。Listen to This 是按照這兩個大Eq要求Q根據中國英語教學的牚w而編寫的一套聽力教E?br><br>整套教程共分Z冊。第一冊適合大怸q級學生或英語初思h使用Q第二冊的對象是大學二年級學生和有中{英語水準的自學人;W三冊可供大怸、四q級學生和有較高p水準的自思h使用。每冊均含《學生用書》(Student's BookQ和《教師用書》(Teacher's BookQ,功用不同Q相反相成。《學生用書》以錄音材料中的生詞表、文化背景註釋和配套的練為丅R《教師用書》則包含錄音和書面材料、練答案和盔R文化背景知識的補充讀物?br><br>和國內現有的聽力教程相比QListen to This 有以下幾個特點︰<br><br>1.教程的第三冊適合p業高年級學生用,以達到教委大E׃W六級和W八級對聽力的要求?br><br>2.內容新穎Q聽力材料均選自八十q代後期國外的有聲資料?br><br>3.錄音以標準的國x英國音為主,聲音清晰?br><br>4.R習形式zL。練的a計參考了(jin)國TOEFL考試和英?Cambridge Certificate考試的Ş式,並增加了(jin)是非、填充題、聽寫、講座摘抄記和根據筆a回{問等多種形式?<br>5.《教師用書》中的補充讀物均摘自q報刊和書c,不僅能夠為教師備課提供必要的歷史文化背景Q也可以作為學生的課外閱讀材料Q以擴大學生的知識面?br><br>以上牚w不僅使該教程適合課堂教學Q同時也語專業學生和C會各層ơ的p愛好者提供了(jin)自學的良好模式?br><br>Listen to This2適用於大怺q級學生和有一定基C的p自學人。錄x料選自八十年代中期以來英的錄音材料。全書共?6課課文,每課׃個部分組成。Ş式活潑多樣,涉及(qing)?jin)日常生zdC交zd的各個方面,不僅有助於提升學生的聽力技能,也有益於提升學生的英語交際能力。全書的課文按錄x料的難易E度R排Q@序Ԍ既注意與W一冊銜接又為學生繼U用第三冊打下?jin)基C?br><br>《學生用書》包括生詞表、文化背景註釋和配套R習三個部分。在使用時應要求學生事先熟?zhn)生詞表中所列的詞彙Q並p文化背景a釋。由於第二冊中增加了(jin)Ҏ(gu)上下文作出推測、記{記和整理講座提Eq項訓R_(d)因此Q在W???3?9?5?1課的W三部分分別加上?jin)對這些R習的示說明。在做這部分練前應要求學生熟(zhn)這些a練的目的和要求?br><br>《教師手冊》包括錄音的曔R材料、練及(qing){案、和補充p材料三個部分。為?jin)便於教師上課時使用Q配有答案的R習排印在每部分的書面材料之後。第二冊的補充閱讀材料均以課文中所涉及(qing)的英風俗和文化特色Z。教師可以在教學中選擇部分內容向學生作一些介紹,以擴大學生的知識面?br>和開口?<br></p> <p>׃blogjava不提供附件上传,如有需要请留言Q或者email?/p> <img src ="http://www.tkk7.com/9611/aggbug/130321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/9611/" target="_blank">dyin</a> 2007-07-15 01:51 <a href="http://www.tkk7.com/9611/archive/2007/07/15/130321.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MSXML. xmlhttp 的应用参?/title><link>http://www.tkk7.com/9611/archive/2007/06/14/124300.html</link><dc:creator>dyin</dc:creator><author>dyin</author><pubDate>Thu, 14 Jun 2007 06:00:00 GMT</pubDate><guid>http://www.tkk7.com/9611/archive/2007/06/14/124300.html</guid><wfw:comment>http://www.tkk7.com/9611/comments/124300.html</wfw:comment><comments>http://www.tkk7.com/9611/archive/2007/06/14/124300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/9611/comments/commentRss/124300.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/9611/services/trackbacks/124300.html</trackback:ping><description><![CDATA[XMLHTTP应用参?<br>一、用步骤:(x) <br>1、创建XMLHTTP对象 //需MSXML4.0支持 <br>2、打开与服务端的连接,同时定义指o(h)发送方式,服务|页(URL)和请求权限等。客L(fng)通过Open命o(h)打开与服务端的服务网늚q接。与普通HTTP指o(h)传送一P可以?GET"Ҏ(gu)?POST"Ҏ(gu)指向服务端的服务|页?<br>3、发送指令?<br>4、等待ƈ接收服务端返回的处理l果?<br>5、释放XMLHTTP对象 <br><br>二、XMLHTTPҎ(gu)Q?<br>1、XMLHTTP对象 <br>备注Q客h可以使用XMLHTTP对象发送Q意的HTTPh,接受HTTP应答,q可以对应答的XML文档q行解析?<br><br>OpenҎ(gu)Q初始化一个Msxml2.XMLHTTPhQ指定HTTPh方式、URL以及(qing)鉴定信息?<br>OpenQ?bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword Q?<br>bstrMethodQ?数据传送方式,即GET或POST?<br>bstrUrlQ?服务|页的URL?<br>varAsyncQ?是否同步执行。缺省ؓ(f)TrueQ即同步执行Q但只能在DOM中实施同步执行。用中一般将其置为FalseQ即异步执行?<br>bstrUserQ?用户名,可省略?<br>bstrPasswordQ用户口令,可省略?<br><br>SendҎ(gu)Q发送HTTPh到服务器Q返回应{?<br>语法Q?<br>oXMLHttpRequest.send(varBody) <br>说明Q此Ҏ(gu)是否同步取决于OpenҎ(gu)的varAsync参数。如果设为True则ؓ(f)同步Q调用立刻返回,如果设ؓ(f)False调用直到整个应答被接收了(jin)才返回?<br><br>setRequestHeaderQ?bstrHeader, bstrvalue Q?<br>bstrHeaderQHTTP ?header) <br>bstrvalueQ?HTTP ?header)的?<br><br>如果OpenҎ(gu)定义为POSTQ可以定义表单方式上传:(x) <br>xmlhttp.setRequestHeaderQ?"Content-Type", "application/x-www-form-urlencoded"Q?<br><br>三、XMLHTTP属性:(x) <br>onreadystatechangeQ在同步执行方式下获得返回结果的事g句柄。只能在DOM中调用?<br>responseBodyQ?l果q回为无W号整数数组?<br>responseStreamQ?l果q回为IStream?<br>responseText Q?l果q回为字W串?<br>responseXMLQ?l果q回为XML格式数据?<br><br>四、示例:(x) <br> <div id="1111616" class="myCode"> <div id="6166161" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="6661611" class="codeContent">< script language="javascript" >  <br>function getDatal(url){  <br>var xmlhttp  = new ActiveXObject("MSXML2.XMLHTTP.4.0";//创徏XMLHTTPRequest对象Q需MSXML4.0? ?nbsp;["MSXML2.XMLHTTP.4.0","MSXML2.DOMDocument.4.0"]  <br>xmlhttp.open("GET",url,false,"",""; //使用HTTP GET初始化HTTPh  <br>xmlhttp.send(""; //发送HTTPhq获取HTTP响应  <br>return xmlhttp.responseXML; //获取XML文档  <br>}  <br>< /script > </div> </div> <p>  现在|上行的小L(fng)序比较多Q有新闻cdP音乐偷Q下载小P那么它们是如何做的呢Q下面我来做个简单介l,希望对各位站长有所帮助?<br></p> <p>Q一Q原?<br>  偷E序实际上是通过?jin)XML中的XMLHTTPlg调用其它|站上的|页。比如新dL(fng)序,很多都是调用?jin)sina? 新闻|页Qƈ且对其中的htmlq行?jin)一些替换,同时对广告也q行?jin)过滤。用偷E序的优Ҏ(gu)Q无ȝ护网站,因ؓ(f)偷E序中的数据来自其他|站Q它?yu)? 着该网站的更新而更斎ͼ可以节省服务器资源,一般小L(fng)序就几个文gQ所有网内定w是来自其他网站。缺Ҏ(gu)Q不E_Q如果目标网站出错,E序也会(x)出错Q? 而且Q如果目标网站进行升U维护,那么偷E序也要q行相应修改Q速度Q因为是q程调用Q速度和在本地服务器上d数据比v来,肯定要慢一些?<br></p> <p>Q二Q事?<br><br>下面XMLHTTP在ASP中的应用做个单说?<br><br>代码: </p> <div id="6111161" class="myCode"> <div id="6116666" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="1116161" class="codeContent"><%  <br>’常用函数  <br><br>’1、输入url目标|页地址Q返回值getHTTPPage是目标网늚html代码  <br>function getHTTPPage(url)  <br>dim Http  <br>set Http=server.createobject("MSXML2.XMLHTTP"  <br>Http.open "GET",url,false  <br>Http.send()  <br>if Http.readystate<>4 then  <br>exit function  <br>end if  <br>getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312"  <br>set http=nothing  <br>if err.number<>0 then err.Clear  <br>end function  <br><br>’2、{换ؕ玛,直接用xmlhttp调用有中文字W的|页得到的将是ؕ玛,可以通过adodb.streamlgq行转换  <br>Function BytesToBstr(body,Cset)  <br>dim objstream  <br>set objstream = Server.CreateObject("adodb.stream"  <br>objstream.Type = 1  <br>objstream.Mode =3  <br>objstream.Open  <br>objstream.Write body  <br>objstream.Position = 0  <br>objstream.Type = 2  <br>objstream.Charset = Cset  <br>BytesToBstr = objstream.ReadText  <br>objstream.Close  <br>set objstream = nothing  <br>End Function  <br><br>’下面试着调用http://www.998w.net/class/的html内容  <br>Dim Url,Html  <br>Url="http://www.998w.net/class/"  <br>Html = getHTTPPage(Url)  <br>Response.write Html  <br>%></div> </div> <p> ------------------------------------------------------ <br>代码: <br>'代码]用XMLHTTPdq程文g </p> <div id="1161161" class="myCode"> <div id="1611116" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="1666166" class="codeContent"><%  <br>Response.Buffer = True  <br>Dim objXMLHTTP, xml  <br>Set xml = Server.CreateObject("Microsoft.XMLHTTP"  <br><br>xml.Open "GET", "http://www.998w.net/down/998w1.0.rar", False  <br><br>xml.Send  <br><br>’ Add a header to give it a file name:  <br>Response.AddHeader "Content-Disposition", _  <br>"attachment;filename=mitchell-pres.zip"  <br><br>’ Specify the content type to tell the browser what to do:  <br>Response.ContentType = "application/zip"  <br><br>’ Binarywrite the bytes to the browser  <br>Response.BinaryWrite xml.responseBody  <br><br>Set xml = Nothing  <br>%> </div> </div> <p>------------------------------------- <br>如何写ASP入库偷E序 <br>  入库偷的原理也很简单:(x)是用XMLHTTPq程d|页的内容,然后Ҏ(gu)需要,对读到的内容q行加工Q过滤,替换Q分c)(j)Q最后得到自己需要的数据Q加入到数据库中?<br>首先Q我们先用XMLHTTPdq程|页Q我的另一片文章中有介l)(j)?<br>其次Q对内容q行qo(h)Q这个是比较关键的步骤,比如_(d)我要从远E网上提取出所有urlq接Q我应该怎么做呢Q?<br>代码: <br>‘q里用的是正则式 </p> <div id="1111666" class="myCode"> <div id="1166661" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="6666166" class="codeContent">Set objRegExp = New Regexp ’建立对象  <br>objRegExp.IgnoreCase = True ’大小写忽?nbsp; <br>objRegExp.Global = True ’全局为真  <br>objRegExp.Pattern = "http://.+?" ’匚w字段  <br>set mm=objRegExp.Execute(str) ’执行查找Qstr入参?nbsp; <br>For Each Match in mm ’q入循环  <br>Response.write(Match.ValueQ?nbsp;’输出url地址  <br>next </div> </div> <p>然后Q我们需要根据需要做一些替换功能,把不必要的数据替换掉Q这个比较简单,用Replace函数卛_?<br>最后,q行数据库操?<br>------------------------------- <br>一个例?<br>代码: <br></p> <div id="1161666" class="myCode"> <div id="6161666" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="6166161" class="codeContent"><%  <br>On Error Resume Next  <br>Server.ScriptTimeOut=9999999  <br>Function getHTTPPage(Path)  <br>t = GetBody(Path)  <br>getHTTPPage=BytesToBstr(t,"GB2312"  <br>End function  <br><br>’ 首先Q进行小L(fng)序的一些初始化讄Q以上代码的作用分别是忽略掉所有非致命性错误,把小L(fng)序的q行时旉讄得很长(q样不会(x)出现q行时的错 误)(j)Q{换原来默认的UTF-8~码转换成GB2312~码Q否则直接用XMLHTTPlg调用有中文字W的|页得到的将是ؕ码?nbsp; <br><br>Function GetBody(url)  <br>on error resume next  <br>Set Retrieval = CreateObject("Microsoft.XMLHTTP"  <br>With Retrieval  <br>.Open "Get", url, False, "", ""  <br>.Send  <br>GetBody = .ResponseBody  <br>End With  <br>Set Retrieval = Nothing  <br>End Function  <br><br>’然后调用XMLHTTPlg创徏一个对象ƈq行初始化设|?nbsp; <br><br>Function BytesToBstr(body,Cset)  <br>dim objstream  <br>set objstream = Server.CreateObject("adodb.stream"  <br>objstream.Type = 1  <br>objstream.Mode =3  <br>objstream.Open  <br>objstream.Write body  <br>objstream.Position = 0  <br>objstream.Type = 2  <br>objstream.Charset = Cset  <br>BytesToBstr = objstream.ReadText  <br>objstream.Close  <br>set objstream = nothing  <br>End Function  <br><br>Function Newstring(wstr,strng)  <br>Newstring=Instr(lcase(wstr),lcase(strng))  <br>if Newstring<=0 then Newstring=Len(wstr)  <br>End Function  <br><br>’处理抓取回来的数据需要调用adodb.streamlgq进行初始化讄?> </div> </div> <p>'以下即ؓ(f)面昄部分 </p> <div id="1661616" class="myCode"> <div id="6661161" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="6161161" class="codeContent"><%  <br>Dim wstr,str,url,start,over,city  <br>’定义一些需要用到的变?nbsp; <br><br>city = Request.QueryString("id")  <br>’E序传回的ID变量Q即用户选择的城?jng)?j)赋给id  <br><br>url="http://appnews.qq.com/cgi-bin/news_qq_search?city="&city&""  <br>’q里讄需要抓取的面地址Q当然你也可以直接指定某个地址而不使用变量  <br><br>wstr=getHTTPPage(url)  <br>’获取指定面的全部数?nbsp; <br><br>start=Newstring(wstr," <html>")  <br>’q里讄需要处理的数据的头部,q个变量应视不同情况而设|,具体内容可以通过查看需要抓取的面的源代码来确定。因为在q个E序里我们需要抓取整个页?所以设|ؓ(f)面全部抓取。注意,讄的内容必L面内容唯一的,不可以重复?nbsp; <br><br>over=Newstring(wstr," </HTML>")  <br>’和start相对应的是需要处理的数据的尾部,同样的,讄的内容必L面中唯一的?nbsp; <br><br>body=mid(wstr,start,over-start)  <br>’讄昄面的范?nbsp; <br><br>’下面是动用乑֝挪移大法的时候了(jin)Q通过replace可以用一些字W替换掉数据中指定的字符?nbsp; <br><br>body = replace(body,"skin1","天气预报 - 斯克|络")  <br>body = replace(body,"http://appnews.qq.com/cgi-bin/news_qq_search?city","tianqi.asp?id")  <br><br>’本程序中已经完成?jin)替换的工作Q如果有其他需要的话可以l进行类似的替换操作?nbsp; <br><br>response.write body  <br>%></div> </div><img src ="http://www.tkk7.com/9611/aggbug/124300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/9611/" target="_blank">dyin</a> 2007-06-14 14:00 <a href="http://www.tkk7.com/9611/archive/2007/06/14/124300.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>另一个博客www.dyin.cnhttp://www.tkk7.com/9611/archive/2007/06/09/123030.htmldyindyinSat, 09 Jun 2007 07:37:00 GMThttp://www.tkk7.com/9611/archive/2007/06/09/123030.htmlhttp://www.tkk7.com/9611/comments/123030.htmlhttp://www.tkk7.com/9611/archive/2007/06/09/123030.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/123030.htmlhttp://www.tkk7.com/9611/services/trackbacks/123030.htmlwww.dyin.cnQ如果大家有需要敬请关注?

dyin 2007-06-09 15:37 发表评论
]]>
抛弃STRUST 1.Xpd吧,q入2的天?/title><link>http://www.tkk7.com/9611/archive/2007/04/20/112106.html</link><dc:creator>dyin</dc:creator><author>dyin</author><pubDate>Fri, 20 Apr 2007 00:55:00 GMT</pubDate><guid>http://www.tkk7.com/9611/archive/2007/04/20/112106.html</guid><wfw:comment>http://www.tkk7.com/9611/comments/112106.html</wfw:comment><comments>http://www.tkk7.com/9611/archive/2007/04/20/112106.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/9611/comments/commentRss/112106.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/9611/services/trackbacks/112106.html</trackback:ping><description><![CDATA[STRUTS?.0?jin),之前的版本?x)逐步的消失,2?相比有了(jin)很大的区别,听说?是WEBWORKQ看来要惛_好STRUTS2q得从学?fn)WEBWORK开始啊Q? <img src ="http://www.tkk7.com/9611/aggbug/112106.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/9611/" target="_blank">dyin</a> 2007-04-20 08:55 <a href="http://www.tkk7.com/9611/archive/2007/04/20/112106.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>怀念从前之-----ASP开发技巧集锦四http://www.tkk7.com/9611/archive/2007/04/20/112104.htmldyindyinFri, 20 Apr 2007 00:51:00 GMThttp://www.tkk7.com/9611/archive/2007/04/20/112104.htmlhttp://www.tkk7.com/9611/comments/112104.htmlhttp://www.tkk7.com/9611/archive/2007/04/20/112104.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/112104.htmlhttp://www.tkk7.com/9611/services/trackbacks/112104.htmlfunction ConfirmDel()
{
      if(confirm("定要删除吗Q一旦删除将不能恢复Q?))
         return true;
      else
         return false;
}

<form name="del" method="Post" action="Del.asp" onsubmit="return ConfirmDel();">

==============================================================



我自q的一个?br>function ConfirmReset()
{
      if(confirm("定取消操作吗?一旦取消操作将不能恢复Q?))
      window.form1.reset();
      // return true;
}
<a href="javascript:ConfirmReset();"><img src="button_cance.gif"></a>



32. indexOf() 用法



<字符串对?gt;.indexOf(<另一个字W串对象>[, <起始位置>])Q?br>


该方法从<字符串对?gt;中查?lt;另一个字W串对象>Q如果给?lt;起始位置>忽略之前的位置Q,如果扑ֈ?jin),p回它的位|,没有扑ֈp?#8220;-1”。所有的“位置”都是从零开始的?br>eg. Str.indexOf(“AP”)>-1 说明str中存?#8221;AP”字符?br>


33. 生成水?br>


<%
if request.form("Modf") <> "" then
Dim   rs
Dim sql
Dim BugID
dim today
today=date()
toyear=year(today)
toyear=toyear*10000
tomonth= month(today)
tomonth=tomonth*100
tonow=day(today)
Serialnum = toyear + tomonth + tonow
Serialnum = Serialnum*10000+1



set rs = Server.CreateObject("ADODB.recordset")
sql = "select top 1 * from buglist order by SubmitDate desc"
rs.open sql,conn,1,3
if   not rs.eof then
      Dim OldSerialnum
      OldSerialnum = Rs("BugID")
      OldSerialnum = right(OldSerialnum,12)
      Serial = right(Serialnum,12)
      if OldSerialnum - Serial >= 0 then
      Serialnum = OldSerialnum + 1
      end if
end if
BugID = "ES"&request("ProductVersion")&Serialnum



34. 响应回R



function getdata(what,whatid)
{
     if (event.keyCode==13)
     ……
<input name="SerialNum<%=i%>"    type="text" onKeyDown="getdata(window.form1.SerialNum<%=i%>.value,<%=i%>)">



35. 关闭H口前刷新父面



response.write "<script language = javascript>"
response.write "javascript:opener.location.reload(); "
response.write "javasript:window.close();</script>"



36. JS事g



事g / 描述



onblur 事g 发生在窗口失ȝ点的时候?br>onchange 事g 发生在文本输入区的内容被更改Q然后焦点从文本输入区移C后?br>onclick 事g 发生在对象被单击的时候?br>onerror 事g 发生在错误发生的时候?br>onfocus 事g 发生在窗口得到焦点的时候?br>onload 事g 发生在文档全部下载完毕的时候?br>onmousedown 事g 发生在用h鼠标攑֜对象上按下鼠标键的时候。参?onmouseup 事g?br>onmouseout 事g 发生在鼠标离开对象的时候。参?onmouseover 事g?br>onmouseover 事g 发生在鼠标进入对象范围的时候?br>onmouseup 事g 发生在用h鼠标攑֜对象上鼠标键被按下的情况下,攑ּ鼠标键的时候?br>onreset 事g 发生在表单的“重置”按钮被单击(按下q放开Q的时候?br>onresize 事g 发生在窗口被调整大小的时候?br>onsubmit 事g 发生在表单的“提交”按钮被单击(按下q放开Q的时候?br>onunload 事g 发生在用户退出文档(或者关闭窗口,或者到另一个页面去Q的时候?br>onSelect 当Text或Textarea对象中的文字被加亮后Q引发该事g?
onFocus 当用户单击Text或textarea以及(qing)select对象Ӟ产生该事件?
onBlur 当text对象或textarea对象以及(qing)select对象不再拥有焦点、而退到后台时Q引发该文g.
onDragDrog 拖放时发?br>onLoseCapture  
onDblClick 鼠标双击事g
onKeyPress 当键盘上的某个键被按下ƈ且释放时触发的事?[注意:面内必L被聚焦的对象]
onKeyDown 当键盘上某个按键被按下时触发的事件[注意:面内必L被聚焦的对象]
onKeyUp 当键盘上某个按键被按攑ּ时触发的事g[注意:面内必L被聚焦的对象]
onAbort 囄在下载时被用户中?
onBeforeUnload 当前面的内容将要被改变时触发的事g
onMove 览器的H口被移动时触发的事?br>


37. 自动最大化



function window_onload()
{
      window.moveTo(-2,-2);
      window.resizeTo(screen.availWidth, screen.availHeight);
}



<body onload="window_onload()">



38. 几个SQL技?br>


Select Area,Territory,username,sum(dealqty) DealQty,count(Projectnum) ProjectQty,sum(TotalAmount) TotalAmountQty,sum(TotalPowerRT) TotalPowerRT   FROM VW_PreviewTerritory   where    username = 'D龙? group by area,Territory,username
只要把不需要统计的东西分组可以了(jin)?br>


select area,count(projectnum) TotalProjectQty,sum(DealQty) TotalDealQty,sum(TotalAmount) TotalAmountQty,sum(TotalPowerRT) TotalPowerRTQty from vw_previewProject where username = 'admin' group by area
q个也是一PCQcount() 只是计数Q不这个字D值是多少。sum()是求和,把所有加在一赗?br>


39. Eval用法



eval("ProducingArea"+i+".style.display = 'none' ;");
单引号不影响
eval("if((window.form1.ProductBaseType"+i+".value!='' && window.form1.ProductBaseType"+(i+1)+".value =='')==true);");
//错误Q?br>if(eval("window.form1.ProductBaseType"+i+".value!='' && window.form1.ProductBaseType"+(i+1)+".value ==''")==true)
//以后记得凡是有if判断的,把eval("")写在里面Q就比较好!
if(confirm(eval("'信要在'+window.form1.ProductBaseType"+(i)+".value+'后添加子c?'")))







40. H口关闭之前

function window_onbeforeunload(Projectnum)
{
    if (event.clientX > document.body.clientWidth && event.clientY < 0 )
    {
       var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
       oXMLHTTP.open("POST","CheckProjectDeal.asp?Projectnum="+Projectnum,false);
       oXMLHTTP.send();
       Str=unescape(oXMLHTTP.responseText);
       if (unescape(oXMLHTTP.responseText)!="YES")
       {
            window.event.returnValue="目臛_需要一个销售机?x)?;
        }
      }
}

41. 标准表格

***************

* q个是标?br>
***************

<table cellspacing=0 cellpadding=0 width="100%" border=0>

   <tr>

      <td   class=title   nowrap   align=left>
<%response.write Application("LProductManage"&session("LanguageId"))%>

     </td>

   </tr>

</table>

***************

* q个是横U?br>
***************

<table cellspacing=0 cellpadding=0 width="100%" border=0>

   <tbody>

   <tr>

     <td>

     </td>

   </tr>
<tr class="linecolor">

<td height="2"></td>

</tr>
<tr>

<td class="tdcolor" align=left height=15> </td>

</tr>

   </tbody>

</table>


***************

* q个是表?br>
***************

<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor="#d0d090">

    <tbody>

      <th align="middle" class=light2><b><%=application("Lstatus"&session("languageid"))%></b></th>

      <th align="middle" class=light2><b><%=application("LSaleStage"&session("languageid"))%></b></th>
  
     <tr bgColor="white">

     <td align="middle"> </td>

     <td align="middle"> </td>

     </tr>


   </tbody>

</table>

Ҏ(gu)\填充 = 0

间隔 Q?1

底色 = #d0d090

42. q也?br>
for i=2 to num

   BaseTypeAllPArr = request("BaseType"&i&"P"&jLoop)&":"&BaseTypeAllPArr

   response.Write "   OOOO   "&request("BaseType"&i&"P"&jLoop)&"   OOOO    <br>"
next

43. 标准注释?br>
'' ******************************************************************

'' 文g?

'' Copyright (c) 2001-2005 ××信息技术公司Y仉

'' 功能描述:产品~辑

'' 参数

'' 牉|数据表,视图Q存储过E:(x)自定义函数dbo.GetSubTreeinfo

'' 包含的文?

'' 调用的公用函敎ͼc,Ҏ(gu)

'' 创徏?Kokey YU

'' 日 ? 2005-8-9

'' 修改?

'' 日 ?

'' 修改说明:

'' 版 ?

'' ******************************************************************/       

44. title换行

<a href="javascript:;" title="q是一行这是另一行!">把鼠标放上来</a>


dyin 2007-04-20 08:51 发表评论
]]>
怀念从前之-----ASP开发技巧集锦三http://www.tkk7.com/9611/archive/2007/04/20/112103.htmldyindyinFri, 20 Apr 2007 00:50:00 GMThttp://www.tkk7.com/9611/archive/2007/04/20/112103.htmlhttp://www.tkk7.com/9611/comments/112103.htmlhttp://www.tkk7.com/9611/archive/2007/04/20/112103.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/112103.htmlhttp://www.tkk7.com/9611/services/trackbacks/112103.html
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br>其实也可以用<!--#include file="fuck.asp"-->



22. 全部选定



<SCRIPT language=javascript>
function CheckAll(form)
   {
   for (var i=0;i<form.elements.length;i++)
     {
     var e = form.elements[i];
     if (e.Name != "chkAll")
        e.checked = form.chkAll.checked;
     }
   }
</script>
引用Q?br><td width="250" height="30"><input name="chkAll" type="checkbox" id="chkAll" onclick=CheckAll(this.form) value="checkbox">选中本页昄的所?lt;/td>



格Q?br><input name='username' type='checkbox'   id="username" value="<%=cstr(rsView("username"))%>">



23. 如何处理面执行时发生的错误Q?br>


<%@ LANGUAGE="VBScript" %>
<%
       Response.Buffer = True ' 打开面~冲
       On Error Resume Next   ' 打开错误处理
       …………' ASP代码
%>



<%
       If Err.Number <> 0 Then   ' 错误处理
       Response.Clear   ' 清除~冲?br>%>



<HTML>' 昄错误信息面
<HEAD>
<TITLE>面错误报告</TITLE>
</HEAD>



<BODY BGCOLOR="#C0C0C0">
<font color=red>
<p>面错误报告</p>



错误?<%= Err.Number %><BR>
错误描述:<%= Err.Description %><BR>
错误?Source <%= Err.Source %><BR>
错误发生?<%= Err.Line %><BR>
</BODY>
</HTML>
<%
End If
%>



24. 收藏夹图?



?HEAD 部分加入下面的内?  
<LINK REL="SHORTCUT ICON" HREF=http://www.alleasy.com.cn/alleasy.ico>



在地址栏加入图标(图标必须?ico格式Qƈ且要加入收藏后才有效Q?br>在HEAD里加?<link rel="shortcut icon" href="favicon.ico">



25. 校验提交表单Q正则表辑ּ应用Q?br>


<script language="JavaScript">
<!--
function CheckForm()
{
if (LoginID.value =="")
{
alert("请填写?zhn)的登录名Q?);
LoginID.focus();
return false;
}
var filter=/^\s*[.A-Za-z0-9_-]{5,15}\s*$/;
if (!filter.test(LoginID.value)) {
alert("用户名填写不正确,请重新填写!可用的字符为(A-Z a-z 0-9 _ - .)长度不小?个字W,不超q?5个字W,注意不要使用I格?);
LoginID.focus();
LoginID.select();
return false;
}
if (Password.value =="")
{
alert("请填写?zhn)的密码?);
Password.focus();
return false;
}
var filter=/^\s*[.A-Za-z0-9_-]{5,15}\s*$/;
if (!filter.test(Password.value)) {
alert("密码填写不正?请重新填写!可用的字符为(A-Z a-z 0-9 _ - .)长度不小?个字W,不超



q?5个字W,注意不要使用I格?);
Password.focus();
Password.select();
return false;
}
if (Password.value != ConfirmPassword.value)
{
alert("请两ơ填写的密码不一_(d)请重新填写!");
ConfirmPassword.focus();
return false;
}
if (CompanyName.value =="")
{
alert("请填写贵公司名称Q?);
CompanyName.focus();
return false;
}
var filter=/^[a-zA-Z][a-zA-Z0-9._-]*@([a-zA-Z0-9-_]+\.)+(com|gov|net|com\.cn|edu\.cn)$/;
if(!filter.test(document.myform.Email.value)){
alert("邮箱格式不正?");
document.myform.Email.focus();
return false;
}
myform.submit();
return true;
}
//-->
</SCRIPT>



l一一下,以后都这样写
<form method="POST" name="myform"   action="Checkreg.asp" >
</form>



<input type="button" name="Submit" value="提交" onClick="CheckForm();">



26. 循环



<%
dim sql,rs
set rs=server.createobject("ADODB.recordset")
sql="select * from news where bigclassname='解决Ҏ(gu)'"
rs.open sql,conn,1,3
for k=1 to rs.recordcount
if rs.eof then
exit for
else
%>



<tr>
<td>
          asfasdf
</td>
</tr>



<%
rs.movenext
end if
next
%>



27. 另一个只能输入数字代?br>


<script language=java script>
function check(){
    if(isNaN(tt.value))
     {
       alert("必须是数?");
       tt.value="";
     }
</script>



<input type="text" name="tt" onkeyup="check();">



28. 有选择昄



function showco(va)
{  
      if (va=="CO")
      {
              RefNum.style.display=''; //不再用这个可以直接用 block
              buttonsp.style.display='none';
       }
        if (va=="SP")
       {
               buttonco.style.display='none';
               buttonsp.style.display='';
               kokey.style.display='';
       }
        if (va=="Inventory")
       {
                RefNum.style.display='none'; //不显C?br>                Reftr.style.display="block"; //昄
        }



调用Q?br>


<select name="RefType" style='width:77pt'   onChange="showco(this.value)">



    <option value="Inventory">Inventory</option>



    <option value="CO" >CO</option>



    <option   value="SP">SP</option>



</select>



选择昄?<tr id="Reftr" name="Reftr" style="display:none">也可以用<div id=”Resftr” ></div>



29. 调试参数昄规范



Response.Write session("LoginCompanyId")&","&Date&","&Request.Form("Owner")&","&Request.Form("Name")&
//注意最后没?只是在,之间?,"    其他?amp;&引用卛_
//也就是说只是?nbsp;  &","&   中间加一个逗号Q其他的该怎么写,怎么?br>Response.End



30. 从数据库填充下拉菜单



<%
sql = "select * from BigClass"
rs.open sql,conn,1,1
%>



<select name="BigClassName" size="1">
<option selected value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>



<%
rs.movenext //不能,否则重复
do while not rs.eof
%>



<option value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
<%
rs.movenext
loop
rs.close
%>
</select>

//以下是新Ҏ(gu)
<select name="SrcNo">
<%do while not SrcRs.eof%>
<option value="<%=trim(SrcRs("Cost"))%>"
              <%
              if Trim(SrcComRs("SrcNo")) = Trim(SrcRs("Cost")) then
              response.Write "selected"
              end if
              %>
                ><%=trim(SrcRs("Cost"))%>
</option>
<%
    SrcRs.movenext
     loop
     SrcRs.close
%>
</select>


dyin 2007-04-20 08:50 发表评论
]]>
怀念从前之----ASP开发技巧集锦二http://www.tkk7.com/9611/archive/2007/04/20/112102.htmldyindyinFri, 20 Apr 2007 00:49:00 GMThttp://www.tkk7.com/9611/archive/2007/04/20/112102.htmlhttp://www.tkk7.com/9611/comments/112102.htmlhttp://www.tkk7.com/9611/archive/2007/04/20/112102.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/112102.htmlhttp://www.tkk7.com/9611/services/trackbacks/112102.htmlif rs.bof and rs.eof then   ‘q是有问?br>response.write"<SCRIPT language=JavaScript>alert('找不刎ͼ');"
response.write"javascript:history.go(-1)</SCRIPT>"
end if
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br>q个是蟩转?br><script language="javascript">
alert('<%=intOperationInfo%>');
window.navigate('ChangePwd.asp');
</Script>
12. 从VBS到JSQ؜?br>    <%
    dim checkpwdconfig     
    checkpwdconfig=split(addation,"/")
    %>
    <script language="javascript">
    alert("<%=checkpwdconfig(0)%>")
    </script>
13. 弹出H口
<script language=javascript>
function openaddnew()
{
subWindow=window.open("../Edit/PasswordConfigEdit.asp?method=new",'','scrollbars=yes,left=120,top=60,height=250,width=500,menubar=no,location=no,toolbar=no,resizable=yes','')
subWindow.opener = this;
}
</script>
用一个连接调用:(x)
<a href=""Q?">请修改密?onClick="openaddnew()"</a>
囄调用Q?br><img name=submit1 src="../button_new<%=session("languageid")%>.gif"   onClick="openaddnew()">
14. 分页
<!--#include file="conn.asp"-->
<%
if request("pageno")<>"" then
     pageno=int(request("pageno"))
else
pageno=1
end if
sql="select * from news where [language]='中文' and bigclassname='新闻' order by id desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,3
rs.pagesize=20
if rs.eof then
pageno=0
else
rs.absolutepage=pageno
end if
%>
==========================================
?lt;%=rs.recordcount%>?<%=pageno%>/<%=int(rs.pagecount)%>?每页<%=rs.pagesize%>?br>   <a href="manage.asp?pageno=1">首页</a>
   <%if pageno>1 then%>
   <a href="manage.asp?pageno=<%=int(pageno)-1%>">上一?lt;/a>
   <%
   end if
   if int(pageno)<>int(rs.pagecount)then
%>
   <a href="manage.asp?pageno=<%=int(pageno+1)%>">下一?lt;/a>
   <%end if%>
   <a href="manage.asp?pageno=<%=int(rs.pagecount)%>">N</a>
   <%rs.close%>
   <%
call CloseConn()
%>
15. 数据库更?br>   sql="select * from [user] where username='"&request("username")&"'"
   rs.Open sql,Conn,1,3
   rs("usermail")=Request("usermail")
   rs("userhome")=Request("userhome"))
   rs.update
   rs.close
16. 关闭独立H口
<head>
<OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff- 11cf-9377-00aa003b7a11"><param name="Command" value="Close">
</object>
</head>
<body>
<input type="button" value="点击我关闭窗? onclick="closes.Click();">
</body>
17. 极细表格
<table border="1" cellpadding="0" cellspacing="0" width="32" height="32" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr>
<td> </td>
</tr>
</table>
18. 几个正则表达?br>Require : /.+/,    
Email : /^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/,    
Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,    
Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/,    
Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,    
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,    
Currency : /^\d+(\.\d+)?$/,
Number : /^\d+$/,    
Zip : /^[1-9]\d{5}$/,    
QQ : /^[1-9]\d{4,8}$/,    
Integer : /^[-\+]?\d+$/,    
Double : /^[-\+]?\d+(\.\d+)?$/,    
English : /^[A-Za-z]+$/,    
Chinese :   /^[\u0391-\uFFE5]+$/,    
UnSafe :/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/,
19. Left应用Q控制字敎ͼ(j)
function title(str)
if len(trim(str))>=28 then
title=left(trim(str),27)&"..."
else
title=trim(str)
end if
end function
20. 判断览?br><SCRIPT LANGUAGE="javascript1.2">
<!--//
if (navigator.appName == 'Netscape')
var language = navigator.language;
else
var language = navigator.browserLanguage;
if (language.indexOf('en') > -1) document.location.href = 'en/index.asp';
else if (language.indexOf('zh') > -1) document.location.href = 'cn/index.asp';
else
document.location.href = 'cn/index.asp';
// End -->
</script>


dyin 2007-04-20 08:49 发表评论
]]>
怀念从前之-------ASP开发技巧集锦一http://www.tkk7.com/9611/archive/2007/04/20/112101.htmldyindyinFri, 20 Apr 2007 00:48:00 GMThttp://www.tkk7.com/9611/archive/2007/04/20/112101.htmlhttp://www.tkk7.com/9611/comments/112101.htmlhttp://www.tkk7.com/9611/archive/2007/04/20/112101.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/112101.htmlhttp://www.tkk7.com/9611/services/trackbacks/112101.html1. 几个常用函数
Round(pi, 2) 四舍五入

FormatNumber(k,4) ' ?k 格式化ؓ(f)带四位小数点的数?
eg. 如果k =20000则显CZؓ(f)20,000.00Q如果把formatnumber(k,0)则ؓ(f)20,000

Replace(expression,find,replacewith) 'q回一字符Ԍ其中指定的子串已被另一个子串替?

Left(String,Length) 'q回指定数目的从字符串的左边v的字W串?

Split(expression[, delimiter[, count[, start]]]) 'q回Z 0 的一l数l,其中包含指定数目的子字符丌Ӏ?
eg. 常用q个 Split(String,[delimiter]) ' 用delimiter(用于标识子字W串界限的字W?来划分字W串

Instr(String1,String2) 'q回某字W串在另一字符串中W一ơ出现的位置
eg1. if instr(addation,"密码配置?)<>0 then '说明存在
eg2. if instr(str,”AP”) >0 不好区分str = (AP,AP&AC),此时只要变ؓ(f)Q?#8217;AP’,’AP&AC’Q?再用instr(str,”’AP’”)
2. 弹出H口Pick?

function pickupSP(spdisid,pjnum,pdcode)
{
window.opener.<%=theForm%>.RefNum<%=Spid%>.value=spdisid;
window.opener.<%=theForm%>.LineS<%=Spid%>.value=pjnum;
window.opener.<%=theForm%>.kokey<%=Spid%>.value=pdcode;
window.close();
}
3. ASP控制囄昄的大({比例羃放)(j)
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script language="JavaScript">
<!--
var flag=false;
function DrawImage(ImgD){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= 164/112){
if(image.width>164){
ImgD.width=164;
ImgD.height=(image.height*164)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"x"+image.height;
}
else{
if(image.height>112){
ImgD.height=112;
ImgD.width=(image.width*112)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"x"+image.height;
}
}
}
//-->
</script>
</HEAD>
<BODY>
<a href="./img.jpg" target="_blank"><img src="./img.jpg" border="0" width="164" height="112" onload="javascript:DrawImage(this);"></a>
</BODY>
</HTML>
4. ASP中对数据库表的操?Insert/Update/Delete),可用事务处?q支持多事务处理.
在ASP的数据库对象链接对象?提供?jin)一下属?
BeginTrans 事务开?
CommitTrans 事务提交
RollbackTrans 事务回滚
<%
On Error Resume Next ’错误发生后l处?
'Asp中用事?
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "course_dsn","course_user","course_password"
conn.begintrans '开始事?
sql="delete from user_info"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,3
if conn.errors.count>0 then '有错误发?
conn.rollbacktrans '回滚
set rs=nothing
conn.close
set conn=nothing
response.write "交易p|Q回滚至修改前的状态!"
response.end
else
conn.committrans '提交事务
set rs=nothing
conn.close
set conn=nothing
response.write "交易成功Q?
response.end
end if
%>
在ASP?不提供事务的l束,BeginTrans只作用于自己的域,cM于变量声明一?如果在函C内BeginTrans,则事物只作用于本函数?如果BeginTrans在函C?处于面U?则事务的作用域从BeginTrans开?到页面的l束均处于事务的理状态下.
5. EasySales数据库操?

dim objCon,objRst,objsql
dim companyid
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open SYSDNS,SYSNAME,SYSPASSWORD
Set objRst = Server.CreateObject("ADODB.RecordSet")
objsql="select * from PasswordConfig where companyid='"&session("CompanyID")&"'"
objRst.Open objsql,objCon,1,3
6. html格式邮g发?
HTML = "<html>"
HTML = HTML & "<head>"
HTML = HTML & "<title>Sending CDONTS Email Using HTML</title>"
HTML = HTML & "<link href="../cn/new.css" rel="stylesheet" type="text/css">"
HTML = HTML & "</head>"
HTML = HTML & "<body bgcolor=""FFFFFF"">"
HTML = HTML & "<p><font size=7>"
HTML = HTML & "This is a test mail in html<br>"
HTML = HTML & "Mail content here ...</font></p>"
HTML = HTML & "</body>"
HTML = HTML & "</html>"
dim StrRecEmail,StrPosEmail,StrSubject,StrBody
StrRecEmail=request("email")
StrPosEmail="yufh@alleasy.com.cn"
StrSubject="资料下蝲通知?
StrBody=HTML
7. input是下划线
style="BORDER-RIGHT: #f7f7f7 0px solid; BORDER-TOP: #f7f7f7 0px solid; FONT-SIZE: 9pt; BORDER-LEFT: #f7f7f7 0px solid; WIDTH: 110px; BORDER-BOTTOM: #c0c0c0 1px solid; HEIGHT: 16px; BACKGROUND-COLOR: #f7f7f7"
8. Session & Cookie
写入一个SESSIONQ 
   Session["username"])="aa";
   Session("username")="aa"   
   d一个SESSINNQ?  
   string username= Session["username"]; 
   dim username=Session("username")  
   Cookie与此用法大致相同
9. 几个VB中的常数
下列常数?Visual Basic for Applications 中的cd库定义,可用来在代码中的M地方代替实际|(x)
常数 {于 描述
vbCrLf Chr(13) + Chr(10) 回RW与换行W结?
vbCr Chr(13) 回RW?
vbLf Chr(10) 换行W?
vbNewLine Chr(13) + Chr(10) q_指定的新行字W;适用于当前^?
vbNullChar Chr(0) gؓ(f) 0 的字W?
vbNullString gؓ(f) 0 的字W串 用来调用外部q程Q与长度为零的字W串 ("") 不同
vbObjectError -2147221504 用户定义的错误号应当大于该|例如Q?
Err.Raise Number = vbObjectError + 1000
vbTab Chr(9) Tab 字?
vbBack Chr(8) 退格字W?

10. 按钮Z可用
<%if rsView.eof and rsView.bof then %> ‘ q里有个大问题,下文再说
<input name="submit" type='submit' value='寚w定用户解鎖' disabled>
<%else%>
<input name="submit" type='submit' value='寚w定用户解鎖' >
</td>
<%end if%>



dyin 2007-04-20 08:48 发表评论
]]>
JSP高~程【分享?/title><link>http://www.tkk7.com/9611/archive/2007/02/06/98424.html</link><dc:creator>dyin</dc:creator><author>dyin</author><pubDate>Tue, 06 Feb 2007 12:35:00 GMT</pubDate><guid>http://www.tkk7.com/9611/archive/2007/02/06/98424.html</guid><wfw:comment>http://www.tkk7.com/9611/comments/98424.html</wfw:comment><comments>http://www.tkk7.com/9611/archive/2007/02/06/98424.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://www.tkk7.com/9611/comments/commentRss/98424.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/9611/services/trackbacks/98424.html</trackback:ping><description><![CDATA[ <p> <br /> <font color="#0000ff">前言</font> <br />JSP是一U如日中天的新型Internet/Intranet开发语aQ可以在多种操作pȝq_和多UWeb服务器下使用。本书从最基础的JSP开发开始,循序渐进Cl了(jin)JSP 开发技术,q涵盖了(jin)许多高主题Q如需要在企业UWeb应用中用的Ҏ(gu)—Enterprise JavaBeans、JDBC 2.0、数据库q接池和自定义标{ֺ。本书既适合初学者阅读,也适合h一定JSP基础的开发h员深入研I用?</p> <p>?a JSP是SUN公司推出的一U新型的Internet/Intranet开发语aQ和前一代Internet/Intranet开发语a(ASP、PHP)相比QJSP在以下几个方面有?jin)重大的H破Q?1) 通过JSP的扩展标{ֺ和JavaBeans功能Q网站逻辑和网站界面可以完地分离?2) 使用Enterprise JavaBeansQ可以轻村֜在JSP开发的Web中实C务、安全、会(x)话等{企业应用所需要的功能?3) JDBC2.0提供?jin)不同的数据库品无关的数据库连接方式,更重要的是,数据库连接池提供了(jin)一U比普通的数据库连接方式效率高得多的连接方式?JSP的语法基本上和Java是相同的Q有Java基础的读者可以很快学?x)如何用JSPQ而没有Java语言基础的读者,只要循序渐进地阅L书,一样可以成为JSP~程的高手。本书主要分Z个部分:(x)W一部分为JSP基础部分。通过q一部分的学?fn),读者可以掌握JSP的基本用方法,学会(x)如何使虽JSP来开发一般的中、小型Web应用。这一部分使用常见的Apache Group的Tomcat作ؓ(f)JSP引擎的例子。第二部分ؓ(f)JSP高应用部分。这一部分主要讲述如何使用JSPq行大型Web应用的开发,Z(jin)方便读者学?fn),本书q专门讲qC(jin)SUN公司的J2SDKEE和B公司的Webloglc应用服务器的基本使用Ҏ(gu)?JSP可以在各U操作系l和各种Web服务器下使用Q其代码基本上不需要Q何改动就可以使用。本书ؓ(f)?jin)适应大多数读者的情况Q用了(jin)Windows操作pȝ作ؓ(f)例子Q具体的试验q_如下Q?Windows 2000Advanced Server Apachel.3.14 Intemetln允rmation Server 5.0 Tomcat 3.1 J2SDKEE l.2 BEA Wiblogic 5.1 除了(jin)上述q_Q书中的代码q在如下q_q行?jin)测试?x) RedhatUnux 6.1 Apache l.3.12 TOmcat 3.1 BEA Weblogic 4.51 数据库系l主要用了(jin)Microsoft SQL Server 7.0Q部分代码用了(jin)MySQL?br /><br /><br />目录<br />W一部分   JSP入门<br />W?章 ?概述 <br />1.1   Java技术?br />1.1.1   Java技术的发展 <br />1.1.2   JavaBeans <br />1.1.3   JDBC <br />1.1.4   J2EE <br />1.1.5   EJB <br />1.1.6   Java Servlet <br />1.2   JSP技术?br />1.2.1   JSP技术概qW?br />1.2.2   JSP的优势及(qing)与其他Web开发工L(fng)比较 <br />1.3   JSP开发Web的几U主要方式?br />1.3.1   直接使用JSP <br />1.3.2   JSP+JavaBeans <br />1.3.3   JSP+JavaBeans+Servlet <br />1.3.4   J2EE开发模型?br />1.4   本书用到的Y件及(qing)获取 <br />W?章?预备知识 <br />2.1   JavaE序设计基础 <br />2.1.1   Java语言规则 <br />2.1.2   Java变量和函敊W?br />2.1.3   子类 <br />2.1.4   this和super <br />2.1.5   cȝcd <br />2.1.6   抽象c?br />2.1.7   接口 <br />2.1.8   包?br />2.2   JavaBeans <br />2.2.1   JavaBeans的属性?br />2.2.2   JavaBeans的事件?br />2.2.3   持久化?br />2.2.4   用户化?br />2.3   Java Servlet <br />2.3.1   HTTP Servlet API <br />2.3.2   pȝ信息 <br />2.3.3   传送HTML信息 <br />2.4   SQL语言 <br />2.4.1   SQL子类型?br />2.4.2   SQL语言的具体命令和使用 <br />2.5   JDBC <br />2.5.1   什么是 JDBC <br />2.5.2   JDBC 产品 <br />2.5.3   q接概述 <br />2.5.5   一个简单的例子 <br />W?章 ?JSP开发^台的建立QTomcat <br />3.1   Tomcat的安装和直接使用 <br />3.2   Tomcat和Apache的配合?br />3.3   Tomcat和IIS的配合?br />3.4   Tomcat的配|和常见问题 <br />3.4.1   Tomcat的主配置文gQserver.xml <br />3.4.2   Windows下代码保护的问题 <br />3.4.3   Apache、IIS和Tomcat协作时工?br />目录的添加?br />3.4.4   讑֮Tomcat作ؓ(f)Windows的服务而启动?br />3.4.5   在Tomcat中徏立新的Web应用E序 <br />W?章 ?JSP的语法和语义 <br />4.1   通用的语法规则?br />4.1.1   元素的语法规则?br />4.1.2   JSP中的相对路径 <br />4.2   注释 <br />4.3   指o(h) <br />4.3.1   page指o(h) <br />4.3.2   include指o(h) <br />4.3.3   taglib指o(h) <br />4.4   内置对象 <br />4.5   脚本元素 <br />4.5.1   声明 <br />4.5.2   表达式?br />4.5.3   脚本代码 <br />4.6   动作 <br />4.6.1   id和scope属性?br />4.6.2   标准动作 <br />W?章 ?作ؓ(f)XML的JSP <br />5.1   Z么要使用XML相容的语法Ş式?br />5.2   关于文本cd的语法?br />5.2.1   jsp:root元素 <br />5.2.2   公共标识W?br />5.3   指o(h) <br />5.3.1   page指o(h) <br />5.3.2   include指o(h) <br />5.3.1   taglib指o(h) <br />5.4   脚本元素 <br />5.4.1   声明 <br />5.4.2   脚本代码 <br />5.4.3   表达式?br />5.5   如何一个普通的JSP文g转换Z个XML<br />文档 <br />5.6   JSP1.1的DTD文g <br />W?章 ?JSP基础实例 <br />6.1   W一个JSPE序—HelloWorld! <br />6.2   注释的用?br />6.3   脚本元素 <br />6.3.1   声明 <br />6.3.2   表达式?br />6.3.3   脚本代码 <br />6.4   page指o(h) <br />6.4.1   import <br />6.4.2   session <br />6.4.3   错误处理 <br />6.5   包含其他文g <br />6.6   使用JavaBean <br />6.7   内置对象 <br />6.7.1   用request对象获取客户端的数据 <br />6.7.2   用response对象向客L(fng)发送信息?br />6.7.3   其他内置对象 <br />6.8   <jsp:forward> <br />6.9   使用插g <br />6.10   使用session对象 <br />6.10.1   ?x)话的概念?br />6.10.2   session对象可用的方法和属性?br />6.10.3   session对象的基本例子?br />6.10.4   利用session制作一个购物R <br />6.10.5   JavaBeans的作用域 <br />6.10.6   利用JavaBeans制作的购物R <br />6.11   使用application对象 <br />6.11.1   应用的概念?br />6.11.2   application对象可用的方法和属性?br />6.11.3   application对象内包含的pȝ信息 <br />6.11.4   利用application建立一个简单的聊天室?br />W?章?用JSP实现常见的Web应用 <br />7.1   常见的Web应用?qing)分析?br />7.1.1   留言ѝ论坛和C֌ <br />7.1.2   聊天室?br />7.1.3   搜烦(ch)引擎 <br />7.1.4   ?sh)子商务?br />7.1.6   后台理pȝ <br />7.2   留言板?br />7.2.1   功能分析 <br />7.2.2   功能实现和技术要点?br />7.2.3   代码和分析?br />7.3   q一步完善的留言板?br />7.3.1   功能分析 <br />7.3.2   功能实现和技术要点?br />7.3.3   代码和分析?br />7.4   聊天室?br />7.4.1   功能实现和技术要点?br />7.4.2   代码和分析?br />7.5   下一步?br />W二部分   高JSP技?br />W??JSP开发^台的搭徏QJ2EE <br />8.1   J2SDKEE的安装和使用 <br />8.1.1   软硬件的支持 <br />8.1.2   安装 <br />8.2   J2SDKEE的配|?br />8.2.1   JDBC的配|?br />8.2.2   事务处理 <br />8.2.3   服务的端口号 <br />8.2.4   日志文g <br />8.2.5   安全 <br />8.2.6   钝化发生的内存极限?br />8.2.7   JNDI服务器主机?br />8.2.8   HTTP服务的发布目录?br />8.3   WebLogic的安装和使用 <br />8.3.1   软硬件要求?br />8.3.2   安装和启动?br />8.4   WebLogic的配|?br />8.4.1   pȝU参数的讄 <br />8.4.2   WebLogic作ؓ(f)HTTP服务器用?br />8.4.3   使用ISAPI桥连接WebLogic和IIS <br />8.4.4   WebLogic配置CZ <br />W?章?扩展JSP标签 <br />9.1   概述 <br />9.1.1   扩展标签的作用?br />9.1.2   如何开发扩展标{?br />9.1.3   单的扩展标签 <br />9.1.4   包含内容处理的扩展标{?br />9.1.5   能够协作的扩展标{?br />9.1.6   定义?jin)脚本变量的扩展标签?br />9.2   标签处理cȝ开发?br />9.2.1   接口和基c?br />9.2.2   开发?br />9.3   标签库文件?br />9.3.1   taglib <br />9.3.2   tag <br />9.4   定位一个tld文g <br />9.4.1   在Web.xml中定位一个tld文g <br />9.4.2   直接在JSP文g中定位tld文g <br />9.5   扩展标签实例 <br />9.5.1   得到父标{数据 <br />9.5.2   TestTagc?br />9.5.3   Titlec?br />9.5.4   Datac?br />9.5.5   TLD文g <br />9.5.6   在JSP中用扩展标{?br />W?0章 ?Enterprise JavaBeans <br />10.1   Java服务器端lg标准—EJB <br />10.1.1   EJB和JavaBeans <br />10.1.2   EJB的开发与使用中的角色 <br />10.2   Session Bean <br />10.2.1   Session Bean的状态管理模式?br />10.2.2   Session Bean的生命周期?br />10.3   Entity Bean <br />10.3.1   Entity Bean的特性?br />10.3.2   Entity Bean的生命周期?br />10.4   EJB的开发?br />10.4.1   Enterprise JavaBeans的实际处理文件?br />10.4.2   实现EJBObject文g <br />10.4.3   实现EJBHome文g <br />10.4.4   生成ejb-jar.xml文g <br />10.4.5   打包生成JAR文g <br />10.5   EJB的部|y(c)J2SDKEE <br />10.5.1   使用deploytool打包EJB <br />10.5.2   使用deploytol部vEJB <br />10.6   EJB的部|y(c)BEA WebLogic <br />10.6.1   生成可部|的ejb-jar包?br />10.6.2   部vWbLogic的ejb-jar包?br />10.7   使用EJB <br />10.7.1   本地讉KEJB <br />10.7.2   q程讉KEJB <br />10.8   JSP和EJB <br />10.9   EJB开发实例—电(sh)子商务应用?br />10.9.1   EJB的实现文件—TestCartEJB <br />10.9.2   实现Home接口TestCartHome <br />10.9.3   实现q程Object接口TestCart <br />10.9.4   EJB的WeblgTestCartWebImp <br />10.9.5   JSP文g <br />10.9.6   实例的内部运行逻辑 <br />W?1章 ?其他高功能 <br />11.1   JDBC2.0和JDBC数据库连接池 <br />11.1.1   JDBC2.0新功能概qW?br />11.1.2   l果集增强功q?br />11.1.3   批处理更斊W?br />11.1.4   对Java对象的持久性?br />11.1.5   数据库连接池使用实例 <br />11.2   文g上蝲 <br />11.2.1   实现机理 <br />11.2.2   文g上蝲实例 <br />W?2章 ?JSP高应用实例Q网上书店?br />12.1   概述 <br />12.2   扩展标签的用?br />12.2.1   数据集作用的BookList标签 <br />12.2.2   让数据@环输出的Books标签 <br />12.2.3   输出数据的标{?br />12.2.4   控制面前进、后退的标{?br />12.2.5   试标签 <br />12.3   EJB?qing)其Weblg <br />12.3.1   ShoppingCart <br />12.3.2   Books <br />附录A   JSP应用实例Q网上教育代码?br />附录B   JavaServer Pages白皮书?br />附录C   常用JSP相关|址 </p> <p>本次分n的ؓ(f)书籍版,非视频,如有需要请留下email。我会(x)快发出Q?/p> <img src ="http://www.tkk7.com/9611/aggbug/98424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/9611/" target="_blank">dyin</a> 2007-02-06 20:35 <a href="http://www.tkk7.com/9611/archive/2007/02/06/98424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>无法把Serv-U的域|于在线问题解决http://www.tkk7.com/9611/archive/2006/11/07/79536.htmldyindyinTue, 07 Nov 2006 02:34:00 GMThttp://www.tkk7.com/9611/archive/2006/11/07/79536.htmlhttp://www.tkk7.com/9611/comments/79536.htmlhttp://www.tkk7.com/9611/archive/2006/11/07/79536.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/79536.htmlhttp://www.tkk7.com/9611/services/trackbacks/79536.html问题:
无法把Serv-U的域|于在线
  我用的是Serv-U 6.0.0.1Q安装完成后讄?jin)一个域Q点d边的一个[域|于在线]的按钮,却怎么也不用Q?br />
解决办法:

首先认 serv-U 是用?1 端口. 然后在命令字W下 键入netstat -an (g)查是否已l有21 端口被占用了(jin).
如果?,则检?是那个进E占?1端口..
一般情况下都是 iis 自带的ftp 占用?1端口,只需要将 iis中的 ftp 卸蝲掉就可以?.

如果想保?则只要换端口可以了(jin)..  
Server-U下蝲地址:
http://www.serv-u.com/dn.asp


dyin 2006-11-07 10:34 发表评论
]]>
【分享】Hibernate视频分nhttp://www.tkk7.com/9611/archive/2006/10/17/75557.htmldyindyinTue, 17 Oct 2006 02:51:00 GMThttp://www.tkk7.com/9611/archive/2006/10/17/75557.htmlhttp://www.tkk7.com/9611/comments/75557.htmlhttp://www.tkk7.com/9611/archive/2006/10/17/75557.html#Feedback5http://www.tkk7.com/9611/comments/commentRss/75557.htmlhttp://www.tkk7.com/9611/services/trackbacks/75557.htmlHibernate视频分n:

面向对象:
.?jin)解Java语言
.?jin)解SQL?qing)JDBC~程

评内容:
.Java对象持久化技术概q?br />.创徏Hibernate应用
.映射一对多兌关系
.域对象在持久化层的状?br />.Hibernate(g)索策?br />.Hibernate(g)索方?br />.数据库事务与q发
.映射l成关系
.Hibernate与Struts集成
.Hibernate与EJB集成

下蝲地址: http://www.javathinker.org/essay/javaschool_hibernate.rar



dyin 2006-10-17 10:51 发表评论
]]>
【{贴】Microsoft .NET 框架常见问题 http://www.tkk7.com/9611/archive/2006/10/17/75516.htmldyindyinTue, 17 Oct 2006 00:13:00 GMThttp://www.tkk7.com/9611/archive/2006/10/17/75516.htmlhttp://www.tkk7.com/9611/comments/75516.htmlhttp://www.tkk7.com/9611/archive/2006/10/17/75516.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/75516.htmlhttp://www.tkk7.com/9611/services/trackbacks/75516.html http://www.microsoft.com/china/msdn/archives/library/faq111700.asp

Microsoft Corporation

2000 q?12 ?/p>

摘要Q?/b>本文包含有关 Microsoft .NET ?Microsoft .NET 框架的常见问题?/p>

目录

概念问题
q行时技术问?/font>
   术语
   E序?/font>
   应用E序部v?qing)隔?/font>
   垃圾回收
   q程处理
   互操作?/font>
   安全?/font>

概念问题

q行时技术问?/h2>

术语

E序?/h3>

应用E序部v和隔?/h3>

垃圾回收

q程处理

互操作?/h3>

安全?/h3>

概念问题

什么是 .NETQ?

单地_(d)Microsoft] .NET ?Microsoft 以服务的方式递交软g的一U策略。有兛_整信息,请参阅有兌主题?a >白皮?/font>Q英文)(j)?/p>

以下是白皮书的摘要,要介l了(jin) .NET 的关键内容:(x)

  • Microsoft .NET q_
    包括用于创徏和操作新一代服务的 .NET 基础l构和工兗用于实施多信息客户端的 .NET 用户l验Q以?qing)用于启用新一代智?Internet 讑֤?.NET 构造块服务?.NET 讑֤软g?br />
  • Microsoft .NET 产品和服?/b>
    包括 Microsoft] Windows.NETQ其核心(j)集成?jin)一l构造块服务Q、MSN.NET、个阅服务、Microsoft] Office.NET、Microsoft] Visual Studio.NET ?Microsoft] bCentral?for .NET?

  • W三?.NET 服务
    许多领域的合作伙伴和开发h员都有机?x)?.NET q_上提供企业和垂直服务?

此问题针对的?.NET 框架?NET 框架?.NET q_基础l构的一部分。有?.NET 框架的详l信息,请参阅下一个问题?

q回首

什么是 .NET 框架Q?/h4>

.NET 框架是创建、部|和q行 Web 服务?qing)其他应用程序的一个环境。它包括三个主要部分Q公paq行时、框架类?ASP.NET?/p>

q回首

.NET 框架是否只适用于创?Web 站点的用P

.NET 框架使?zhn)可以创徏优秀?Web 应用E序。但它也可以帮助(zhn)创建现在的各种应用E序。与当前创徏应用E序的方式相比,.NET 在编写Q?Windows 软gQ?ATL/COM、MFC、Microsoft] Visual Basic] 或标?Microsoft] Win32]Q方面都h更大的优ѝ当?dng)如果?zhn)是开?Web 站点Q那么从 ASP.NET 开始,(zhn)就?x)感受?.NET 框架的强大吸引力?/p>

q回首

从何处可以获?.NET 框架 SDKQ?/h4>

现在可以?MSDN Online DownloadsQ英文)(j)下蝲 .NET 框架 SDK ?Beta 1 版。鉴于其大小Q我们以多种方式提供?Beta 版:(x)作ؓ(f)一个下载文?(106 MB)Q分?11 部分下蝲Q或者从 Microsoft Developer Store 定购?CDQ?

q回首

.NET 框架可以q行于哪些^収ͼ

Beta 1 版可以运行在 Microsoft] Windows] 2000、Windows 95/98/ME ?Windows NT] 4.0 上?/p>

另外Q还有一个称?.NET _框架?.NET 框架版本。它用于使蜂H电(sh)话和增强型电(sh)视等讑֤也具?.NET 框架的某些功能?NET _框架运行在 Windows CE 和其他嵌入式操作pȝ上?/p>

q回首

.NET 框架支持哪些~程语言Q?/h4>

.NET 框架与编E语a无关。事实上M语言都可以支?.NET 框架。目前,(zhn)可以用许多语言来创?.NET E序Q包括:(x)C++、Microsoft] Visual Basic.NET、JScript] ?Microsoft 的最新语a——C#。以后,也会(x)有大量的W三方语a可以用来创徏 .NET 框架应用E序Q包?COBOL、Eiffel、Perl、Python、Smalltalk {等?/p>

q回首

.NET 框架?COM+ 服务之间是什么关p?

?.NET 框架中,不仅可以完全讉K COM+ 服务Q而且也更Ҏ(gu)创徏服务lg?/p>

.NET 框架lg可被d?COM+ 应用E序中。在 COM+ 应用E序中,.NET 框架lg可以利用自动lg服务Q例如:(x)事务、对象池、排队组件、事件等{?/p>

q回首

.NET 框架?DCOM 之间是什么关p?

DCOM 是用于进E间通讯?COM 基础l构?NET 框架支持大量用于q程间通讯的可插入通道和格式化E序。在托管代码和非托管代码之间q行转换Ӟ.NET 框架使用?COM 基础l构Q尤其是 DCOM。所有?COM+ 服务的方案都使用?jin)托到非托{换,因此默认使用 DCOM。对于注重互操作性的q程间通讯Q?NET 框架也支?SOAPQ简单对象访问协议)(j)?/p>

q回首

.NET 框架是否仅仅?Windows DNA 的新名称Q?/h4>

不。Windows DNA 是用于创建紧耦合的分布式 Web 应用E序的一U体pȝ构。由于分布式应用E序变得需要更多的松耦合原理Q因?Microsoft ?.NET 中发展了(jin)该体pȝ构?NET 框架?.NET 体系l构的一部分?/p>

q回首

q行时技术问?/h2>

术语

什么是公共语言q行?(CLR)Q?/h4>

公共语言q行时是 .NET 框架应用E序的执行引擎?/p>

它提供许多服务,包括Q?

  • 代码理Q加载和执行Q?br />
  • 应用E序内存隔离

  • cd安全验证

  • IL 到本Z码的转换

  • 元数据(增强的类型信息)(j)讉K

  • 为托对象管理内?br />
  • 强制代码讉K安全

  • 异常处理Q包括跨语言异常

  • 托管代码、COM 对象和现?DLLQ非托管代码和数据)(j)之间的互操作

  • 自动q行对象布局

  • 对开发h员服务(配置、调试等Q的支持

q回首

什么是公共cdpȝ (CTS)Q?/h4>

公共cdpȝ是多信息cdpȝQ它被内|在公共语言q行时中Q支持大多数~程语言中的cd和操作。公q型系l支持大量编E语a的完全实现?/p>

q回首

什么是公共语言规范 (CLS)Q?/h4>

公共语言规范是一l结构和限制Q用作库~写者和~译器编写者的指南。它使Q何支?CLS 的语a都可以完全用库Qƈ且ɘq些语言可以怺集成。公pa规范是公q型系l的子集。对于那些需要编写代码供其他开发h员用的应用E序开发h员,公共语言规范也非帔R要。如果开发h员遵?CLS 规则来设计公p问的 APIQ那么就可以在支持公paq行时的M其他~程语言中很Ҏ(gu)C用这?API?/p>

q回首

什么是 Microsoft 中间语言 (MSIL)Q?/h4>

MSIL 是与 CPU 无关的指令集?NET 框架E序被编译成 MSIL。它包含加蝲、存储、初始化和调用对象方法的指o(h)?/p>

与元数据和公q型系l结合,MSIL 允许真正的跨语言集成?/p>

MSIL 在执行前被{换ؓ(f)机器代码Q而不是一边解释一Ҏ(gu)行?/p>

q回首

什么是托管代码和托数据?

托管代码是编写ؓ(f)支持公共语言q行时服务的代码Q请参阅“什么是公共语言q行Ӟ”)(j)。ؓ(f)?jin)支持这些服务,代码必须向运行时提供最别的信息Q元数据Q。默认情况下Q所?C#、Visual Basic.NET ?JScript.NET 代码都是托管代码。Visual Studio.NET C++ 代码在默认情况下不是托管代码Q但通过指定命o(h)行开?(/CLR)Q编译器也可以生成托代码?/p>

与托代码密切相关的是托数据。托数据是由公paq行时的垃圾回收器进行分配和释放的数据。默认情况下QC#、Visual Basic ?JScript.NET 数据是托数据。不q,通过使用Ҏ(gu)的关键字QC# 数据可以被标Cؓ(f)非托数据。Visual Studio.NET C++ 数据在默认情况下是非托管数据Q即使在使用 /CLR 开xQ,但是在?C++ 的托扩展时Q可以用“__gc”关键字类标记为托类。就象该名称所昄的那P它表C类实例的内存由垃圾回收器管理。另外,该类也完全成?.NET 框架的成员,同时具备它所带来的好处和限制。好处的一个例子是Q它可以与其他语a~写的类正确地进行互操作Q如托管?C++ cd以从 Visual Basic cȝ承)(j)Q限制的一个例子是Q托类只能从一个基cȝѝ?/p>

q回首

E序?/h3>

什么是E序集?

E序集是 .NET 框架应用E序的主要构造块。它是作Z个单一实现单元Q包含一个或多个文gQ来创徏、标识和部v的功能集合。所有的托管cd和资源都可以被标Cؓ(f)仅在其实现单元内讉KQ或者标Cؓ(f)可由该单元以外的代码来访问?/p>

E序集通过清单来进行自我说明。清单是每个E序集的不可或缺的组成部分。清单:(x)

  • 建立E序集标识(以文本名U的格式Q、版本、类别和数字{֐Q如果要在应用程序之间共享该E序集)(j)?br />
  • 定义l成E序集实现的文gQ通过名称和文件散列)(j)?br />
  • 指定l成E序集的cd和资源,包括哪些是从E序集中导出的?br />
  • 逐条记录~译时对其他E序集的依存?br />
  • 指定E序集正运行所需要的权限的集合?

此信息在q行时用于解析引用、强制版本绑定策略以?qing)验证所加蝲的程序集的完整性。因为每一cd都被加蝲到程序集的上下文中,所以运行时可以定q定位Q何正在运行的对象的程序集。程序集也是应用?jin)代码访问安全权限的单元。在定授予其所包含的代码哪些权限时Q每个程序集的标识证据都被认为是独立的?/p>

E序集的自我说明特征也有助于实现无媄(jing)响安装和 XCOPY 部v?/p>

q回首

什么是专用E序集和׃nE序集?

专用E序集仅由单一应用E序使用Qƈ且存储在该应用程序的安装目录中(或其子目录中Q。共享程序集是可被多个应用程序引用的E序集。要׃n一个程序集Q该E序集必Lؓ(f)q个目的而创建,q可以通过l其指定加密的增强型名称Q用作共享名Uͼ(j)来实现。相反,专用E序集名U只要求在用它的应用程序中是唯一的?/p>

通过区分专用和共享程序集Q我们介l明决定共享的要点。只需单地专用程序集部v在应用程序目录中Q即可确保应用程序只在创建和部v它的那部分中q行。对专用E序集的引用只在专用应用E序目录内部q行解析?/p>

选择创徏和用共享程序集可以有多U原因,例如表达版本{略的能力。共享程序集h加密的增强型名称Q这事实意味着只有E序集的作者才拥有密钥来生成程序集的新版本。因此,如果(zhn)做出策略声明,希望接受E序集的新版本,则?zhn)可以信版本更新由作者来控制和验证。否则,(zhn)就不会(x)接受它们?/p>

对于在本地安装的应用E序Q共享程序集通常被明安装在全局E序集缓存中Q程序集的本地缓存由 .NET 框架l护Q?NET 框架的版本管理特性的关键在于下蝲的代码不?x)?jing)响本地安装的应用E序的执行。下载的代码被放在一个特D的下蝲~存中,即某些下蝲lg被编译ؓ(f)׃nE序集,也不能在机器上全局使用q些代码?/p>

?.NET 框架一起发布的c都被编译ؓ(f)׃nE序集?/p>

q回首

如果我想创徏一个共享程序集Q在标记和管理密钥对斚w是否需要额外的开销Q?/h4>

创徏׃nE序集确实涉?qing)到加密密钥斚w的工作。创建程序集Ӟ只有公共密钥是必要的。支?.NET 框架的编译器提供命o(h)行选项Q或使用自定义属性)(j)Q用于在创徏E序集时提供公共密钥。通常在资源数据库中保留一份常用的公共密钥Qƈ使编译脚本指向此密钥。在发布E序集之前,必须使用相应的私人密钥将其完全标记。这是通过 SDK 工具 SN.exeQ增强型名称Q来完成的?/p>

增强型名U标C?Authenticode 一样需要用证书。它不涉?qing)第三方l织Q不需要付费,也不受证书约束。另外,验证增强型名U的额外开销q远于验证 Authenticode 的开销。不q,增强型名UC?x)生成Q何信L个出版商的语句。增强型名称使?zhn)可以信l定E序集的内容没有被篡改,在运行时为?zhn)加蝲的程序集来自于(zhn)开发时针对的出版商。但它不?x)生成有x否信d版商w䆾的语句?/p>

q回首

名称I间与程序集名称之间有什么区别?

名称I间是类型的一U逻辑命名Ҏ(gu)Q其中简单类型名Uͼ?MyTypeQ前面带有用点分隔的层次l构名称。这L(fng)命名Ҏ(gu)完全在开发h员的控制之下。例如,键入 MyCompany.FileAccess.A ?MyCompany.FileAccess.B 在逻辑上将?x)具有与文g讉K相关的功能?NET 框架使用一U层ơ结构命名方案,用于类型按相关功能的逻辑cdq行分组Q例如,ASP.NET 应用E序框架或远E处理功能。设计工具可以利用名U空间开发h员更Ҏ(gu)在代码中览和引用类型。名U空间的概念与程序集的概念之间没有Q何联pR一个程序集可以包含其层ơ结构名U具有不同名U空间根的类型,而一个逻辑名称I间根可以跨多个程序集。在 .NET 框架中,名称I间是在设计时进行逻辑命名的便h式,而程序集在运行时为类型徏立名UC用域?/p>

q回首

应用E序部v和隔?/h3>

部v .NET 应用E序时可以用哪些选项Q?/h4>

通过使应用程序的无媄(jing)响安装和 XCOPY 部v成ؓ(f)可能Q?NET 框架化了(jin)部v。因为所有的h首先在专用应用程序目录中q行解析Q所以只需单地一个应用程序的目录文g复制到磁盘中Q即可运行该应用E序Q而不需要注册?/p>

此方案对?Web 应用E序、Web 服务和独立的桌面应用E序特别有吸引力。不q,在有些方案中 XCOPY q不以担当分发机制。例如,当应用程序具有很的专用代码Q而依赖于可用的共享程序集Q或者应用程序不是安装在本地Q而是按需下蝲Q。对于这些情况,.NET 框架提供?jin)扩展的代码下蝲服务以?qing)?Windows Installer 的集成?NET 框架提供的代码下载支持通过当前q_提供?jin)许多优势,包括增量下蝲、代码访问安全性(不再有“Authenticode”对话框Q和应用E序隔离Qؓ(f)一个应用程序下载的代码不会(x)影响其他应用E序Q。Windows Installer ?.NET 应用E序可以使用的另外一个强大的部v机制。在 Windows Installer 1.5 中,W(xu)indows Installer 的所有特性(包括发行、公布和应用E序修补Q都可以?.NET 应用E序中用?/p>

q回首

如果我已l编写了(jin)一个程序集Qƈ希望在多个应用程序中使用它,我应该在何处部v它?

要由多个应用E序使用的程序集Q如׃nE序集)(j)需要部|到全局E序集缓存中。在预发布版?Beta 版中Q?Alink SDK 工具?/i 选项可将E序集安装到~存中:(x)

				al /i:myDll.dll
		

Windows Installer 的后l版本能够将E序集安装到全局E序集缓存中?/p>

q回首

如何才能看到在全局E序集缓存中安装?jin)哪些程序集Q?/h4>

.NET 框架附带?jin)一?Windows 外壳扩展Q用于查看程序集~存。在 Windows 资源理器中Q{?% windir%\assembly 以激zL看器?/p>

q回首

什么是应用E序域?

应用E序域(通常?AppDomainQ是用于隔离应用E序的虚拟进E。在同一个应用程序作用域中创建的所有对象(换句话说Q从该应用程序的入口点开始沿着对象Ȁzd列的M地方Q都在同一个应用程序域中创建。多个应用程序域可以存在于一个操作系l进E中Q它们成ؓ(f)隔离应用E序的简便方式?/p>

操作pȝq程通过使用各不相同的内存地址I间来提供隔R尽它是有效的Q但也是代h(hun)昂贵的,q且不能辑ֈ大型 Web 服务器所需要的数量。与其相比,公共语言q行旉过理在应用程序域中运行的代码的内存用来强制q行应用E序隔离。这样就保它不?x)访问应用程序域以外的内存。需要注意的是,只有cd安全的代码才能以q种方式理Q当在应用程序域中加载不安全代码Ӟq行时不能保证隔)(j)?/p>

q回首

垃圾回收

什么是垃圾回收Q?/h4>

垃圾回收是计算(g)何时不再能够访问某个对象的一U机制。它?yu)自动释攄该对象用的内存Q也调用用户~写的称为“结束者”的清理例程Q。一些垃圑֛收器Q如?.NET 使用的)(j)?x)压~内存,q因此减程序的工作集?/p>

q回首

非确定性垃圑֛收是如何影响代码的?

对于大多数编Eh员而言Q拥有一个垃圑֛收器Qƈ且用可作ؓ(f)垃圾回收的对象)(j)意味着永远不需要操?j)释攑ֆ存或引用计数对象Q即使?zhn)使用了(jin)复杂的数据l构。但如果(zhn)通常在同一个用于释攑֯象内存的代码块中释放pȝ资源Q文件句柄、锁定等{)(j)Q那么在~码样式斚w需要做一些修攏V用可作ؓ(f)垃圾回收的对象时Q?zhn)应该提供一U方法,来明释攄l资源(也就是说Q由(zhn)的E序控制Q,同时允许垃圾回收器在压羃工作集时释放内存?/p>

q回首

是否能够避免使用可作为垃圑֛收的堆?

所有支持运行时的语a都允许?zhn)从可作?f)垃圾回收的堆中分配类对象。这在快速分配方面带来了(jin)好处Qƈ且ɾ~程人员无需自己来计何时应该显式“free”每个对象?/p>

CLR q提供了(jin) ValueTypes 对象——它们与cȝ|?ValueType 对象是在q行时堆栈(不是堆)(j)中分配的Q因此当(zhn)的代码退出定义这些对象的q程Ӟ自动回收它们。这是 C# 中“struct”的操作方式?/p>

C++ 的托扩展(zhn)可以选择cd象分配的位置。如果?__gc 关键字声明ؓ(f)托管c,它们从可作为垃圑֛收的堆中分配Q如果它们不包含 __gc 关键字,它们与普通的 C++ 对象一样从 C++ 堆中分配Qƈ且用“free”方法显式释放?/p>

有关垃圾回收的的详细信息Q请参阅Q?

q回首

q程处理

如何在公paq行时中q行q程内和q程间通讯Q?/h4>

q程内通讯有两U:(x)在单一应用E序域的上下文中Q或者跨应用E序域。在同一个应用程序域的上下文中,使用代理作ؓ(f)监听机制Q而不涉及(qing)送处?序列化。当跨应用程序域Ӟ使用q行时二q制协议来作送处?序列化?/p>

q程间通讯为每个特定目的用一个可插入通道和格式化E序协议?

  • 如果开发h员?soapsuds.exe 工具指定l结Ҏ(gu)生成元数据代理,那么默认值是带有 SOAP 格式化程序的 HTTP 通道?br />
  • 如果开发h员在托管世界中执行显式远E处理,需要明指定用的通道和格式化E序。这可以通过配置文g用可理的方式来表示Q或者用 API 调用来加载特定通道。选项如下Q?

    带有 SOAP 格式化程序的 HTTP 通道QHTTP ?Internet 上或M必须通过防火墙进行通信的时候运行良好)(j)

    带有二进制格式化E序?TCP 通道Q对于局域网QTCP 是性能较高的选项Q?/p>

    带有 SOAP 格式化程序的 SMTP 通道Q仅对跨计算机有意义Q?

在托代码和非托代码之间进行{换时QCOM 基础l构Q尤其是 DCOMQ用于远E处理。在 CLR 的中间版本中Q这也适用于服务组Ӟ使用 COM+ 服务的组Ӟ(j)。在最l版本中Q配|Q何远E组仉是可能的?/p>

对象的分布式垃圾回收由名为“租用生存期”的pȝ来管理。每个对象都有一个租用时_(d)当到期时Q该对象?CLR 的远E处理基l构断开q接。对象具有一个默认的更新旉——当客户端成功地调用?jin)对象时Q租用将被更新。客L(fng)可以昑ּ更新U用?/p>

q回首

互操作?/h3>

是否可以?.NET 框架E序中?COM 对象Q?/h4>

是。?zhn)现在部v的Q?COM lg都可以在托管代码中用。通常情况下,所需的调整是完全自动q行的?/p>

特别是,可以使用q行时可调用包装 (RCW) ?.NET 框架讉K COM lg。此包装?COM lg提供?COM 接口转换Z .NET 框架兼容的接口。对?OLE 自动化接口,RCW 可以从类型库中自动生成;对于?OLE 自动化接口,开发h员可以编写自定义 RCWQ手动将 COM 接口提供的类型映ؓ(f)?.NET 框架兼容的类型?/p>

q回首

是否可以?COM E序中?.NET 框架lgQ?/h4>

是。?zhn)现在创徏的托类型都可以通过 COM 讉K。通常情况下,所需的配|是完全自动q行的。托开发环境的某些新特性不能在 COM 中访问。例如,不能?COM 中用静(rn)态方法和参数化构造函数。一般,提前定l定cd所针对的用h一U较好的办法。如果类型需要在 COM 中用,(zhn)将被限制在使用 COM 可访问的Ҏ(gu)?/p>

默认情况下,托管cd可能是可见的Q也可能是不可见的,q由用于~写托管cd的语a军_?/p>

特别是,可以使用 COM 可调用包?(CCW) ?COM 讉K .NET 框架lg。这?RCWQ请参阅上一个问题)(j)怼Q但它们的方向相反。同P如果 .NET 框架开发工具不能自动生成包装,或者如果自动方式不是?zhn)所需要的Q则可以开发自定义?CCW?/p>

q回首

是否可以?.NET 框架E序中?Win32 APIQ?/h4>

是。?P/InvokeQ?NET 框架E序可以通过?rn)?DLL 入口点的方式来访问本Z码库?/p>

下面?C# 调用 Win32 MessageBox 函数的示例:(x)

				using System; using System.Runtime.InteropServices; class MainApp {     [DllImport("user32.dll", EntryPoint="MessageBox")]     public static extern int MessageBox(int hWnd, String strMessage, String strCaption, 
uint uiType); public static void Main() { MessageBox( 0, "(zhn)好Q这?PInvokeQ?, ".NET", 0 ); } }

q回首

安全?/h3>

如何使代码与安全pȝ协调工作Q?/h4>

通常Q这不成问题——大多数应用E序能安全地q行Q不?x)受恶意d的干扰。通过单地使用标准cd来访问资源(如文Ӟ(j)或执行受保护的操作(例如反{cd的私有成员)(j)Q安全性由q些库来实施。应用程序开发者需要完成的一简单工作是包括权限hQ一U公开的安全性)(j)Q将代码可能接收的权限限制在它所需要的权限范围内。这也确保了(jin)如果代码被允许运行,它在q行时将h所需的所有权限?/p>

仅当开发h员需要编写提供新型资源的新基cdӞ他们才需要直接处理安全系l。在q种情况下,q所有的代码都有潜在的安全性问题,代码讉K安全机制其限制在替代了(jin)安全pȝ的那部分代码上?/p>

q回首

Z么在|络׃n驱动器中q行代码时会(x)发生安全异常Q?/h4>

默认安全{略仅给来自本地 Intranet 区域的代码授予有限的权限。这个区域是?Internet Explorer 安全讄定义的,它们应该配置Z企业内部的本地网l相匚w。由于由 UNC 或映驱动器Q例如?NET USE 命o(h)Q命名的文g都需要在本地|络上发送,因此它们也在本地 Intranet 区域中?/p>

默认值是Z安全?Intranet q种最坏情况而设|的。如果?zhn)?Intranet 比较安全Q?zhn)可以修改安全{略Q用 CASPol 工具Q,l本?Intranet 或其一部分Q例如特定的计算机共享名Q授予更多的权限?/p>

q回首

如何~写代码Q它在安全pȝ停止该代码时q行Q?/h4>

当代码试图执行未l授权的操作Ӟ发生安全异常。权限是Z代码Q尤其是其位|)(j)来授予的。例如,?Internet 中运行的代码所得到的权限比在本地计机上运行的代码所得到的权限要,q是因ؓ(f)l验证明Q它的可靠性要低一些。因此,要运行由于安全异常而失败的代码Q?zhn)必须增加授予它的权限。一个简单的Ҏ(gu)是将代码Ud更受信Q的位|(例如本地文gpȝQ。但q种Ҏ(gu)q不是在M情况下都有效QWeb 应用E序是一个很好的例子Q企业网l上?Intranet 应用E序是另一个例子)(j)。因此,不要改变代码位置Q而是通过更改安全{略l该位置授予更多的权限。请使用代码讉K安全{略工具 (caspol.exe) 或图形化理工具Q在 Beta 2 和更高版本中可以得到Q来执行此操作。如果?zhn)是代码的开发h员或发行者,(zhn)也可以对它q行数字{֐Q然后修改安全策略,l带有该数字{֐的代码授予更多权限。但是,在执行上qCQ何操作时Q请C此代码被授予较少的权限,是因为它不是来自受信ȝ来源——在代码移x地计机或更改安全策略以前,(zhn)应该确保这些代码不?x)执行恶意或损坏性的操作?/p>

q回首

如何理个h或企业计机的安全性?

目前QCASPol 命o(h)行工h理安全性的唯一Ҏ(gu)。安全策略由两个U别l成Q按计算机和按用戗我们计划在 .NET 框架W一版中提供全面的管理工具以?qing)企业策略管理支持?/p>

q回首

Z证据的安全性是如何?Windows 2000 安全性配合工作的Q?/h4>

Z证据的安全性(Z授权码)(j)能与 Windows 2000 安全性(Zdw䆾标识Q配合工作。例如,要访问一个文Ӟ托管代码必须h代码讉K安全文g权限Q也必须在具?NTFS 文g讉K权限的登录n份标识下q行?NET 框架中包括的托管库也为基于角色的安全性提供了(jin)cR这些都使应用程序能够与 Windows dw䆾标识?qing)用L(fng)配合工作?/p>

dyin 2006-10-17 08:13 发表评论
]]>【{】ASP.NET中常用的JavaScript操作 http://www.tkk7.com/9611/archive/2006/10/16/75424.htmldyindyinMon, 16 Oct 2006 07:38:00 GMThttp://www.tkk7.com/9611/archive/2006/10/16/75424.htmlhttp://www.tkk7.com/9611/comments/75424.htmlhttp://www.tkk7.com/9611/archive/2006/10/16/75424.html#Feedback0http://www.tkk7.com/9611/comments/commentRss/75424.htmlhttp://www.tkk7.com/9611/services/trackbacks/75424.html

1Qؓ(f)button控gd认功能

要想为服务器控gd客户端的事gQ需要用到Attributes属性。Attributes属性是所有的服务器控?/font>都有的一个属性,它用来ؓ(f)最l生成的HTMLd自定义的一些标记。假设W(wng)eb Form上有一个保存按钮btnSave,希望在用L(fng)此按钮时提示用户是否实要保?比如一旦保存就无法恢复{?Q则应在Page_Load事g中添加如下代码:(x)

btnSave.Attributes.Add(“onclick?“Javascript:return confirm(‘Are you sure to save??;?

要注意的是‘return’,q是不可省的Q否则即使用L(fng)?jin)取消,数据仍然会(x)保存?/font>

2Qؓ(f)Datagrid中的每一行添加Javascript事g

Datagrid中的子控件是没办法直接访问的Q要实现上面的那U效果,我们需要用到Datagrid的OnItemDataBound事g。OnItemDataBound事g发生在Datagrid的每一行数据绑定到Datagrid之后Q即一行激发一ơ)(j)。首先在Datagrid的声明中dOnItemDataBound属性,如下Q?/font>

此处说明OnItemDataBound事g发生时调用ItemDataBoundҎ(gu)Q在代码后置文g中添加此Ҏ(gu)的定义:(x)

private void OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
   {
        if(e.Item.ItemType != ListItemType.Header && e.Item.ItemType != ListItemType.Footer )
        {
            LinkButton btnSave = (LinkButton)e.Item.Cells[2].Controls[0];
      string strClientID = btnSave.ClientID; //得到该控件的客户端IDQ可供JavaScript调用

            btnSave.Attributes.Add("onclick","Javascript:return confirm('Are you sure to save?');");
        }
}

׃Datagrid的标题行和脚注行也会(x)Ȁ发此事gQ所以首先判断激发此事g的行不是标题行和脚注行。这里假设btnSave按钮位于Datagrid的第3列(W一列是0Q?/font>

3Q在Javascript中触发服务器端控件事?/font>

让我们再来考虑W一个实例,我们Z存按钮增加了(jin)认功能Q只有在用户认后才?x)执行保存操作,用户不确认的话就不执行,如果我们惌用户按下“取消”时Q执行另外的操作怎么办呢Q这p需要用JS来回?PostBack)服务器端控g完成操作?/font>

当前面中有一个DropDownList控gddlTest,Button按钮btnSave.当选择ddlTest时触发onchange事gQ保存当前的选择|在保存前?x)让操作者先认Q用L(fng)认则保存Q否则{向default.aspxc(din)?/font>

在Page_Load事g中添加如下代码:(x)

    string strCMD = Page.GetPostBackClientHyperlink( btnSave, "" );
    string script = @"Javascript:ConfirmUpdate(""EVAL_MESSAGE"");";
    script = script.Replace( "EVAL_MESSAGE" , strCMD );

    ddlTest.Attributes.Add("onchange",script);

q段代码执行后生成的select控g是q样Q?/font>

〈select name="ddlTest" id="ddlTest" onchange="Javascript:ConfirmUpdate("javascript:__doPostBack('btnSave','')");" ?/font>

ConfirmUpdate函数如下

〈SCRIPT language=javascript?br />    function ConfirmUpdate(cmd){
    if(confirm("Are you sure to update?"))
   {
       eval(cmd);
    }
    else
    {
        window.location.href="default.aspx"
    }
   }
 ?SCRIPT?/font>

q里利用?jin)Javascript eval函数来调用一个字W串中包含的命o(h)。需注意的是包含命o(h)的字W串不能用单引号括v来,因ؓ(f)自动生成的脚本中包括单引P所以这里用两个双引可C字W串本n的双引号?/p>

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=586711



dyin 2006-10-16 15:38 发表评论
]]>
վ֩ģ壺 þù޵Ӱ| þþþAV| þþþAV| ޴߶רһ| aëƬѹۿվ| һ| ?VƷ| þþȹ͵ۺ| һëƬ߲Ƶѹۿ| 99þ޾ƷѶ| վѹۿ| ˳վ߲ӰԺ| ާѡžƷ| þݾƷ38| yw855.cƵ| Ʒ鶹123| ëƬ벻һ| ŮˬˬˬˬˬƵ| ޾ƷӰ߲Ʒ| ޹ŮƵ| ձĻ| Ѵվ߹| Ů߲ͬ| ĻĵӰվ| ŷһëƬ| ϺɫϺҳa| һѿ| ŮɫëƬѿ| Ʒ޳AV߹ۿ| һѸ| ŮƵ| ޳avƬ߹ۿ벻| ҹ޹Ʒ| ߾ƷƵѹۿ | 97ƵѹƵ| ȫaëƬ**Ƶ| þþþ޾Ʒ| ȫ߹ۿѹۿȫ | ޹˽ӰԺ| ƷŮþþ | ߹ۿ|