1、判斷是否為空
function isEmpty(s)
{
return ((s == undefined || s == null ||s == '' || s.replace(/(^\s*)|(\s*$)/g, "")=='') ? true : false);
}2、判斷數(shù)組中是否有相等元素

function checkEqual(arr)
{

for(i=0;i<arr.length;i++)
{

for(j=i+1;j<arr.length;j++)
{

if(arr[i].value==arr[j].value)
{
return true;
}
}
}
return false;
}3、對HTML標簽注冊click事件,并獲取該元素的父標簽,及子標簽

Event.on(Dom.getElementsByClassName('check','a'),'click',function(evt)
{
Event.preventDefault(evt);
var target = Event.getTarget(evt);
var td = Dom.getAncestorByTagName(target,'tr');
ar title = td.getElementsByTagName("input")[0].value;});4、對button注冊click事件,并提交表單

Event.on("j_add","click",function(evt)
{
**********
document.form1.event_submit_do_add.value="submit";
document.form1.submit();
}
});5、在父元素下創(chuàng)建子元素,動態(tài)添加頁面元素
var tab =document.getElementById("guanlian");
var newRow = tab.insertRow(0);//添加了一行
var newTd1 = newRow.insertCell(0);
newTd1.innerHTML="關(guān)聯(lián)詞名";6、借助YUI進行Ajax異步交互

