JAVA3D包功能介紹
摘要: 包 簡介 ... 閱讀全文
我們知道,在子類繼承父類之后,如果子類與父類有同名的字段和方法,那么子類中的子段會代替或隱藏父類的子段,說明子類字段覆蓋了超類字段,但可以通過super關鍵字去訪問超類字段。但是,在我們將子類對象向超類轉型的時候就會發生這個奇怪的現象,子類對象居然可以看到父類曾經被覆蓋掉的字段!就正如下面例子中一樣:
關于超類方法重載,子類無法覆蓋其中的任意一個方法。
經過一個星期的艱苦奮斗終于解決了這個問題,特將經驗摘錄下來備忘。本文將解決以下的幾種亂碼問題。
中文存入 mysql 數據表出現的亂碼,從 JSP 頁面讀取 mysql 中文數據出現亂碼,以及在 sell 環境下查看數據庫表中文數據出現亂碼。
linux平臺:ubuntu6.10
mysql版本:5.0
瀏覽器:firefox2.0
為了解決中文亂碼的問題首先就是要同一字符集,我采用utf-8。
第一步:安裝mysql后,修改配置文件/etc/mysql/my.cnf 找到相應項并添加如下字段,如下所示:(注意是添加,配置文件中其他不相關的內容下面并沒有列出來)
[client]
default-character-set=utf8
[mysqld_safe]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
重新啟動mysql服務,進入sell終端,進入mysql的命令提示符下輸入如下指令:
mysql>show variables like '%char%';
如果出現的列表各項內容和以下相同表明配置成功了,
+----------------------+---------------------
| Variable_name | Value
+-----------------------+---------------------
| character_set_client | utf8
| character_set_connection | utf8
| character_set_database | utf8
| character_set_filesystem | binary
| character_set_results | utf8
| character_set_server | utf8
| character_set_system | utf8
| character_sets_dir | /usr/share/mysql/charsets/
+---------------------+----------------------
第二步:在要發送中文或者要讀取中文的JSP頁面(最好所有頁面)都添加如下聲明:
<%@page pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=utf-8"%>
<% request.setCharacterEncoding("utf-8"); %>
在<head>標簽對中添加如下:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
注意在servlet中對請求進行響應的方法中同樣要有:
response.setContentType("text/html;charset=utf-8");
第三步:(由于不明原因firefox發送的請求仍然是latin1的時候執行這一步)
在將請求的參數插入數據庫之前還要再執行一次轉碼(將latin1編碼轉換為utf-8),例如:
String utf8_str = new String( latin_str .getBytes("latin1"),"utf-8");
這一步可以寫在一個過濾器中,不怕麻煩也可以在每一次在將請求數據插入之前都進行一次轉碼。
另外:在連接數據庫的時候可以不用加上字符集參數了,直接用用戶名和密碼連接就可以了,如連接:
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/數據庫名","用戶名","密碼");
摘要: 時間過的快么?人的感覺而已,時間還是那樣地流過,但人們卻有不同的感受,收獲的越多,感覺時間過的越慢,認知的越少,時間也就過的越快。有三個月沒寫點什么東西了,為了讓時間記住這三個月都發生了什么,趁現在還沒有忘記還是記錄下來罷,今天心情不好所以廢話也就多點。 ?????? 按時間順序一個一個來吧。 ... 閱讀全文
關于ubuntu與xp雙系統的安裝過程 :
配置ubuntu系統
與window局域網互聯 。
雙網卡與window實現共享上網,ububtu做主機
其他注意 :
摘要: DTD和Schema簡介
DTD和Shema用來定義將用來表示數據的元素
DTD語法
Schema簡介
使用 XML 模式,您會有更多的能力來定義什么樣的 XML 文檔是有效的
閱讀全文
摘要: 《XML精要》
前言
開始學XML也有個把星期了,前后看了幾本書關于XML基礎的書,感覺講的甚是凌亂,有些書甚至干脆直接在網上COPY些資料東抄一點西抄一點最后就出版了(比如《XML語言及應用---清華大學出版社》就干脆直接將網上的《XML初學進階》抄下來,將例子改改就完了)現在中國大學治學的態度可見一斑,直到本周發現了一個IBM的在線XML教程,該教程將XML所有的知識分解為一個個單獨的講座,每堂課還介紹了所需要的前提知識以及所要用到到參考資料,而且教程將知識講的非常的簡練和精確,但可惜該教程是在2002年左右發表的了,在網上資源不是很好找而且比較散,所以我決定將我學的每趟講座的精要和我個人的讀書筆記整理出來形成一個連載,一來鞏固我的學習,二來也可以供大家參考,取名《XML精要》。言歸正傳,那我就開始嘍 閱讀全文
一:語法結構:
?????? 嵌入 *.js 文件 <script? language=”javScript” src=”url ”></script>
1.? 定義結構:
a)???????? 變量定義: var xx = “xx” 無須匹配類型;
b)??????? 函數定義: function method(x , y){…} 參數同樣不用匹配類型;
可以通過 arguments.length 屬性來確定參數個數來創建不確定參數的函數如:
??? function noArguments(){
????????????? var len = arguments.length;
????????????? for(var i=0;i<len;i++){
????????????? ????????????? var fristArgument = noArguments.arguments[i];
??????????????????????????? ………// 通過 ? noArguments.arguments[i] 獲得參數;
}
}
c)??????? 對象定義:
定義方式一 ? function obj(x,y){
?????? this.x=x;
?????? this.y=y;
?????? this.m1=method1;
?????? this.m2=method2;
?????? function method1(){…..}
function method2(){…..}
}
定義方式二 ? function obj(x,y){
?????? this.x=x;
?????? this.y=y;
?????? this.m1=function method1(){……}
?????? this.m2=function method2(){……}
}
d)??????? 使用對象:
var obj1 = new obj();
var new_x = obj.x; // 是用屬性的方式 1
var new_y = obj[‘y’]; // 是用屬性的方式 2
二 內置對象:
?????? a) 數組對象( Array ):
???????????????????? var newArry =new Arry(n);
???????????????????? var newArry =new Arry(“one”,”two”,”there”,”four”);
?????? 注:屬性和方法不再列出。
??????
b) 字符串對象( String ):
???????????????????? var newStr =”xxx”;
???????????????????? var newStr=new String(“xxx”);
?????? 對字符串的比較直接使用 ”= =”
??????
?????? c) 數學對象( Math )
????????????? 注意:使用數學對象時不需要創建該對象,直接使用即可;
????????????? 例如: Math.PI; // 屬性的使用
Math.abs(x);// 方法的使用;
d) 日期對象( Date )
??????? var date1 =new Date();
????????????? var date2 =new Date(“ 日期子串 ”);
????????????? var date3 =new Date( 年,月,日, [ 時,分,秒,毫秒 ]);
????????????? var date4 =new Date( 毫秒 );
?
當使用JSP頁面將中文數據添加到MySql數據庫中的時候發現變為亂碼,或者從mysql中讀取中文的時候出現亂碼,這些問題根源都是由于字符編碼不一致造成的。要知道病源是什么我們才能對癥下藥,所以我將問題產生的過程簡單描述一下(如有不對望高人賜教)
?我們以一個從form表單讀取數據并寫入mysql數據庫的例子來講解;
HTML頁面參數—(以瀏覽器的編碼方式發送)—》JSP頁面—(以JSP定義的編碼方式被編譯)—》被JSP引擎編譯為*.class文件——》在JSP容器中運行——》傳遞給Mysql數據庫—(以數據庫的編碼方式讀取數據并存儲)—》讀取Mysql—(以數據庫的編碼方式讀取)—》JSP頁面接受后在瀏覽器中顯示(以瀏覽器編碼方式解碼顯示);
注意:這里的“瀏覽器編碼”“JSP頁面編碼”“JSP頁面輸出編碼”“JSP頁面輸入編碼”“數據庫的編碼”可能存在潛在的不一直,當它們中的任意一個不相同的時候就會出現亂碼;就好像傳話游戲一樣,張三要把話傳給李四,李四把他聽到的傳給王五,要讓王五知道張三說的什么就需要他們三個人使用的相同語言,如果李四是個火星人,他當然聽不懂張三說什么,然后他還不厚道的對王五說火星話(亂碼),結果王五就只能聽到亂碼了。(比喻比較汗~~^_^!)
好了,現在我們就依次把各個編碼方式改為相同就可以了;
//-------------------------瀏覽器編碼-----------------
<html>
? <head><meta http-equiv="Content-Type" content="text/html; charset=GB2312"></head>
</html>
//---------------------------JSP頁面-------------------
<%@ page pageEncoding="GB2312"%>??????????????????????????? //JSP頁面編碼:
<%@ page contentType="text/html;charset=gb2312"%>????//JSP頁面輸出編碼:
<% request.setCharacterEncoding("gb2312");?%>?????????????? //JSP頁面輸入編碼:
//------------------------MySql編碼-------------------
Connection connect = java.sql.DriverManager.getConnection(
"jdbc:mysql://localhost/mydb?user=登陸帳號&password=你的密碼&useUnicode=true&characterEncoding=gb2312");
//-------------------------------------------------------
注意:gb2312的寫法(紅色部分) 在瀏覽器和數據庫中的寫法要區分!
以上配置測試成功!(tomcat5.5+MySql5.0)
//另外看了網上的很多文章,比如通過函數轉碼啊~~改配置文件啊~~都不如這樣來的簡便且成功率高!
推薦!
運行環境 tomcat5.5+MySql5.0
編寫一個簡單的HTML表單:
<%@ %>指令塊。定義JSP文件的全局屬性,該指令不能作用動態包含文件;
<%@ page
???
language="java"
???
extends="指定父類"
???
import="導入JAVA類" ??
???
session="false||true是否使用session對象"
???
buffer="定義緩沖區大小默認8kb"
???
autoFlush="false||true自動清除緩沖區"
???
isThreadSafe="false||true是否處理多請求"
???
info="定義相關信息.txt"
???
errorPage="url指定錯誤頁"
???
contentType="編碼方式"
???
isErroPage="false||true是否為處理異常頁"
%>?
<%@ include
file
="URL指定要包含的另外一個JSP文件,*.jspf,*.htmlf"%>
<%@ taglib
uri
="" prefix=""%>
常用的JSP動作元素
1
???
<jsp:useBean
???????
id="指定該bean對象名"
???????
scope="page||request||session||application bean的作用域"
???????
class="bean的class文件名,注意不能與beanName屬性一起使用"
???????
beanName="*.class或*.ser或bean包的名字,緊當bean不存在于指定???????????? 的作用域時才使用 "
???????
type="與class或beanName一起使用,指定要實例化的bean的類或接口"
???
>
???
<jsp:setProperty name="" property="" value="">實例話bean的初始特性值。
???
</jsp:/useBean>
2??
???
<jsp:setProperty
???????
name="對應<jsp:useBean>中的id"
???????
property="*||bean屬性名 通過request參數設定bean屬性值"
???????
value="為bean屬性值指定值,需要指定bean屬性名"
???
/>
3??
???
<jsp:getProperty
???????
name="對應<jsp:useBean>中的id"
???????
property="對應想要獲得的屬性值名"
???
/>
4
???
<jsp:include>
???????
page="要包含文件的相對地址"
???????
flush="true||false 是否清空緩沖區"
???????
<jsp:param name="" value="" 可以傳遞一個參數/>
???
</jsp:include>
5
???
<jsp:forward page="URL或者一個表達式,用于將請求的頁面轉向其他頁面">
???????
<jsp:param name="" value="">可以傳遞參數;
???
</jsp:forward>
6??
???
<jsp:param
name="" value="">
<%! %>
變量和方法聲明塊,要使用“;”結尾
<%? %>
腳本塊 可以聲明局部變量 但是不能定義方法!
<%= %>
表達式 注意內部不能使用“;”
硬件情況:
??????兩臺電腦均使用windowsxp-sp2;
??????兩臺電腦均有板載網卡。一臺使用升技NF7-S2主板,一臺用的技嘉威盛芯片組的小板(好像叫 8V800M2)
?????? 單獨購買一個tp-link的8139網卡。購價24元(嘿嘿。JS想宰我,結果與其打心理戰!最終JS陰謀落敗!哈哈)
??????一根雙機對聯的雙絞線。注意排線(橙藍綠棕)(綠藍橙棕);
????1:??其中一臺正確接入internet;(由于使用升技NF7-S2主板的電腦一旦雙網卡就會重起,所以不敢使用)并安裝雙網卡,使用獨立網卡接入internet,另外板載網卡與另一臺電腦相連;
?????2:在主機上(就是有雙網卡的那臺)創建一個internet連接.
?????3:?? 將與internet相連的哪個本地連接A的tcp/ip設置為自動獲得;將剛創建的哪個internet連接共享出來(屬性--》高級--》全打鉤--》家庭網絡連接選與另外一太電腦相連的那個本地連接B)再把B連接的ip地址設置為192.168.0.1? 掩碼255.255.255.0? 。
???? 4:最后把客戶機的ip設置為192.168.0.2? 掩碼255.255.255.0?網關:192.168.0.1 DNS:192.168.0.1
好了!把主機上網,這樣就實現了雙機共享上網了!
????
??????
很久以前就對 linux 很好奇,于是在網上查了很多的發行版,最后互相比較之后最終選擇了 kubentu 這是基于 Dibean 的 LINUX 發行版本,由于它的軟件包很豐富,而且采用的 KDE 桌面環境也和 WINDOWS 比較像(而且漂亮很多),在網上的評價也很不錯,于是下載刻盤。我安裝的版本是 kubentu6.06 ,我的 winXP-sp2
我 80G 的分區如下:
主分區:
????????????? C : 4G??? fat32? 安裝 windowXP 系統 ?
擴展分區:
D : 15G ?ntfs? 安裝軟件
E : 35G ntfs 存放視頻
F : 6G? fat32 我的工作目錄
G : 5G??? fat32 存放備份
Linux 主分區: 8G??????? ext3 掛載根文件系統
Swap:512MB???????? 交換分區
順便說明一點:我用的分區軟件是 PartitionMagic 漢化版;還有一個 hand disk manager6.0 也非常好用。可以將你硬盤中的空閑空間合并起來形成一個新的分區;具體使用方法可以參考軟件的幫助文件;要注意的是將 LINUX 的分區劃為一個主分區,如果劃為擴展邏輯分區不知道行的通不。保險起見還是劃為主分區了;
在使用 PartitionMagic 漢化版時,這個軟件有個向導幫助你安裝雙系統比如 widow+linux 但在最后一步中它會提示你要將你新劃出的 LINUX 分區設置為激活狀態,但同時也說如果沒有馬上安裝 LINUX 的話會導致 WINDOWS 不可引導。當時我也很在意這句話也上網查了很多資料但是都沒有說明這個問題(是否需要激活);由于不想冒風險于是還是決定不將它設置為激活,事實證明這樣是對的;呵呵。
第一步 :正常安裝 WINDOWXP 不用多說,如果你本來就有 windows 系統就往下繼續
第二步 :設置 BIOS 從光驅啟動,然后放入 kubentu 的光盤(注意刻盤的時候要將不要科成數據光盤否者是不能引導的,從網上下載鏡像文件然后從鏡像復制光盤)
第三步 :正常引導以后選擇第一個選項;這里要注意,如果你要安裝簡體中文版的系統需要現在選者 language 為簡體中文,如果安裝英文版的就直接選擇第一項就可以了;如果現在不選擇語言等引導進入系統后再選擇簡體中文就會是亂碼了,這里要注意;
第四步 :進入系統,選擇安裝,進入之后依次設置時區(上海)語言(簡體中文)鍵盤(標準美式鍵盤)等屬性。
第五步 :也是最關鍵的一步,選擇手動編輯分區表,這時候回列出現在的分區信息,選擇你已經 l 劃分好的 inux 分區并記錄好這個分區的名字(一般是 hda?—“?” 代表數字)點下一步,選擇剛才的 had? 哪個分區,然后在最左邊的下拉列表中選擇 ”/”j 即根文件系統,注意在最右邊有一列單選按鈕提示是否要重新格式劃對應的分區,如果你不想你硬盤其他分區的數據不想被破壞的話幾千萬不要選擇!好了點下一步:這時候有個戲劇性的場面會出現,安裝程序會提示你一段警告英文,大體意思是說:“如果繼續的話你的硬盤所有的分區的數據將被摧毀!請確認做好備份……”當時我就被這段話給嚇住了 ~~ 提心吊膽了好久也不敢點下一步,經過了幾個月的思想斗爭后終于決定點下一步了……其結果可想而知!原來確實是虛驚一場!!安裝程序給我開了一個天大的玩笑。同志們如果確認前面的事情都做好了就放心的點下一步吧!
好了 ~~ 以后的安裝完全不用擔心了。它回自動識別你的硬件和 windowsxp 系統,好了完成,這時候將光盤拿出重起,你就會看到雙啟動菜單!
很久前就試過,但是沒有成功。想起來主要是些細節問題沒有搞清楚。現在準備開始學習 JSP 所以再一次配置,在網上查了很多文章一一的試驗,可是每篇文章要不是不全面,要么就是對應軟件版本太久和現在版本有很多差別,可惜沒有一篇能夠完全清晰的告訴一個初學者該如何配置的文章 , 好不容易東看看西看看總算成功運行了,為了讓像我一樣的初學者在不懂太多術語的基礎上也能成功配置,節省時間來開始學習。我就將完整細致的寫下來。
軟件準備: ( 我使用的是 WINDOWSXP — SP2)
?????? //------JDK5.0------
?????? jdk-1_5_0-windows-i586.exe
?????? //------JSP 容器 ----
?????? apache-tomcat-5.5.16.zip
tomcatPluginV31.zip
//------j2ee 插件 -----
?????? lomboz-eclipse-emf-gef-jem-3.1RC1.zip
?????? //-----------IDE-----------
eclipse-platform-3.2-win32.zip
//-----------JAVA 開發插件
eclipse-JDT-3.1zip
//----------- 語言漢化包 ------
NLpack1-eclipse-JDT-3.1.zipNLpack1-eclipse-platform-3.1-win32.zip
這些插件和軟件都是在官方網站上下載的,不知道地址的同學可以搜索一下就可以了。我就不浪費口水了。在進行以下安裝之前要先安裝 JDK ,一路下一步即可。完成后設置三個環境變量(如果原來系統有就不要添加了) JAVA_HOME(jdk 安裝目錄 )PATH(jdk 安裝目錄下的 BIN 目錄 )CLASSPATH( 類文件目錄,記到前面加個 .; ?)
?????? 第一步:安裝 eclipse3.1
直接解壓 eclipse-platform-3.2-win32.zip 到一個目錄下,建議目錄名路徑名之間不要有空格和漢字(原因我也不太說的清楚),好了之后再解壓 eclipse-JDT-3.1zip 到同一目錄中,注意要直接覆蓋而不要將解壓后的內容放在 eclipse 目錄下,完成之后用同樣的方法解壓后面兩個漢化包覆蓋 eclipse 目錄。
?????? 第二步:安裝 tomcat
將 apache-tomcat-5.5.16.zip 直接解壓到一個目錄即可,完成之后建立一個系統環境變量叫 TOMCAT_HOME 并把值設置為剛才 tomcat 的安裝目錄 ;
第三步:安裝 tomcatPluginV31.zip
????????????? 將它解壓后的文件夾拷貝到 X:\....\eclipse\plugins 文件夾下面即可;
?????? 第四步:安裝 lomboz
????????????? 安裝漢化包插件一樣,直接解壓覆蓋原來的 eclipse 目錄即可;
?????? 好了,安裝完成了!現在開始配置了:
??????
需要配置的地方用圖片表示:大家照這改就可以了!(注意安裝目錄要使用你實際安裝的目錄不要照到抄哈!)
???圖片在http://corsair.java.photo.163.com 的work目錄下。
關于javaScript中對事件捕捉的代碼組織方法:
有以下的3種,第一種又有3種類型;具體如下:
?