如果在red.html或者blue.html中,parent指向parent.html中的rightFrame。如果代碼寫在parent.html中的topFrame中,那么parent指向top對象,也就是瀏覽器窗口。還有一個指針self,它總是等于window。
參考書:
《JavaScript高級編程》Nicolas C. Zakas著, 曹力 張欣 等譯。
posted @
2011-10-18 12:22 wawlian 閱讀(473) |
評論 (0) |
編輯 收藏
修改host,加入
203.208.46.146 www.google.com
203.208.46.147 www.google.com.hk
203.208.46.132 clients1.google.com
203.208.46.149 mail.google.com
203.208.46.161 chatenabled.mail.google.com
203.208.46.161 mail-attachment.googleusercontent.com哈哈,找到解決辦法,速度明細加快
posted @
2011-10-14 14:56 wawlian 閱讀(682) |
評論 (0) |
編輯 收藏
以下內容均是來自《鋒利的jQuery》,發到這里,純屬做個筆記,方便查閱。
直接看代碼:
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
3 <html>
4 <head>
5 <title></title>
6 <script type="text/javascript" src="jquery-1.3.1.js">
7
8 </script>
9
10 <script type="text/javascript">
11 $().ready(
12 function() {
13
14 //表單對象屬性過濾選擇器
15 //1改變表單內可用元素的值
16 //$('#form1 input:enabled').val("這里變化了");
17
18 //2改變表單內不可用元素的值
19 //$('#form1 input:disabled').val("這里變化了");
20
21 //3選取多選框中選中的個數
22 //alert($('#form1 input:checked').length);
23
24 //4選取下拉框中選中的內容
25 alert($('#form1 select :selected').length);
26 }
27 );
28 </script>
29 </head>
30 <body>
31 <form action="" id="form1">
32 可用元素:<input name="add" value="可用文本框"/><br/>
33 不可用元素:<input name="email" disabled="disabled" value="不可用文本框"/><br/>
34 可用元素:<input name="che" value="可用文本框"/><br/>
35 不可用元素:<input name="name" disabled="disabled" value="不可用文本框"/><br/>
36
37 <br/>
38 多選框:<br/>
39 <input type="checkbox" name="newsletter" checked="checked" value="test1"/>test1
40 <input type="checkbox" name="newsletter" value="test2"/>test2
41 <input type="checkbox" name="newsletter" value="test3"/>test3
42 <input type="checkbox" name="newsletter" checked="checked" value="test4"/>test4
43 <input type="checkbox" name="newsletter" value="test5"/>test5
44
45 <div></div>
46 <br/><br/>
47 下拉列表:<br/>
48 <select name="test" multiple="multiple" style="height:100px">
49 <option>浙江</option>
50 <option selected="selected">湖南</option>
51 <option>北京</option>
52 <option selected="selected">天津</option>
53 <option>廣州</option>
54 <option>湖北</option>
55 </select>
56
57 <br/><br/>
58 下拉列表2:<br/>
59 <select name="test2">
60 <option>浙江</option>
61 <option>湖南</option>
62 <option selected="selected">北京</option>
63 <option>天津</option>
64 <option>廣州</option>
65 <option>湖北</option>
66 </select>
67
68 <div></div>
69 </form>
70 </body>
71 </html>
posted @
2011-06-17 16:51 wawlian 閱讀(307) |
評論 (0) |
編輯 收藏
摘要: 以下內容均是來自《鋒利的jQuery》,發到這里,純屬做個筆記,方便查閱。直接看代碼:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 <!DOCTYPE HTML PUBLIC ...
閱讀全文
posted @
2011-06-17 16:11 wawlian 閱讀(906) |
評論 (0) |
編輯 收藏
MyEclipse 9.0 安裝了Flash Builder4.5,界面菜單都變成中文的了,完全不適應。
如果不習慣中文界面, 改回英文界面吧。只需要為 flash builder 加上啟動參數
" -clean -nl en_US "
完成后記得將 -clean 去掉,以免每次啟動 flash builder 都執行清理動作而浪費時間。
posted @
2011-06-15 14:04 wawlian 閱讀(539) |
評論 (0) |
編輯 收藏
下載正確的版本,然后修改refhost.xml文件
然后解壓,在目錄中找到refhost.xml(有兩個,我的一個是在stage\prereq\db目錄下,一個是在stage\prereq\db_prereqs\db目錄下)進行添加修,添加如下代碼:
<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>
注:如果安裝的是客戶端,將路徑中的db改為client即可。
而后還要修改一個oraparam.ini文件,在install目錄下
先在[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
#Windows=5.0,5.1,5.2,6.0,6.1
注:即在#Windows=5.0,5.1,5.2后面添加 ,6.0,6.1
再添加下面代碼:
#[Windows-6.1-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300
#[Windows-6.1-optional]
以管理員身份運行setup.exe
posted @
2011-06-02 21:13 wawlian 閱讀(654) |
評論 (1) |
編輯 收藏
1 //升序插入排序
2 public static int[] insertSort(int[] a) {
3 for(int i = 1; i < a.length; i++) {
4 int j = i-1;
5 int tmp = a[i];
6 while(j >= 0 && a[j] > tmp) {
7 a[j+1] = a[j];
8 j = j -1;
9 }
10 a[j+1] = tmp;
11
12 }
13
14 return a;
15 }
16
17 //降序插入排序
18 public static int[] insertSortDesc(int[] a) {
19 for(int j=1; j < a.length; j++) {
20 int i = j - 1;
21 int key = a[j];
22 while(i >= 0 && a[i] < key) {
23 a[i+1] = a[i];
24 --i;
25 }
26 a[i+1] = key;
27 }
28 return a;
29 }
posted @
2011-05-25 14:02 wawlian 閱讀(172) |
評論 (0) |
編輯 收藏
在flex4中,滾動條是屬于group的,flex4中沒有了直接的垂直和水平滾動條,取而代之的是用一個group里面包含了一個scroller,這個scroller有2個屬性,垂直和水平滾動條。
如果TextArea要隱藏或者顯示滾動條,用style
horizontalScrollPolicy和verticalScrollPolicy,而不是3的mx里面的屬性。
而將滾動條移至底端,不能直接設置verticalScrollPosition,而用以下方法
<s:TextArea x="30" y="10" width="175" id="txt"/>
<fx:Script>
txt.text = "xxxx...";
txt.validateNow();
txt.scroller.verticalScrollBar.value = txt.scroller.verticalScrollBar.maximum;
</fx:Script>
validateNow方法驗證并更新此對象的屬性和布局,如果需要的話重繪對象。
這個方法比較重要,因為在flex里面不會像flash設置了text立即就會顯示文本的高度和寬度。非要重繪,或者,監聽enterFrame或者其它事件,等控件外觀更新完成后,才能真正獲取到寬度,高度,verticalScrollBar.maximum,等文字相關屬性。
posted @
2011-04-24 17:16 wawlian 閱讀(2619) |
評論 (0) |
編輯 收藏
http://piziwang.iteye.com/blog/479825
posted @
2011-04-23 23:35 wawlian 閱讀(370) |
評論 (0) |
編輯 收藏
在開發過程中,我們經常會遇到讀取配置文件的情況,對于配置文件的讀取,根據環境等情況又各有不同,一般情況下,如果從非jar包中使用相對/路徑,比較簡單,就不在累述了,而在很多
情況下,我們需要把我們的class打包成jar文件,進行使用,這時就會發現,我們先前如果沒有考慮到這些,可能就行不通了,那么,該如何解決呢?方法如下
:
有如下路徑 :
Web-info--|-->classes--->conf-->config.properties
|-->lib
此時加入我們需要讀取config.properties,在不使用jar包時,使用如下方式讀取,不失為一種方法:
File f = new File(this.getClass().getResource("/").getPath());
f = new File(f.getPath() + "/conf/config.properties");
注:f.getPath()即為當class所在的絕對路徑。如:c:\javasrc\web-inf\classes
然后,對文件對象進行處理,就能把配置信息讀取出來了,但是加入如上class被打包成jar文件,那么,在程序執行到這里時,就會無法找到配置文件,那么該如何處理呢?
處理方法如下:
String s_config="conf/config.properties";
InputStream in = ClassLoader.getSystemResourceAsStream(s_config);
if( in == null ){
System.out.println( " 打開 " + s_config + "失敗!" );
}else
{
Properties properties = new Properties();
properties.load(in);
//
//接下來就可以通過properties.getProperty(String obj)方法對進行配置信息讀取了
}
本文來自CSDN博客,轉自:http://blog.csdn.net/wjmmml/archive/2004/09/27/118404.aspx
posted @
2011-04-22 20:46 wawlian 閱讀(285) |
評論 (0) |
編輯 收藏
http://lqw.iteye.com/blog/538238
posted @
2011-04-20 16:04 wawlian 閱讀(245) |
評論 (0) |
編輯 收藏
我自己在學習Flex的時候碰到了這個問題,上網找了一些覺得都很麻煩。因為我是使用RemoteObject和Java
結合,后臺還集成了spring。在jsp中要獲取客戶端IP地址最簡單的辦法就是拿到request對象,但是我是獲取的spring中的bean,通過spring好像不行,但是我在查看springfactroy代碼的時候有個非常發現:
就是flex.messaging.FlexContext這個類有個靜態方法:flex.messaging.FlexContext.getHttpRequest()
取到HttpRequest后面在拿getRemoteAddr就不用多說了:
flex.messaging.FlexContext.getHttpRequest().getRemoteAddr()就這么簡單.呵呵。
我的環境是Java+spring+blazeds+flex+RemoteObject實現。
posted @
2011-04-20 15:57 wawlian 閱讀(1064) |
評論 (0) |
編輯 收藏
http://wawlian.javaeye.com/blog/975029
posted @
2011-03-25 11:25 wawlian 閱讀(188) |
評論 (0) |
編輯 收藏
1.云計算基礎
1.1云計算概述
1.1.1 解惑——什么是云計算
實質上,云計算是一種構造,它允許訪問實際駐留在你的計算機以外的某個位置或者其他Internet連接的設備上的應用程序。通常,它是遠程數據中心。
云計算的優點是:另一家公司托管你的應用程序,這意味著他們處理服務器費用,管理軟件更新,而你為服務支付相對較少的費用。
云計算缺點:弱連接(網絡故障、出于安全的考量);集成問題(如果應用程序在地理上是分散的,那么很難管理他們)
1.1.2 云組件
從簡單的拓撲方面來說,云計算解決方案由以下幾部分組成:客戶、數據中心、分布式服務器。
1.客戶:與普通局域網的客戶一樣
2.數據中心:用于存放你預定的應用程序的服務器集合。
3.分布式服務器:服務器不必全都安在一個位置。通常,服務器在地理上是分散的。但是對于你(云用戶)來說,這些服務器工作時,就好像它們是彼此相鄰的。
1.1.3 基礎設施
1.網格計算
人們通常把網格計算和云計算弄混淆,實際上它們區別非常大。網格計算在同一時間針對單個問題把網絡中的眾多計算機資源應用于工作。
網格計算需要使用某種軟件,他可以劃分程序段,然后把他們發送給數千臺計算機。可以在組織的所有計算機上完成這個任務,或者以公共協作的形式完成它。
由于以下原因,網格計算變得非常吸引人:
(1)它是一種使用給定數量的計算機資源的經濟的方式
(2)它可以解決需要很高計算性能的問題
(3)可以協作式共享很多計算機的資源,而無需一臺計算機管理其他計算機。
2.完全虛擬化
完全虛擬化是使完全安裝的一臺機器在另一臺機器上運行的技術。結果會得到一種系統,其中,在服務器上運行的所有軟件都位于虛擬機內。
這種方式不僅允許運行獨特的應用程序,而且允許運行不同的操作系統。虛擬化與云計算相關,因為它是訪問云上服務的方式之一。也就是說,遠程數據中心可能以完全虛擬化的方式提供服務。
為了實現完全虛擬化,必須借助特定的硬件組合。知道2005年,AMD-Virtualization(AMD-V)和Intel Virtualization Technology(IVT)擴展的引入才使得完全虛擬化成為可能。
完全虛擬化優點:
(1)在多個用戶中共享計算機系統
(2)把用戶之間隔開以及把用戶和控制程序之間隔開
(3)仿真另一臺計算機的硬件。
3.半虛擬化
半虛擬化通過高效的使用系統資源,允許同時在單個硬件設備上運行多個操作系統。
在完全虛擬化中,將仿真整個系統,但是在半虛擬化中,管理模塊與虛擬機中的系統協同工作。在半虛擬化系統中,可以同時運行許多不同的操作系統。
半虛擬化在以下方面表現的最佳:
(1)災難恢復:發生災難,可以將Guest系統移植別的硬件
(2)遷移:方便遷移
(3)容量管理:虛擬化環境中會更加容易添加更多處理能力或硬盤。
posted @
2011-03-22 11:14 wawlian 閱讀(345) |
評論 (0) |
編輯 收藏
XMLHttpRequest的readyState:
0:未初始化——創建
1:初始化——open
2:發送請求——send
3:開始接受結果
4:接收結果完畢
狀態每改變一次,調用一次回調函數。方法調用5次,但是前兩次的readyState==1
onreadystatechange = callback
綁定回調函數,不加()。
XMLHttpRequest的status:
200 OK
404 Not Found
500 Serevr Error
1 var xmlHttpRequest;
2
3 //創建XMLHttpRequest對象
4 function createXmlHttpRequest() {
5 var xmlHttp;
6 if(window.ActiveXObject) {
7 try {
8 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
9 } catch (e) {
10 xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
11 }
12 }else if(window.XMLHttpRequest) {
13 xmlHttp = new XMLHttpRequest()
14 }
15
16 return xmlHttp;
17 }
18
19
20 function checkExist() {
21 xmlHttpRequest = createXmlHttpRequest();
22 xmlHttpRequest.onreadystatechange = callBack;
23
24 var url = "http://localhost:8080/Ajax/CheckUser?uname="+document.getElementById("userName").value;
25
26 xmlHttpRequest.open("GET", url, true);
27 xmlHttpRequest.send(null);
28 }
29
30 function callBack() {
31 if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200) {
32 var result = xmlHttpRequest.responseText;
33 //
34 }
35 }
posted @
2011-03-14 15:36 wawlian 閱讀(216) |
評論 (0) |
編輯 收藏
Ajax中請求被緩存的問題
在Ajax開發中,會遇到瀏覽器緩存內容的問題,比如,某個元素注冊了鼠標事件(onmouseover),事件觸發后會通過
xmlhttprequest到服務器獲取內容,在不刷新頁面的情況下,瀏覽器會緩存第一次請求的內容,服務端更新后瀏覽器仍然顯示第一次的內容。
通常,這種請求都是xmlhttprequest發起的GET請求。根據 HTTP 規范,GET
用于信息獲取,而且應該是冪等的。也就是說,當使用相同的URL重復GET請求會返回預期的相同結果時,GET方法才是適用的。當對一個請求有副作用的時候(例如,提交數據注冊新用戶時),應該使用POST請求而不是GET。所以瀏覽器會對GET請求做緩存處理。
解決辦法:
一. GET請求URL后附加字串,讓服務器認為不是相同的請求。
例
"http://www.example.com/index.php?class=aitcle&page=5&_t=" + new
Date().getTime()
二. 在ajax發送請求前加上
xmlHttpRequest.setRequestHeader("If-Modified-Since","0")
三. 在ajax發送請求前加上
xmlHttpRequest.setRequestHeader("Cache-Control","no-cache");
四.
服務端響應請求時加 header("Cache-Control: no-cache, must-revalidate"); (PHP)
五.
使用POST代替GET,瀏覽器不會對POST做緩存
轉自 http://yanglei008.javaeye.com/blog/222401
posted @
2011-03-14 15:34 wawlian 閱讀(395) |
評論 (0) |
編輯 收藏
唯一約束
唯一約束與創建唯一索引基本上是一回事,因為在創建唯一約束的時候,系統會創建對應的一個唯一索引,通過唯一索引來實現約束。不過唯一約束更直觀的表達了對應列的唯一性,使得對應索引的目的更加清晰,所以一般建議創建唯一約束而不是只創建唯一索引。
在PD中創建唯一約束的操作,以教室表來說,RoomID是主鍵,必然是唯一的,RoomName如果我們也要去必須是唯一的,那么具體操作如下:
在PD的模型設計面板中,雙擊“教室”表,打開屬性窗口,切換到"”Keys”選項卡,可以看到里面有一行數據PK_ClassRoom,這是主鍵約束。添加一行數據,命名為UQ_RoomName,不能將右邊的“P”列選上,然后單擊工具欄的“屬性”按鈕,彈出UQ_RoomName的屬性窗口,切換到列選項卡,單擊增加列按鈕,選擇將RoomName列添加到其中,然后單擊確定即可完成唯一約束的添加。
這樣系統就會自動創建唯一約束。
CHECK約束
CHECK分為列約束和表約束,列約束是只對表中的某一個列進行的約束,可以在列的屬性中進行設置,而表約束是對多個列進行的約束,需要在表的屬性中進行設置(其實列約束也可以在表約束中設置)。
1.標準CHECK約束
對于一些常用的CHECK約束,可以直接通過設置界面來完成。以班級表為例,ClassName每個學校有自己的命名規則,假設這里規定ClassName必須以2開頭,那么需要在ClassName列上定義CHECK約束,使得其滿足命名規范。具體操作是在PD中雙擊Class表,打開Class的屬性窗口,切換到列選項卡,選擇ClassName列,單擊工具欄的“屬性”按鈕,彈出ClassName的屬性窗口,切換到StandardChecks選項卡如圖:
在這個選項卡可以定義屬性的標準檢查約束,窗口中每項的參數的含義,如下:
參數 說明
Minimum 屬性可接受的最小數
Maximum 屬性可接受的最大數
Default 屬性不賦值時,系統提供的默認值
Unit 單位,如公里、噸、元
Format 屬性的數據顯示格式
Lowercase 屬性的賦值全部變為小寫字母
Uppercase 屬性的賦值全部變為大寫字母
Cannot modify 該屬性一旦賦值不能再修改
List Of Values 屬性賦值列表,除列表中的值,不能有其他的值
Label 屬性列表值的標簽
2.直接編寫SQL語句的CHECK約束
在前面彈出ClassName屬性窗口中,單擊左下角的“More”按鈕,系統將彈出更多的選項卡,切換到“Additional Checks”選項卡,可以設置約束名和具體的約束內容,如圖所示:
表級的CHECK約束與列級的CHECK約束設置類似,單擊表屬性窗口左下角的“More”按鈕,切換到Check選項卡,設置CHECK約束的命名和SQL語句內容。
3.使用Rule創建約束
同樣以班級名必須以2開頭為例,通過Rule創建CHECK約束。首先需要創建一個Rule,雙擊Class表,打開表的屬性窗口,切換到Rules選項卡,單擊“Create a Object”按鈕,系統將打開一個業務規則屬性窗口,修改規則名,并將規則的類型修改為Constraint,如圖所示:
然后切換到Expression選項卡,設置規則的內容為“ClassName LIKE '2%'”,單擊確定按鈕即可完成Rule的設置。切換到表屬性的Check選項卡,默認約束內容中的“%RULES%”就是用來表示Rule中設置的內容,如果我們還有一些其他的CHECK約束內容,不希望在Rule中設置,而是在Check選項卡中設置,那么只需要刪除%RULES%將CHECK約束內容添加進去,也可以保留%RULES%,然后在與%RULES%之間添加一個and即可。比如規定ClassID必須小于10000,那么我們可以將Check內容設置如下:
生成的腳本如下:
create table Class (
ClassID int not null,
ClassName varchar(20) not null,
constraint PK_CLASS primary key nonclustered (ClassID),
constraint CKT_CLASS check (ClassID<10000),
constraint ClassNameRule check (ClassName LIKE '2%')
)
go
可以看到,根據Rule生成的CHECK約束與在Check選項卡中設置的約束將分別創建一個約束,相互并不影響。
默認約束
默認約束是用戶在沒有輸入值的情況下,系統給出默認的值。最常用的是CreateTime字段,設置默認值為getdate(),在用戶創建一行數據時記錄下創建時間。例如對于選課表,需要記錄下選課的時間,則可以設置ApplyTime的默認值為getdate()函數。
設置默認值約束的操作如下:雙擊選課表,打開表屬性窗口,選擇ApplyTime字段,單擊工具欄的屬性按鈕,打開列的屬性窗口,切換到Standard Checks選項卡,在Default下拉列表框中選擇getdate()即可。
至此我們所有的約束在PD中的設置都介紹完了,下一篇將介紹視圖、存儲過程等數據庫對象。
from: http://www.cnblogs.com/studyzy/archive/2009/12/17/1626650.html
posted @
2011-02-14 20:32 wawlian 閱讀(1685) |
評論 (0) |
編輯 收藏