var callback =
{

success:function(o)
{
var result = o.responseText;
document.getElementById('chk_thesaurus').innerHTML=result;
},

failure: function(o)
{
alert("驗證請求,鏈接服務(wù)器失敗!");
}
}
;
var sUrl = '請求的頁面地址及參數(shù)';
YAHOO.util.Connect.asyncRequest('GET',sUrl,callback);7、div樣式的兩種寫法(.divforcheck{ width:500px; height:300px; background-color:#f00; color:#fff; }
<div style="border: 1px dotted black;background-color:#FFFFFF;width:500px ">)
8、confirm的用法

if(confirm("您修改了關(guān)聯(lián)詞,請確定在提交前進行了驗證")){
document.form1.event_submit_do_add.value="submit";
document.form1.submit();
}
9、webX下AJAX服務(wù)器端編碼:
1、在反饋ajax請求的頁面(Vm頁面)中填寫符合HTML標準的反饋InnerHTML
2、通過 rundata.getResponse().getWriter().print("var ajaxRequestData_bizType = "+JSONObject.fromObject(tree).toString());
context.put("result", net.sf.json.JSONArray.fromObject(tree).toString());(打成JSON串)
上周五開始一項開發(fā)工作,將樹形的數(shù)據(jù)結(jié)構(gòu)放到關(guān)系型數(shù)據(jù)庫,并提供頁面進行數(shù)據(jù)的維護,遇到的問題:1、需求不清晰;2、表結(jié)構(gòu)不清晰;3;前端開發(fā)技術(shù)非常不熟悉;
結(jié)果就是開發(fā)緩慢,系統(tǒng)交互效果差,做出來的頁面自己都不滿意,開發(fā)慢導(dǎo)致上線壓力大,心里壓力也大,很嚴重的加班。。。。。。。
總結(jié)下用到的頁面技術(shù):1、CSS+DIV樣式定義的兩種寫法(.divforcheck{ width:500px; height:300px; background-color:#f00; color:#fff; }
<div style="border: 1px dotted black;background-color:#FFFFFF;width:500px ">)
2、JS:動態(tài)的添加頁面元素var tab =document.getElementById("guanlian");
var newRow = tab.insertRow(0);//添加了一行
var newTd1 = newRow.insertCell(0);
var newTdName = newRow.insertCell(1); ;
判斷為空function isEmpty(s) { return ((s == undefined || s == null || s == "") ? true : false); }
彈出選擇框:if(confirm("您修改了關(guān)聯(lián)詞,請確定在提交前進行了驗證")){
document.form1.event_submit_do_add.value="submit";
document.form1.submit();}
Ajax交互:
var callback =
{

success:function(o)
{
var result = o.responseText;
document.getElementById('chk_thesaurus').style.display="";
document.getElementById('chk_thesaurus').innerHTML=result;
document.getElementById('chk_thesaurus').display = "block";
},

failure: function(o)
{
alert("驗證請求,鏈接服務(wù)器失敗!");
}
}
;
var sUrl = 'ajax/checkThesaurus.htm?relName='+encodeURIComponent(encodeURIComponent(title));
YAHOO.util.Connect.asyncRequest('GET',sUrl,callback); 服務(wù)器段java代碼兩種寫法:1、在反饋ajax請求的頁面中填寫符合HTML標準的反饋InnerHTML
2、通過
rundata.getResponse().getWriter().print("var ajaxRequestData_bizType = "+JSONObject.fromObject(tree).toString());
context.put("result", net.sf.json.JSONArray.fromObject(tree).toString());(打成JSON串)
3、表單提交處理(JS提交表單)document.form1.event_submit_do_add_treeWordProperty.value="submit";
document.form1.submit();
java代碼的Exception控制、異常處理
之前正則一直不支持嵌套循環(huán)的驗證即類似于html的格式較驗,昨天晚上無聊就考慮了一下這個的可實現(xiàn)方式:通過維護特征“符號”隊列來實現(xiàn)
如在有特定格式的文件中(標簽成對出現(xiàn)的情況下)順序讀入待驗證標簽放入隊列中,較驗對應(yīng)的下一個輸入如果為與該標簽對應(yīng)的標簽?zāi)敲磳⒃摌撕瀼年犃兄袕棾觯绻粚?yīng)則將下一個標簽也放入隊列中,進行下一次的驗證直到該文件結(jié)束時如果隊列恰好為空那么證明文件較驗通過
記錄點常識:
1、
為實現(xiàn)全表掃描,Oracle讀取表中所有的行,并檢查每一行是否滿足語句的WHERE限制條件一個多塊讀操作可以使一次I/O能讀取多塊數(shù)據(jù)塊 (db_block_multiblock_read_count參數(shù)設(shè)定),而不是只讀取一個數(shù)據(jù)塊,這極大的減 少了I/O總次數(shù),提高了系統(tǒng)的吞吐量,所以利用多塊讀的方法可以十分高效地實現(xiàn)全表掃描,而且只有在全表掃描的情況下才能使用多塊讀操作。在這種訪問模 式下,每個數(shù)據(jù)塊只被讀一次。
2、先通過index查找到數(shù)據(jù)對應(yīng)的rowid值(對于非唯一索引可能返回多個rowid值),然后根據(jù)rowid直接從表中得到具體的數(shù)據(jù),這 種查找方式稱為索引掃描或索引查找(index lookup)。一個rowid唯一的表示一行數(shù)據(jù),該行對應(yīng)的數(shù)據(jù)塊是通過一次i/o得到的,在此情況下該次i/o只會讀取一個數(shù)據(jù)庫塊。
在索引中,除了存儲每個索引的值外,索引還存儲具有此值的行對應(yīng)的ROWID值。
索引掃描可以由2步組成:
(1) 掃描索引得到對應(yīng)的rowid值。
(2) 通過找到的rowid從表中讀出具體的數(shù)據(jù)。
每步都是單獨的一次I/O,但是對于索引,由于經(jīng)常使用,絕大多數(shù)都已經(jīng)CACHE到內(nèi)存中,所以第1步的 I/O經(jīng)常是邏輯I/O,即數(shù)據(jù)可以從內(nèi)存中得到。但是對于第2步來說,如果表比較大,則其數(shù)據(jù)不可能全在內(nèi)存中,所以其I/O很有可能是物理I/O,這 是一個機械操作,相對邏輯I/O來說,是極其費時間的。所以如果多大表進行索引掃描,取出的數(shù)據(jù)如果大于總量的5% —— 10%,使用索引掃描會效率下降很多
然后對于特殊的業(yè)務(wù)場景要先做數(shù)據(jù)的篩選,然后再做查詢 關(guān)于查詢篩選出來的結(jié)果集能不能走到索引這個問題需要再測試一下
通過vmware或者virtualBox安裝虛擬機后,希望能夠不用在程序窗口切來切去,所以通過ssh連接到虛擬機就好了,有的人按步驟安下來就很好用,但是我這邊遇到了問題,首先上虛擬機設(shè)置網(wǎng)絡(luò)連接這里需要設(shè)置成橋接(bridged adapter)原因如是:虛擬機接網(wǎng)絡(luò)連接方式一般分為四種NAT、bridged adapter(橋接)、網(wǎng)絡(luò)、host-only adapter;其中橋接的時候主機和虛擬機是可以互相訪問的,其它方式都有限制,然后就是防火墻的設(shè)置了 可以通過chkconfig --list 查看每個服務(wù)的啟動,自己設(shè)定就好;最后就是連接了,當(dāng)然還有其它的一些小設(shè)置可以通過google。。。
虛擬機網(wǎng)絡(luò)連接的詳細介紹如下網(wǎng)址:
http://pengranxiang.iteye.com/blog/715829