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

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

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

    lycong

    2008年9月1日 #

    使用SAX對(duì)XML根據(jù)具體需求過(guò)濾標(biāo)簽和長(zhǎng)度截取

         摘要:        需要解決的問(wèn)題是 根據(jù)一輸入流讀取一段XML內(nèi)容,然后對(duì)其進(jìn)行過(guò)濾截取,最后寫回輸出流中。具體說(shuō)明如下: 1.對(duì)XML根據(jù)特定需求,過(guò)濾標(biāo)簽(如SCRIPT,FRAME等非標(biāo)準(zhǔn)HTML標(biāo)簽),過(guò)濾屬性(如onclick,onblur等) 2.對(duì)XML進(jìn)行長(zhǎng)度截取,具體做法如下: (1)對(duì)start標(biāo)簽的處理: 若加上s...  閱讀全文

    posted @ 2008-09-01 21:26 cong 閱讀(929) | 評(píng)論 (0)編輯 收藏

    2008年7月14日 #

    解決JSTL標(biāo)簽 循環(huán) 中途 break

    如果直接使用<c:forEach> 直接在中間的代碼中 插入break , 并不能退出循環(huán)。可以采用以下策略進(jìn)行代換:
    1. 用 <c:set var="collections" value="${forEach中的items}"/>
    2. 用 jspContext.getAttribute("collections"); 獲得對(duì)應(yīng)的集合
    3.最后就用最原始的for()。

    posted @ 2008-07-14 14:19 cong 閱讀(1831) | 評(píng)論 (1)編輯 收藏

    2008年7月10日 #

    將來(lái)2個(gè)月的學(xué)習(xí)計(jì)劃

    1.重溫《Thinking in Java》的IO、容器、并發(fā)部分,泛型編程:大約用2周時(shí)間
    2.重溫《Core Java》的SWING ,大約用1周。
    3.由于公司近期準(zhǔn)備開(kāi)發(fā)一套IM系統(tǒng),要重點(diǎn)學(xué)習(xí)一下有關(guān)網(wǎng)絡(luò)編程,特別是TCP/IP知識(shí),socket編程:2周時(shí)間
    5.學(xué)習(xí)《Ajax in Action》中Ajax高級(jí)應(yīng)用部分。 1.5周
    4.學(xué)習(xí)《Code Complete》有關(guān)測(cè)試部分,要學(xué)會(huì)編寫測(cè)試用例:1.5周時(shí)間

    posted @ 2008-07-10 20:33 cong 閱讀(186) | 評(píng)論 (0)編輯 收藏

    2008年7月6日 #

    經(jīng)常碰到的模塊:修改密碼 一 安全小技巧(服務(wù)器后臺(tái)不返回密碼)

            問(wèn)題如下:當(dāng)修改密碼時(shí),為了防止通過(guò)查看html源文件或其他方法看到用戶的原始密碼,一般服務(wù)器不會(huì)返回用戶密碼,可以利用javascript的技巧 ,在頁(yè)面顯示一虛假密碼,然后判斷密碼是否修改過(guò),如果真有修改過(guò)密碼,才把密碼送到后臺(tái)服務(wù)器,否則不發(fā)送密碼到后臺(tái)服務(wù)器。
    1. 頁(yè)面顯示代碼:
    <%--構(gòu)造一個(gè)虛假的密碼顯示框--%>
                         
    <fmt:message key="falsity_password_defaultValue" var="falsity_password_defaultValue" />
                         
    <input id="falsity_password" type="password" name="falsity_password"
                                 
    default="${falsity_password_defaultValue}"
                                 value
    ="${fn:escapeXml(param.falsity_password != null ? param.falsity_password : falsity_password_defaultValue)}" autocomplete="off">
                         
    <input id="true_password" type="hidden" name="password"/>
    其中 falsity_password_defaultValue 為服務(wù)器端事先設(shè)置好的虛假密碼(可以在資源文件中設(shè)置), falsity_password 為頁(yè)面顯示的虛假密碼,true_password 是當(dāng)密碼修改后,才發(fā)送到服務(wù)器, 下面就會(huì)對(duì)上面2個(gè)變量值作一些處理判斷。

    2. 對(duì)是否修改過(guò)密碼進(jìn)行處理。
    A.當(dāng)focus到密碼框時(shí),密碼框清空, 到?jīng)]有修改過(guò)密碼就離開(kāi)密碼框時(shí),就還原為虛假密碼顯示.
    B.當(dāng)修改過(guò)密碼后,就會(huì)把true_password的值設(shè)置為修改后的值。
     <script type="text/javascript"><!--
      
    function getTruePassword(){
        
    <c:if test="${param.edit == 'modify'}">
          
    var falsity_password = document.getElementById("falsity_password");
          
    var true_password = document.getElementById("true_password");
               
    if(falsity_password && true_password){
          
    var defaultValue=falsity_password.getAttribute("default");

              
    if(falsity_password.value != defaultValue) {
                   true_password.value 
    = falsity_password.value;
              }

          }

        
    </c:if>
      }

      
    <c:if test="${param.edit == 'modify'}">
      
    var falsity_passwordNode = document.getElementById("falsity_password");
      
    if(falsity_passwordNode) {
          Object.extend(falsity_passwordNode, 
    {
              onfocus : 
    function() {
                  
    if (this.value == this.getAttribute("default")) {
                      
    this.value = '';
                  }

              }
    ,
              onblur : 
    function() {
                  
    if (this.value == '') {
                      
    this.value = this.getAttribute("default");
                  }

              }

          }
    )

      }

      
    </c:if>
      
    //--></script>

    判斷falsity_password密碼是否為虛假密碼,若不是,則把true_password設(shè)置為修改過(guò)的密碼。


    3.服務(wù)器端要判斷是否修改過(guò)密碼,若修改過(guò)才把密碼傳到后臺(tái)進(jìn)行修改,這里主要看true_password是否為" ",若不為" ",則說(shuō)明密碼修改過(guò)。
    這里可以通過(guò)tag來(lái)進(jìn)行處理
    <c:if test="${!empty param.true_password}">
    /* 把true_password 傳到后臺(tái)進(jìn)行修改    */
    </c:if>


    posted @ 2008-07-06 20:14 cong 閱讀(565) | 評(píng)論 (0)編輯 收藏

    2008年6月16日 #

    Fix 問(wèn)題: 進(jìn)入編輯頁(yè)面,當(dāng)點(diǎn)擊其他地方時(shí),判斷頁(yè)面是否修改過(guò),并提示相關(guān)信息。

         摘要:         問(wèn)題如下:例如要修改某個(gè)人的信息時(shí),進(jìn)入編輯頁(yè)面,當(dāng)點(diǎn)擊其他地方時(shí),判斷信息是否已被修改過(guò),并提示相關(guān)信息。         本例中以個(gè)人通訊錄信息為背景, 解決方法如下: 1.首先要有個(gè) Object保存 一開(kāi)始時(shí)從服...  閱讀全文

    posted @ 2008-06-16 21:50 cong 閱讀(621) | 評(píng)論 (0)編輯 收藏

    2008年5月28日 #

    關(guān)于text文本框 按回車鍵 何種情況下 submit-------- 從一個(gè)bugfix 問(wèn)題中想到

                接到一個(gè)問(wèn)題,大概描述如下:頁(yè)面有一text文本框,有一submit類型的按鈕,輸入內(nèi)容后,按回車頁(yè)面只是刷新一下,但是沒(méi)有執(zhí)行創(chuàng)建操作。而且文件夾名有如下限制:不能和之前創(chuàng)建文件夾同名,且非空。jsp中的內(nèi)容簡(jiǎn)化為如下: 

    <form> <tr>
     <td><input type="text" id="filename" /> </td>
    <td><input type="submit" onclick="return addFile();"  id="sub"/> </td>
    </tr> </form>


            其中addFile()函數(shù)會(huì)有上面提及到限制判斷,并且會(huì)返回boolean類型,當(dāng)然符合條件時(shí)就返回true,不符合就返回false。理所當(dāng)然當(dāng)輸入內(nèi)容后點(diǎn)擊submit按鈕會(huì)正常執(zhí)行相關(guān)操作而且會(huì)正常執(zhí)行限制判斷。可是奇怪的是,在IE下 在text框輸入內(nèi)容后直接按回車確不能執(zhí)行相關(guān)操作,只是頁(yè)面刷新了一下, 但是在FIREFOX下 按回車卻能正常執(zhí)行操作和判斷。 之前第一時(shí)間就是想到應(yīng)該在text文本框中加一個(gè)onkeydown的事件enter_file(),enter_file函數(shù)是當(dāng)按下回車時(shí)就執(zhí)行,并且函數(shù)中應(yīng)該有這句代碼 document.getElementById('sub').click(); 就是說(shuō)當(dāng)回車時(shí)就執(zhí)行submit按鈕的click操作。 貌似應(yīng)該會(huì)正常執(zhí)行操作的吧,可是又一奇怪問(wèn)題出現(xiàn)了,就是在IE下,在文本框中輸入 a 后(假設(shè)之前沒(méi)有文件名為a的文件),然后快速按2下(更多下也可以),結(jié)果會(huì)跳過(guò)“不能創(chuàng)建重復(fù)文件名”的判斷,創(chuàng)建出2個(gè)相同名字a 的文件夾,而且例如輸入同名文件名后,彈出框會(huì)一閃而過(guò),不會(huì)等點(diǎn)擊確認(rèn)后才退出彈出框,但是在FIREFOX下卻是正常執(zhí)行,也不會(huì)出現(xiàn)一閃而過(guò)的現(xiàn)象,就是快速按幾下也只是創(chuàng)建一個(gè)文件夾a。 之后百思不得其解,試過(guò)一些方法,比如把submit類型改為button類型,把onkeydown事件換成onkeypress或者onkeyup ,結(jié)果還是出現(xiàn)IE下快速按回車 創(chuàng)建2個(gè)同名文件夾,還是出現(xiàn)一閃而過(guò)的現(xiàn)象。
           初步判斷可能是ie和ff在text框按回車的響應(yīng)不同,最后上網(wǎng)搜了一下,找到一個(gè)帖子 名為求解一個(gè)關(guān)于回車的問(wèn)題 http://topic.csdn.net/t/20061128/14/5191186.html ,具體內(nèi)容到那個(gè)帖子看看。抽取其中值得注意的地方如下:
       IE:       
      1.   只有一個(gè)text框時(shí),(不管有沒(méi)有submit),直接觸發(fā)onsubmit   (form標(biāo)簽的一事件屬性)
      2.   有多個(gè)text框時(shí),觸發(fā)submit上的onclick,其默認(rèn)行為為觸發(fā)onsubmit。  

    相對(duì)來(lái)說(shuō),ff的行為最復(fù)雜。       
      1.   有submit或button時(shí),觸發(fā)submit或button的onclick,然后該onclick的默認(rèn)行為會(huì)觸發(fā)onsubmit。  
      2.   沒(méi)有submit或button時(shí),  
      2.1   只有一個(gè)text框時(shí),觸發(fā)onsubmit;  
      2.2   有多個(gè)text框時(shí),不觸發(fā)onsubmit。  

    因?yàn)榭吹疆?dāng)只有一個(gè)text框時(shí),直接觸發(fā)onsubmit,就聯(lián)想到要在form標(biāo)簽中加上onsubmit事件,于是把上面的代碼改為如下:
    <form onsubmit="return addFile()"> <tr>
     <td><input type="text" id="filename" /> </td>
    <td><input type="submit" id="sub"/> </td>
    </tr> </form>
    結(jié)果在IE下終于能成功操作,即是快速按幾下也只是創(chuàng)建一個(gè)文件夾,并且不在出現(xiàn)一閃而過(guò)的現(xiàn)象。 因此很多時(shí)候在IE下可能出現(xiàn)奇怪問(wèn)題,換作FF下就沒(méi)問(wèn)題了,F(xiàn)irefox支持JavaScript是正宗的。另外用firefox的插件 firedebug 來(lái)調(diào)試 javascript 程序 簡(jiǎn)直太爽了。




    posted @ 2008-05-28 21:03 cong 閱讀(1870) | 評(píng)論 (1)編輯 收藏

    2008年5月23日 #

    開(kāi)發(fā)產(chǎn)品之個(gè)人感悟

              軟件行業(yè)做項(xiàng)目和做產(chǎn)品有什么不同呢?最大的感受就是做產(chǎn)品始終是以客戶(即使用者)為中心,不斷做到精益求精。由于所在公司是開(kāi)發(fā)郵件系統(tǒng),也就是開(kāi)發(fā)產(chǎn)品,之前自己負(fù)責(zé)的一些開(kāi)發(fā)任務(wù)都是FIX系統(tǒng)的一些BUG或improvement,那些問(wèn)題真得有些令我吃驚,每一步操作都必須考慮到用戶的感受和使用方便程度,連每步TAB到哪個(gè)輸入框都考慮到很精確,給我感覺(jué)就是客戶端做得很龐大,也就是所謂的“胖客戶端”,并且我暫時(shí)還沒(méi)接觸到的后臺(tái)服務(wù)器的功能也是要做得盡善盡美。

    posted @ 2008-05-23 21:56 cong 閱讀(216) | 評(píng)論 (0)編輯 收藏

    2008年5月18日 #

    被逼開(kāi)通了首個(gè)屬于自己技術(shù)博客

                 作為一個(gè)程序員,沒(méi)有自己的技術(shù)BLOG貌似說(shuō)不過(guò)去,看見(jiàn)公司大牛們的技術(shù)BLOG后,決定自己也搞一個(gè)。公司實(shí)習(xí)快2個(gè)月了,這些日子算是學(xué)到一點(diǎn)東西,主要是JAVASCRIPT,還有JSTL的一些用法。從之前的JAVASCRIPT“白癡”,到現(xiàn)在看到JS代碼沒(méi)當(dāng)初那么頭疼了,而且還有一點(diǎn)感覺(jué),由于剛進(jìn)入公司,主要的開(kāi)發(fā)工作還是客戶端的一些小BUG問(wèn)題(其實(shí)真的小的不能再小了)。公司是做郵件系統(tǒng)(在業(yè)界應(yīng)該是前茅的),郵箱頁(yè)面主要是分為A(AJAX),H(主要是JSP)風(fēng)格2種,令我驚訝的是A風(fēng)格是完全由JS代碼全部控制,生成HTML代碼,加入AJAX,調(diào)用服務(wù)器接口等操作均是由JS生成,而且代碼量極其多,剛開(kāi)始的時(shí)候看A風(fēng)格的代碼簡(jiǎn)直就如同看天書一樣,后來(lái)慢慢的適應(yīng)了他的一些寫法,但是還是很多不懂。
                接下去還要去學(xué)習(xí)JAVAMAIL 的API, RMI, 我很想抽個(gè)時(shí)間去重新學(xué)習(xí)一下操作系統(tǒng)的知識(shí),覺(jué)得當(dāng)時(shí)學(xué)操作系統(tǒng)好像不知道學(xué)了什么,盡管考試分?jǐn)?shù)有90多分,進(jìn)入公司以后,我逐漸感覺(jué)自己在之前學(xué)的專業(yè)知識(shí)(操作系統(tǒng),數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫(kù)原理,計(jì)算機(jī)網(wǎng)絡(luò)等)的時(shí)候,心態(tài)搞錯(cuò)了,總覺(jué)得這些知識(shí)好像和編程沒(méi)什么掛鉤,能拿個(gè)高分?jǐn)?shù)就行了,很多時(shí)候就是死記硬背。

    posted @ 2008-05-18 17:46 cong 閱讀(262) | 評(píng)論 (0)編輯 收藏

    僅列出標(biāo)題  

    My Links

    Blog Stats

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国产伦精品一区二区三区免费下载 | 99久久99这里只有免费费精品| 亚洲经典在线观看| fc2免费人成在线视频| 亚洲成色999久久网站| 成年女人免费视频播放体验区| 一级特黄a免费大片| 亚洲福利视频一区二区三区| 国产精品无码素人福利免费 | 免费看搞黄视频网站| 亚洲日韩国产精品第一页一区| 色网站在线免费观看| 亚洲成人激情在线| 亚洲成a人一区二区三区| 亚洲w码欧洲s码免费| 九九九国产精品成人免费视频| 中文字幕亚洲综合久久2| 深夜国产福利99亚洲视频| 免费无码一区二区| 亚洲成av人片不卡无码久久| 中文字幕亚洲免费无线观看日本 | 中文字幕无码亚洲欧洲日韩| 国产亚洲情侣一区二区无| 中国一级特黄高清免费的大片中国一级黄色片 | 成人毛片免费观看视频大全| a级毛片黄免费a级毛片| 亚洲福利在线视频| 亚洲国产成人爱av在线播放 | 亚洲综合在线成人一区| 国产亚洲精品国看不卡| 日韩免费观看的一级毛片| 啦啦啦完整版免费视频在线观看| 亚洲一级毛片免费观看| 亚洲成AV人片在线观看ww| 又粗又大又硬又爽的免费视频| 在线视频精品免费| 免费国产黄网站在线观看| 涩涩色中文综合亚洲| 91亚洲国产成人久久精品网站| 亚洲人成影院在线观看| 国产国产成年年人免费看片|