
2006年9月6日
1.下載所需軟件
1.1SVN服務端(svn-1.4.3-setup.exe)
http://subversion.tigris.org/project_packages.html
1.2把SVN設置成window服務(SVNService.exe)
我沒有下載地址,如有需要,留下你的email
1.3Eclipse的SVN插件(用Eclipse插件下載):
2.配置服務端
2.1安裝svn-1.4.3-setup.exe
2.2開始->運行->cmd->進入SVN服務端的安裝目錄下面的bin目錄
2.3cmd下運行svnadmin create SVN庫的位置(如:D:\SVN_PRJ)
2.4復制SVNService.exe到SVN服務端安裝目錄下的bin目錄
2.5cmd下運行SVNService -install -d -r D:\SVN_PRJ(SVN庫的位置)
2.6如果想撤消掉后臺服務,則運行SVNService -remove
2.7進入D:\SVN_PRJ\conf目錄下編輯svnserve.conf,內容如下(切記下面幾行字前不能有空格):
[general]
anon-access = read #匿名訪問權限,取值為read,write,none
auth-access = write #認證用戶的權限
password-db = passwd #認證用戶數據庫,即允許連到SVN的用戶(當前目錄下的passwd文件中存放的用戶及密碼)
realm = TESTING #在用戶認證界面上出現的提示語句
2.8編輯D:\SVN_PRJ\conf\passwd文件,內容如下
[users]
test = password #這時你連接SVN的時候可以使用用戶名為test密碼為password來連接SVN
2.9開始->設置->控制面板->管理工具->服務->啟動SVNService服務
3.Eclipse下配置SVN插件
3.1幫助->軟件更新->查找并安裝->搜索要安裝的新功能部件->新建遠程站點->輸入一個任意的名稱->URL輸入
http://subclipse.tigris.org/update_1.2.x->確定->選中你剛才添加的遠程站點->完成->選中Subclipse->執行安裝操作
3.2窗口->打開透視圖->SVN資源庫研究->右鍵->新建->資源庫位置->URL中輸入svn://127.0.0.1/->輸入2.7定義的用戶名test和密碼
password
4.提交工程
4.1右擊工程->小組->共享項目->選擇SVN->選擇svn://127.0.0.1(如果沒有,則創建一個新的資源庫)->下一步->完成
5.下載工程
5.1在SVN資源庫透視圖下,點開svn://127.0.0.1,會顯示出現在本機SVN上的所有工程,右擊你想下載的工程->檢出為->下一步->完成
6.基本操作
6.1同步
在MyEclipse J2EE透視圖下,右擊你要同步的工程->小組->與資源庫同步->這時會進入同步透視圖,會顯示出本機與SVN上內容有不同的文件,雙擊文件名,會顯示出兩個文件中哪里不同;
6.2提交
在同步透視圖下有"灰色向右的箭頭,表示你本機修改過",右擊該文件,可以選擇提交操作;
6.3覆蓋/更新
在同步透視圖下有"藍色向左的箭頭,表示你本機修改過",右擊該文件,可以選擇覆蓋/更新操作;
7.圖標說明
7.1灰色向右箭頭:本地修改過
7.2藍色向左箭頭:SVN上修改過
7.3灰色向右且中間有個加號的箭頭:本地比SVN上多出的文件
7.4藍色向左且中間有個加號的箭頭:SVN上比本地多出的文件
7.5灰色向右且中間有個減號的箭頭:本地刪除了,而SVN上未刪除的文件
7.6藍色向左且中間有個減號的箭頭:SVN上刪除了,而本地未刪除的文件
7.7紅色雙向箭頭:SVN上修改過,本地也修改過的文件
8.一些我遇到的出錯信息
8.1在上面講的3.2步輸入URL(svn://127.0.0.1)點下一步出現"svnserve.conf:
12: Option expected"錯誤
你打開svnserve.conf文件中的第
12行,該錯誤是由于該行的前面有空格引起的,把左邊多出的空格刪除掉即可;
8.2在上面講的3.2步輸入URL(svn://127.0.0.1/SVN_PRJ)點下一步出現"svn://127.0.0.1/SVN_PRJ non-existent in revision '7'"錯誤
URL錯了,應該輸入svn://127.0.0.1即可
9.SVN服務端自帶的基于命令行的操作語句
9.1設置SVN服務端安裝目錄下的/bin到環境變量中;
9.2在命令行下運行svn import c:/test svn://127.0.0.1/test -m "initial import" --username test --password passwd可進行上傳操作
9.3進入你要檢出的目錄,在命令行下運行svn checkout svn://127.0.0.1/test --username test -password passwd 可進行檢出工程的操作
9.4在命令行下運行svn commit test.txt -m "modified" --username test -password passwd 可進行提交操作
9.5在命令行下運行svn update -r HEAD test.txt --username test -password passwd 可進行更新操作
注:上面講的127.0.0.1可以換成外網IP,或者局域網IP皆可(即,在家里創建一個SVN服務端,即可在公司去訪問家里的SVN)
posted @
2008-01-05 23:40 摩西 閱讀(38591) |
評論 (6) |
編輯 收藏
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TempClass {
/**
* @param args
* @throws UnsupportedEncodingException
* @throws ClassNotFoundException
* @throws SQLException
*/
public static void main(String[] args) throws UnsupportedEncodingException {
String url = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=tran";
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager.getConnection(url, "sa", "sa");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select vcword from cn_other");
// mysql
String url_mysql = "jdbc:mysql://127.0.0.1:3306/zwspace";
Class.forName("org.gjt.mm.mysql.Driver");
Connection conn_mysql = DriverManager.getConnection(url_mysql,
"root", "root");
PreparedStatement st_mysql = conn_mysql
.prepareStatement("insert into chds_cihui(name) values(?)");
if (rs.next()) {
String rsname = rs.getString("vcword");
// String name = new String(rsname.getBytes("GB2312"),
// "GB2312");
// String name = new String(rsname.getBytes("UTF-8"), "GB2312");
// String name = new String(rsname.getBytes("utf8"), "GB2312");
// String name = new String(rsname.getBytes("iso-8859-1"),
// "GB2312");
// String name = new String(rsname.getBytes("GBK"), "GB2312");
// String name = new String(rsname.getBytes("GBK"), "GBK");
// String name = new String(rsname.getBytes("GB2312"), "GBK");
// String name = new String(rsname.getBytes("UTF-8"), "GBK");
// String name = new String(rsname.getBytes("iso-8859-1"),
// "GBK");
// String name = new String(rsname.getBytes("GBK"), "UTF-8");
// String name = new String(rsname.getBytes("GB2312"), "UTF-8");
// String name = new String(rsname.getBytes("UTF-8"), "UTF-8");
// String name = new String(rsname.getBytes("iso-8859-1"),
// "UTF-8");
// String name = new String(rsname.getBytes("GBK"),
// "iso-8859-1");
// String name = new String(rsname.getBytes("GB2312"),
// "iso-8859-1");
// String name = new String(rsname.getBytes("UTF-8"),
// "iso-8859-1");
// String name = new String(rsname.getBytes("iso-8859-1"),
// "iso-8859-1");
// String name = new String(rsname.getBytes(), "GBK");
// String name = new String(rsname.getBytes(), "GB2312");
// String name = new String(rsname.getBytes(), "UTF-8");
// String name = new String(rsname.getBytes(), "iso-8859-1");
String name = rsname;
System.out.println(rsname);
st_mysql.setString(1, name);
st_mysql.executeUpdate();
}
rs.close();
st.close();
conn.close();
st_mysql.close();
conn_mysql.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
試過以上的所有編碼都無法解決數據在MYSQL中的亂碼問題,看來是jdbc連mysql時的編碼不對,于是
將 String url_mysql="jdbc:mysql://127.0.0.1:3306/zwspace";后加上編碼
String url_mysql="jdbc:mysql://127.0.0.1:3306/zwspace?useUnicode=true&characterEncoding=utf8";終于OK了
posted @
2007-11-20 15:21 摩西 閱讀(862) |
評論 (0) |
編輯 收藏
在使用hibernate項目中,持久化類的ID用Long與long有很大區別!!
用long 作為id,當一個新的臨時類要持久化時會報一個這種錯:
Exception executing
batch: org.hibernate.StaleStateException:
Batch update returned unexpected row count from update: 0 actual
row count:
0 expected: 1
因為這個臨時類,已經有一個id=0 (long的默認值);這時hibernate 為錯認為這是一條持久化類,從而進行更新操作,故報錯!!
這時把持久類的id 類型改成Long 就OK了,再create 時,臨時類的id為null ,hibernate 才會正確的判斷這是臨時類而進行save操作!!
posted @
2007-09-28 11:42 摩西 閱讀(2444) |
評論 (1) |
編輯 收藏
user.getUserinfo().setSex(new String(pu.getSex().getBytes("ISO8859_1"),"GB2312"));
user.setNickname(new String(pu.getName().getBytes("ISO8859_1"),"GB2312"));
userService.createUser(user); String(byte[] bytes, int offset, int length, String charsetName) 通過使用指定的字符集解碼指定的 byte 子數組,構造一個新的
String
。
byte[] |
getBytes(String charsetName) 使用指定的字符集將此 String 編碼為 byte 序列,并將結果存儲到一個新的 byte 數組中 |
#800080
#7B7D62
#56B6E9
#4B8D32
posted @
2007-08-29 13:45 摩西 閱讀(420) |
評論 (0) |
編輯 收藏
<script language="JavaScript">
function doZoom(size){
document.getElementById("zwsky_content").style.fontSize=size+'px'
}
function ReImgSize(){
for (j=0;j<document.images.length;j++)
{
if (document.images[j].src.indexOf("
www.***.com/back") >0)
document.images[j].src=document.images[j].src.replace("
www.***.com/back","back.****.com/back");
}
}
</script>
............................
<body bottommargin="0" leftmargin="0" rightmargin="0" topmargin="0" onload="
ReImgSize()">
posted @
2007-08-23 17:47 摩西 閱讀(350) |
評論 (0) |
編輯 收藏
<input type="button" name="Submit3" value="搜 索" onClick="location.href='SearchResult.jsp?cluster_node_id=&key_word=' + document.CMS4JSearchForm.KEY_WORD.value + '&db_id=' + document.CMS4JSearchForm.DB_ID.value;">
posted @
2007-08-21 10:51 摩西 閱讀(1889) |
評論 (0) |
編輯 收藏
這個錯誤我一共遇到過兩次,一直沒有找到很好的解決方案,這個錯誤產生原因相信大家都知道,因為在hibernate中同一個session里面有了兩個相同標識但是是不同實體.
一開始按網上說的用
session.merge(Object)報了一個錯,可能是沒有用好,改用 session.clear(); session.update(user);這樣就OK了,
方法為:
package org.springframework.orm.hibernate3.support;
...
public void modifyByMerge(User user) {
Session session = getHibernateTemplate().getSessionFactory().
getCurrentSession();
session.clear();
session.update(user);
}
...
項目用的是spring + hibernate所以得用getHibernateTemplate().getSessionFactory().getCurrentSession();得當前Session
posted @
2007-08-20 11:29 摩西 閱讀(29505) |
評論 (9) |
編輯 收藏
上一次在做交友模板時,出來了這種問題,后來才發現是hibernate的一個映射文件配錯了,今天在做DC攝影時,
映射文件加了一個lazy="false" fetch="join" 結果,也出現了數據重復取。
<many-to-one name="user" column="user_id" class="com.zwspace.domain.User" lazy="false" fetch="join" />
這樣也會有錯嗎!想不通,只能把它給刪了。
posted @
2007-08-14 16:53 摩西 閱讀(699) |
評論 (0) |
編輯 收藏
js驗證表單大全
1. 長度限制
<script>
function test()
{
if(document.a.b.value.length>50)
{
alert("不能超過50個字符!");
document.a.b.focus();
return false;
}
}
</script>
<form name=a onsubmit="return test()">
<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>
<input type="submit" name="Submit" value="check">
</form>
2. 只能是漢字
<input onkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')">
3." 只能是英文
<script language=javascript>
function onlyEng()
{
if(!(event.keyCode>=65&&event.keyCode<=90))
event.returnvalue=false;
}
</script>
<input onkeydown="onlyEng();">
4. 只能是數字
<script language=javascript>
function onlyNum()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
//考慮小鍵盤上的數字鍵
event.returnvalue=false;
}
</script>
<input onkeydown="onlyNum();">
5. 只能是英文字符和數字
<input onkeyup="value="/oblog/value.replace(/[\W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
6. 驗證油箱格式
<SCRIPT LANGUAGE=javascript RUNAT=Server>
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("oh");
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>
7. 屏蔽關鍵字(這里屏蔽***和****)
<script language="javascript1.2">
function test() {
if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){
alert(":)");
a.b.focus();
return false;}
}
</script>
<form name=a onsubmit="return test()">
<input type=text name=b>
<input type="submit" name="Submit" value="check">
</form>
8. 兩次輸入密碼是否相同
<FORM METHOD=POST ACTION="">
<input type="password" id="input1">
<input type="password" id="input2">
<input type="button" value="test" onclick="check()">
</FORM>
<script>
function check()
{
with(document.all){
if(input1.value!=input2.value)
{
alert("false")
input1.value = "";
input2.value = "";
}
else document.forms[0].submit();
}
}
</script>
夠了吧 :)
屏蔽右鍵 很酷
oncontextmenu="return false" ondragstart="return false" onselectstart="return false"
加在body中
二
2.1 表單項不能為空
<script language="javascript">
<!--
function CheckForm()
{
if (document.form.name.value.length == 0) {
alert("請輸入您姓名!");
document.form.name.focus();
return false;
}
return true;
}
-->
</script>
2.2 比較兩個表單項的值是否相同
<script language="javascript">
<!--
function CheckForm()
if (document.form.PWD.value != document.form.PWD_Again.value) {
alert("您兩次輸入的密碼不一樣!請重新輸入.");
document.ADDUser.PWD.focus();
return false;
}
return true;
}
-->
</script>
2.3 表單項只能為數字和"_",用于電話/銀行帳號驗證上,可擴展到域名注冊等
<script language="javascript">
<!--
function isNumber(String)
{
var Letters = "1234567890-"; //可以自己增加可輸入值
var i;
var c;
if(String.charAt( 0 )=='-')
return false;
if( String.charAt( String.length - 1 ) == '-' )
return false;
for( i = 0; i < String.length; i ++ )
{
c = String.charAt( i );
if (Letters.indexOf( c ) < 0)
return false;
}
return true;
}
function CheckForm()
{
if(! isNumber(document.form.TEL.value)) {
alert("您的電話號碼不合法!");
document.form.TEL.focus();
return false;
}
return true;
}
-->
</script>
2.4 表單項輸入數值/長度限定
<script language="javascript">
<!--
function CheckForm()
{
if (document.form.count.value > 100 || document.form.count.value < 1)
{
alert("輸入數值不能小于零大于100!");
document.form.count.focus();
return false;
}
if (document.form.MESSAGE.value.length<10)
{
alert("輸入文字小于10!");
document.form.MESSAGE.focus();
return false;
}
return true;
}
//-->
</script>
2.5 中文/英文/數字/郵件地址合法性判斷
<SCRIPT LANGUAGE="javascript">
<!--
function isEnglish(name) //英文值檢測
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return false;
}
return true;
}
function isChinese(name) //中文值檢測
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return true;
}
return false;
}
function isMail(name) // E-mail值檢測
{
if(! isEnglish(name))
return false;
i = name.indexOf(" at ");
j = name dot lastIndexOf(" at ");
if(i == -1)
return false;
if(i != j)
return false;
if(i == name dot length)
return false;
return true;
}
function isNumber(name) //數值檢測
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charAt(i) < "0" || name.charAt(i) > "9")
return false;
}
return true;
}
function CheckForm()
{
if(! isMail(form.Email.value)) {
alert("您的電子郵件不合法!");
form.Email.focus();
return false;
}
if(! isEnglish(form.name.value)) {
alert("英文名不合法!");
form.name.focus();
return false;
}
if(! isChinese(form.cnname.value)) {
alert("中文名不合法!");
form.cnname.focus();
return false;
}
if(! isNumber(form.PublicZipCode.value)) {
alert("郵政編碼不合法!");
form.PublicZipCode.focus();
return false;
}
return true;
}
//-->
</SCRIPT>
2.6 限定表單項不能輸入的字符
<script language="javascript">
<!--
function contain(str,charset)// 字符串包含測試函數
{
var i;
for(i=0;i<charset.length;i++)
if(str.indexOf(charset.charAt(i))>=0)
return true;
return false;
}
function CheckForm()
{
if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><")))
{
alert("輸入了非法字符");
document.form.NAME.focus();
return false;
}
return true;
}
//-->
</script>
1. 檢查一段字符串是否全由數字組成
---------------------------------------
<script language="Javascript"><!--
function checkNum(str){return str.match(/\D/)==null}
alert(checkNum("1232142141"))
alert(checkNum("123214214a1"))
// --></script>
2. 怎么判斷是否是字符
---------------------------------------
if (/[^\x00-\xff]/g.test(s)) alert("含有漢字");
else alert("全是字符");
3. 怎么判斷是否含有漢字
---------------------------------------
if (escape(str).indexOf("%u")!=-1) alert("含有漢字");
else alert("全是字符");
4. 郵箱格式驗證
---------------------------------------
//函數名:chkemail
//功能介紹:檢查是否為Email Address
//參數說明:要檢查的字符串
//返回值:0:不是 1:是
function chkemail(a)
{ var i=a.length;
var temp = a.indexOf('@');
var tempd = a.indexOf('.');
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)>0){
return 1;
}
}
}
return 0;
}
5. 數字格式驗證
---------------------------------------
//函數名:fucCheckNUM
//功能介紹:檢查是否為數字
//參數說明:要檢查的數字
//返回值:1為是數字,0為不是數字
function fucCheckNUM(NUM)
{
var i,j,strTemp;
strTemp="0123456789";
if ( NUM.length== 0)
return 0
for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
//說明有字符不是數字
return 0;
}
}
//說明是數字
return 1;
}
6. 電話號碼格式驗證
---------------------------------------
//函數名:fucCheckTEL
//功能介紹:檢查是否為電話號碼
//參數說明:要檢查的字符串
//返回值:1為是合法,0為不合法
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp="0123456789-()# ";
for (i=0;i<TEL.length;i++)
{
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
//說明有字符不合法
return 0;
}
}
//說明合法
return 1;
}
7. 判斷輸入是否為中文的函數
---------------------------------------
function ischinese(s){
var ret=true;
for(var i=0;i<s.length;i++)
ret=ret && (s.charCodeAt(i)>=10000);
return ret;
}
8. 綜合的判斷用戶輸入的合法性的函數
---------------------------------------
<script language="javascript">
//限制輸入字符的位數開始
//m是用戶輸入,n是要限制的位數
function issmall(m,n)
{
if ((m<n) && (m>0))
{
return(false);
}
else
{return(true);}
}
9. 判斷密碼是否輸入一致
---------------------------------------
function issame(str1,str2)
{
if (str1==str2)
{return(true);}
else
{return(false);}
}
10. 判斷用戶名是否為數字字母下滑線
---------------------------------------
function notchinese(str){
var reg=/[^A-Za-z0-9_]/g
if (reg.test(str)){
return (false);
}else{
return(true); }
}
11. form文本域的通用校驗函數
---------------------------------------
作用:檢測所有必須非空的input文本,比如姓名,賬號,郵件地址等等。
該校驗現在只針對文本域,如果要針對form里面的其他域對象,可以改變判斷條件。
使用方法:在要檢測的文本域中加入title文字。文字是在提示信息,你要提示給用戶的該字段的中文名。比如要檢測用戶名
html如下<input name="txt_1" title="姓名">,當然,最好用可視化工具比如dreamweaver什么的來編輯域。
如果要檢測數字類型數據的話,再把域的id統一為sz.
javascript判斷日期類型比較麻煩,所以就沒有做日期類型校驗的程序了.高手可以補充。
程序比較草,只是提供一個思路。拋磚引玉! :)
哦,對了,函數調用方法:< form onsubmit="return dovalidate()">
function dovalidate()
{
fm=document.forms[0] //只檢測一個form,如果是多個可以改變判斷條件
for(i=0;i<fm.length;i++)
{
//檢測判斷條件,根據類型不同可以修改
if(fm[i].tagName.toUpperCase()=="INPUT" &&fm[i].type.toUpperCase()=="TEXT" && (fm[i].title!=""))
if(fm[i].value="/blog/="")//
{
str_warn1=fm[i].title+"不能為空!";
alert(str_warn1);
fm[i].focus();
return false;
}
if(fm[i].id.toUpperCase()=="SZ")//數字校驗
{
if(isNaN(fm[i].value))
{ str_warn2=fm[i].title+"格式不對";
alert(str_warn2);
fm[i].focus();
return false;
}
}
}
return true;
}
2 >表單提交驗證類
2.1 表單項不能為空
<script language="javascript">
<!--
function CheckForm()
{
if (document.form.name.value.length == 0) {
alert("請輸入您姓名!");
document.form.name.focus();
return false;
}
return true;
}
-->
</script>
2.2 比較兩個表單項的值是否相同
<script language="javascript">
<!--
function CheckForm()
if (document.form.PWD.value != document.form.PWD_Again.value) {
alert("您兩次輸入的密碼不一樣!請重新輸入.");
document.ADDUser.PWD.focus();
return false;
}
return true;
}
-->
</script>
2.3 表單項只能為數字和"_",用于電話/銀行帳號驗證上,可擴展到域名注冊等
<script language="javascript">
<!--
function isNumber(String)
{
var Letters = "1234567890-"; //可以自己增加可輸入值
var i;
var c;
if(String.charAt( 0 )=='-')
return false;
if( String.charAt( String.length - 1 ) == '-' )
return false;
for( i = 0; i < String.length; i ++ )
{
c = String.charAt( i );
if (Letters.indexOf( c ) < 0)
return false;
}
return true;
}
function CheckForm()
{
if(! isNumber(document.form.TEL.value)) {
alert("您的電話號碼不合法!");
document.form.TEL.focus();
return false;
}
return true;
}
-->
</script>
2.4 表單項輸入數值/長度限定
<script language="javascript">
<!--
function CheckForm()
{
if (document.form.count.value > 100 || document.form.count.value < 1)
{
alert("輸入數值不能小于零大于100!");
document.form.count.focus();
return false;
}
if (document.form.MESSAGE.value.length<10)
{
alert("輸入文字小于10!");
document.form.MESSAGE.focus();
return false;
}
return true;
}
//-->
</script>
2.5 中文/英文/數字/郵件地址合法性判斷
<SCRIPT LANGUAGE="javascript">
<!--
function isEnglish(name) //英文值檢測
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return false;
}
return true;
}
function isChinese(name) //中文值檢測
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return true;
}
return false;
}
function isMail(name) // E-mail值檢測
{
if(! isEnglish(name))
return false;
i = name.indexOf(" at ");
j = name dot lastIndexOf(" at ");
if(i == -1)
return false;
if(i != j)
return false;
if(i == name dot length)
return false;
return true;
}
function isNumber(name) //數值檢測
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charAt(i) < "0" || name.charAt(i) > "9")
return false;
}
return true;
}
function CheckForm()
{
if(! isMail(form.Email.value)) {
alert("您的電子郵件不合法!");
form.Email.focus();
return false;
}
if(! isEnglish(form.name.value)) {
alert("英文名不合法!");
form.name.focus();
return false;
}
if(! isChinese(form.cnname.value)) {
alert("中文名不合法!");
form.cnname.focus();
return false;
}
if(! isNumber(form.PublicZipCode.value)) {
alert("郵政編碼不合法!");
form.PublicZipCode.focus();
return false;
}
return true;
}
//-->
</SCRIPT>
2.6 限定表單項不能輸入的字符
<script language="javascript">
<!--
function contain(str,charset)// 字符串包含測試函數
{
var i;
for(i=0;i<charset.length;i++)
if(str.indexOf(charset.charAt(i))>=0)
return true;
return false;
}
function CheckForm()
{
if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><")))
{
alert("輸入了非法字符");
document.form.NAME.focus();
return false;
}
return true;
}
//-->
</script>
posted @
2007-06-07 10:47 摩西 閱讀(369) |
評論 (0) |
編輯 收藏
Java/J2EE中文問題終極解決之道
Java中文問題一直困擾著很多初學者,如果了解了Java系統的中文問題原理,我們就可以對中文問題能夠采取根本的解決之道。
最古老的解決方案是使用String的字節碼轉換,這種方案問題是不方便,我們需要破壞對象封裝性,進行字節碼轉換。
還有一種方式是對J2EE容器進行編碼設置,如果J2EE應用系統脫離該容器,則會發生亂碼,而且指定容器配置不符合J2EE應用和容器分離的原則。
在Java內部運算中,涉及到的所有字符串都會被轉化為UTF-8編碼來進行運算。那么,在被Java轉化之前,字符串是什么樣的字符集? Java總是根據操作系統的默認編碼字符集來決定字符串的初始編碼,而且Java系統的輸入和輸出的都是采取操作系統的默認編碼。
因此,如果能統一Java系統的輸入、輸出和操作系統3者的編碼字符集合,將能夠使Java系統正確處理和顯示漢字。這是處理Java系統漢字的一個原則,但是在實際項目中,能夠正確抓住和控制住Java系統的輸入和輸出部分是比較難的。J2EE中,由于涉及到外部瀏覽器和數據庫等,所以中文問題亂碼顯得非常突出。
J2EE應用程序是運行在J2EE容器中。在這個系統中,輸入途徑有很多種:一種是通過頁面表單打包成請求(request)發往服務器的;第二種是通過數據庫讀入;還有第3種輸入比較復雜,JSP在第一次運行時總是被編譯成Servlet,JSP中常常包含中文字符,那么編譯使用javac時,Java將根據默認的操作系統編碼作為初始編碼。除非特別指定,如在Jbuilder/eclipse中可以指定默認的字符集。
輸出途徑也有幾種:第一種是JSP頁面的輸出。由于JSP頁面已經被編譯成Servlet,那么在輸出時,也將根據操作系統的默認編碼來選擇輸出編碼,除非指定輸出編碼方式;還有輸出途徑是數據庫,將字符串輸出到數據庫。
由此看來,一個J2EE系統的輸入輸出是非常復雜,而且是動態變化的,而Java是跨平臺運行的,在實際編譯和運行中,都可能涉及到不同的操作系統,如果任由Java自由根據操作系統來決定輸入輸出的編碼字符集,這將不可控制地出現亂碼。
正是由于Java的跨平臺特性,使得字符集問題必須由具體系統來統一解決,所以在一個Java應用系統中,解決中文亂碼的根本辦法是明確指定整個應用系統統一字符集。
指定統一字符集時,到底是指定ISO8859_1 、GBK還是UTF-8呢?
(1)如統一指定為ISO8859_1,因為目前大多數軟件都是西方人編制的,他們默認的字符集就是ISO8859_1,包括操作系統Linux和數據庫MySQL等。這樣,如果指定Jive統一編碼為ISO8859_1,那么就有下面3個環節必須把握:
開發和編譯代碼時指定字符集為ISO8859_1。
運行操作系統的默認編碼必須是ISO8859_1,如Linux。
在JSP頭部聲明:<%@ page contentType="text/html;charset=ISO8859_1" %>。
(2)如果統一指定為GBK中文字符集,上述3個環節同樣需要做到,不同的是只能運行在默認編碼為GBK的操作系統,如中文Windows。
統一編碼為ISO8859_1和GBK雖然帶來編制代碼的方便,但是各自只能在相應的操作系統上運行。但是也破壞了Java跨平臺運行的優越性,只在一定范圍內行得通。例如,為了使得GBK編碼在linux上運行,設置Linux編碼為GBK。
那么有沒有一種除了應用系統以外不需要進行任何附加設置的中文編碼根本解決方案呢?
將Java/J2EE系統的統一編碼定義為UTF-8。UTF-8編碼是一種兼容所有語言的編碼方式,惟一比較麻煩的就是要找到應用系統的所有出入口,然后使用UTF-8去“結扎”它。
一個J2EE應用系統需要做下列幾步工作:
- 開發和編譯代碼時指定字符集為UTF-8。JBuilder和Eclipse都可以在項目屬性中設置。
- 使用過濾器,如果所有請求都經過一個Servlet控制分配器,那么使用Servlet的filter執行語句,將所有來自瀏覽器的請求(request)轉換為UTF-8,因為瀏覽器發過來的請求包根據瀏覽器所在的操作系統編碼,可能是各種形式編碼。關鍵一句:
request.setCharacterEncoding("UTF-8")。 網上有此filter的源碼,Jdon框架源碼中com.jdon.util.SetCharacterEncodingFilter 需要配置web.xml 激活該Filter。
- 在JSP頭部聲明:<%@ page contentType="text/html;charset= UTF-8" %>。
- 在Jsp的html代碼中,聲明UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- 設定數據庫連接方式是UTF-8。例如連接MYSQL時配置URL如下:
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8 注意,上述寫法是JBoss的mysql-ds.xml寫法,多虧網友提示,在tomcat中&要寫成&即可。一般其他數據庫都可以通過管理設置設定UTF-8
- 其他和外界交互時能夠設定編碼時就設定UTF-8,例如讀取文件,操作XML等。
筆者以前在Jsp/Servlet時就采取這個原則,后來使用Struts、Tapestry、EJB、Hibernate、Jdon等框架時,從未被亂碼困擾過,可以說適合各種架構。希望本方案供更多初學者分享,減少Java/J2EE的第一個攔路虎,也避免因為采取一些臨時解決方案,導致中文問題一直出現在新的技術架構中。
|
posted @
2007-04-27 15:24 摩西 閱讀(389) |
評論 (0) |
編輯 收藏
<entry key="webaddsuccess" value="redirect:/web.do?method=friendSitelist"/>
posted @
2007-04-27 09:30 摩西 閱讀(901) |
評論 (2) |
編輯 收藏
jsp頁面代碼:
<% boolean isClubManager=false;
Long regionid2 = ((Region)request.getSession().getAttribute("RegionSession")).getId();
isClubManager=newsPostService.isClubManager(regionid2);
Region region=(Region)request.getSession().getAttribute("RegionSession");
String memo=region.getParent().getMemo();
request.setAttribute("memo",memo);
%>
.........
<gd:label maxLength="150" text="${memo}"/>
posted @
2007-04-24 14:02 摩西 閱讀(1865) |
評論 (0) |
編輯 收藏
ClientService.java
package com.soft.client;
import org.apache.axis.client.Service;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import org.apache.axis.client.Call;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import javax.xml.namespace.QName;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import java.rmi.RemoteException;
public class ClientService {
public ClientService() {
}
public UserDTO getUserDTO() {
String endpoint = "http://localhost:8080/WebModule/services/Myservice";
QName qset = new QName("urn:Myservice", "UserDTO");
QName qmethod = new QName("urn:Myservice", "getUserDTO");
Class clsUserDTO = UserDTO.class;
UserDTO dto = new UserDTO();
Service service = new Service();
try {
Call call = (Call) service.createCall();
call.registerTypeMapping(clsUserDTO, qset,
new BeanSerializerFactory(clsUserDTO, qset),
new BeanDeserializerFactory(clsUserDTO,qset));
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(qmethod);
call.setReturnClass(clsUserDTO);
dto = (UserDTO) call.invoke(new Object[] {});
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return dto;
}
public static void main(String[] args) {
ClientService cs = new ClientService();
UserDTO user = cs.getUserDTO();
System.out.println(user.getPassword());
System.out.println(user.getUsername());
}
}
UserDTO.java
package com.soft.client;
public class UserDTO {
private String username;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
posted @
2007-04-16 16:58 摩西 閱讀(283) |
評論 (0) |
編輯 收藏
報錯信息:
org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for c</h3><p>null: com.caucho.xml.XmlParseException: stream:276: expected character in cdata at `?' (\ufffd)</p><h3>Validation error messages from TagLibraryValidator for sql</h3><p>null: com.caucho.xml.XmlParseException: stream:276: expected character in cdata at `?' (\ufffd)</p><h3>Validation error messages from TagLibraryValidator for x</h3><p>null: com.caucho.xml.XmlParseException: stream:276: expected character in cdata at `?' (\ufffd)</p><h3>Validation error messages from TagLibraryValidator for fmt</h3><p>null: com.caucho.xml.XmlParseException: stream:276: expected character in cdata at `?' (\ufffd)</p>
posted @
2007-04-16 16:07 摩西 閱讀(1507) |
評論 (1) |
編輯 收藏
<script language="javascript">document.write(week[${status.index}])</script>
posted @
2007-04-16 14:42 摩西 閱讀(1176) |
評論 (2) |
編輯 收藏
.jsp加入代碼:
<c:set scope="session" value="${page.result}" var="page"></c:set>
<c:set value="${page1.result}" var="page1" scope="session"></c:set>
<c:set value="${page2.result}" var="page2" scope="session"></c:set>
報錯:
avax.servlet.jsp.el.ELException: The "." operator was supplied with an index value of type "java.lang.String" to be applied to a List or array, but that value cannot be converted to an integer.
可見這種<c:set>的用法是錯誤的!!!!!!
posted @
2007-04-16 13:49 摩西 閱讀(1328) |
評論 (0) |
編輯 收藏
import java.util.Map.Entry;
private static Map oldvote=new HashMap();
...............................
ModelAndView mav = new ModelAndView();
String voteid = ServletRequestUtils.getRequiredStringParameter(request,
"voteid");
String ip = ServletRequestUtils.getStringParameter(request, "ip");
//遍歷HasMap
Boolean isoldvote=false;
Iterator it=oldvote.entrySet().iterator();
while(it.hasNext()){
Entry entry=(Entry) it.next();
Object key=entry.getKey();
Object value=entry.getValue();
if(key.equals(voteid)&&value.equals(ip)){
isoldvote=true;
break;
}
}
if (isoldvote) {
...............................
posted @
2007-04-14 09:41 摩西 閱讀(368) |
評論 (0) |
編輯 收藏
<a href="javascript:history.go(-1);">[返回]</javascript>
posted @
2007-04-14 09:39 摩西 閱讀(1755) |
評論 (1) |
編輯 收藏
1.
<html>
?<head>
??<title>transPara.htm</title>
?</head>
<body>
?<form method="POST" action="acceptPara.jsp">
? ??<p align="center">
??姓 名:<input type="text" name="name" size="20"><br>
? ??年 齡: <input type="text" name="age" size="15"><br>
? ??性 別:
???<input type="radio" value="male" checked name="sex">
????男 ?
? ???<input type="radio" name="sex" value="female">女</p>
? ??<p align="center">
???<input type="submit" value="submit" name="submit">
? ???<input type="reset" value="reset" name="reset"></p>
?</form>
</body>
</html>
2.
<html>
<%@ page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="atest"? class="test.AcceptPara"/>
<head><title>acceptPara.jsp</title></head>
<body>
<jsp:setProperty name="atest" property="*"/>?? //? ***將javabean中的屬性自動與html提交過來的變量匹配***********
Value of property "name" :
<jsp:getProperty name="atest" property="name"/><br>
Value of property "age" :
<jsp:getProperty name="atest" property="age"/><br>
Value of property "sex" :
<jsp:getProperty name="atest" property="sex"/><br>
Value of property "submit" :
<jsp:getProperty name="atest" property="submit"/><br>
</body>
</html>
3.
package test;//?? 在一些tomcat舊版本包定義一定要有,且在jsp引用中如下:<jsp:useBean id="atest"? class="test.AcceptPara"/>? 編譯后放在\WEB-INF\classes\test\中
public class AcceptPara{
?String name;
?int age;
?String sex;
?String submit;
?
?public void setName(String value){
??name=value;
?}
?
?public String getName(){
??return name;
?}
?
?public void setAge(int value){
??age=value;
?}
?
?public int getAge(){
??return age;
?}
?
?public void setSex(String value){
??sex=value;
?}
?
?public String getSex(){
??return sex;
?}
?
?public void setSubmit(String value){
??submit=value;
?}
?
?public String getSubmit(){
??return submit;
?}
??
?public void acceptPara(){}
?
}
posted @
2006-09-08 12:41 摩西 閱讀(765) |
評論 (2) |
編輯 收藏
1.Forward_demo.htm:
<html>
<head><title>Forward_demo1.htm</title></head>
<body>
<form? action="demo1.jsp" method="POST">用戶:<input type="text" name="username" size="20"><br>
密碼:<input type="password" name="password" size="20"><br>
<input type="radio" name="select" value="manage" checked>管理<br>
<input type="radio" name="select" value="statictic">資料<br>
<input type="submit" name="login" value="submit">
<input type="reset" name="reset" value="重寫">
</form>
</body>
</html>
2.demo1.jsp:<html>
<head><title>demo1.jsp</title></head>
<body>
<%
String username,password,choice;
username=request.getParameter("username");
password=request.getParameter("password");
choice=request.getParameter("select");
if (choice.equals("manage")){
%>
??<jsp:forward page="demo1.1.jsp">
??<jsp:param name="username" value="<%=username%>"/>
??<jsp:param name="password" value="<%=password%>"/>
??</jsp:forward>
<%?}else{
???//user select statistic
%>
?
?<jsp:forward page="demo1.2.jsp">
??<jsp:param name="username" value="<%=username%>"/>
??<jsp:param name="password" value="<%=password%>"/>
??</jsp:forward>
<%
??}
%>
</body>
</html>
3.demo1.1.jsp:<html>
?<head>
??<title>demo1.1.jsp</title>
?</head>
<body>
??This is the Management Page!<br>
<%
?
?String user,pwd;?
??user=request.getParameter("username");
??pwd=request.getParameter("password");
%>
??username is: <%=user%><br>
??password is: <%=pwd%><br>
</body>
</html>
4.demo1.2.jsp:<html>
?<head>
??<title>demo1.2.jsp</title>
?</head>
<body>
??This is the Statistic Page!<br>
<%
??String user,pwd;?
??user=request.getParameter("username");
??pwd=request.getParameter("password");%>
??username is: <%=user%><br>
??password is: <%=pwd%><br>
</body>
</html>
posted @
2006-09-07 14:21 摩西 閱讀(4861) |
評論 (2) |
編輯 收藏
過程:
1.停掉MSSQLSERVER,將MSSQL安裝目錄下的E:\Program Files\Microsoft SQL
Server\MSSQL\Data\pubs.mdf和E:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf文
件移走。
2.重新啟動MSSQLSERVER,在SQL Server Enterprise Manager中可看到PUBS的圖標是灰色的加了個'(置疑
)',刪除PUBS。至此是為了模擬Pubs數據庫只留下了pubs.mdf,(pubs_log.ldf不再用到)。
3.將pubs.mdf移到MSSQL安裝目錄下E:\Program Files\Microsoft SQL Server\MSSQL\Data\
4.在SQL查詢分析器中執行 exec sp_attach_db 'pubs' ,'E:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
會有錯誤提示:
設備激活錯誤。物理文件名 'e:\Program Files\Microsoft SQL Server\MSSQL\data\pubs_log.ldf' 可
能有誤。
已創建名為 'E:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.LDF' 的新日志文件。
不過沒關系,因為新日志文件已創建了,呵呵。
用此方法只要有.mdf文件,就能回復數據庫。
posted @
2006-09-06 11:58 摩西 閱讀(3802) |
評論 (1) |
編輯 收藏
??????? 試題是模仿GRE考試,在這實例中,編了一套"中文GRE測試"總共有十道題,讀者可自行增加.
??????? 注:實例中的試題,可選答案,正確答案封裝在文件exam.java 中.用index.jsp文件來實現對問題的調用.核對,顯示結果.所以要先編譯exam.java成exam.class ,之后index.jsp才能調用.
少說費話--直入主題:
1.在Tomcat目錄下的webapps目錄下新建book文件夾,
1.5 在Tomcat目錄下的conf/Catalina/localhost目錄下新建一個book.xml (這一步很重要!!)
?寫入:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="E:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/book" path="/book" reloadable="true">
</Context>
2.在book文件夾下新建WEB-INF文件夾.
2.5 在WEB-INF目錄下新建web.xml 寫入:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
?xmlns="http://java.sun.com/xml/ns/j2ee"
?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
?http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>
3.在WEB-INF文件夾下新建classes文件夾.
4.把index.jsp? exam.java 放到book目錄下.
5.用javac? exam.java? 編譯exam.java成exam.jsp? (可在命令行中運行此步)
6.exam.jsp 放到WEB-INF/classes/exam目錄下.
7.啟動tomcat.
8.輸入地址: http://localhost:8080/book???? 回車 OK !!!!

附index.jsp代碼:
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=GB2312">
<title>網上測試</title>
</head>
<body>
<%@ page language="java" contentType="text/html;charset=GB2312" buffer="none"%>
<jsp:useBean id="exam" scope="session" class="exam.exam"/>
<FONT SIZE="+2"><B>
<%=exam.getExamName()%>
</B></FONT>
<br><br>
<%
int current=exam.getCurrent();
String reset=null;
reset=request.getParameter("Reset");
if(reset==null){
?reset="";
}
if(reset.equals("1"))
{
?exam.reset();
}
int iqn=0;
String questionNum=null;
questionNum=request.getParameter("QuestionNum");
if(questionNum==null)
{
?iqn=0;
}
else
{
?Integer tmpInt=new Integer(questionNum);
?iqn=tmpInt.intValue();
}
if(iqn!=0)
{
?current++;
?exam.setCurrent(current);
}
?String answer=null;
?answer=request.getParameter("Answer");
?
if(answer==null)
{
?answer="";
}
if(exam.getCurrent()>exam.getCount())
{
?if(exam.getCorrect()>=6)
?{
%>
??恭喜!你以<%=exam.getCorrect()*10 %>分的成績通過了測試!<BR>
<%
?}
?else
?{
%>
??對不起,你需要60分以上的成績才能通過測試!<BR>
??你可以按<A HREF="exam.jsp?Reset=1">這里</A>重新進行測試。<BR>
<%
?}
}
else
{
?if(iqn==0)
?{
??if(answer. equals(exam.getCorrectAnswer(exam.getCurrent()-1)))
??{
???exam.setCorrect(exam.getCorrect()+1);
??}
?}
?else
?{
??if(answer.equals(exam.getCorrectAnswer(exam.getCurrent()-2)))
??{
???exam.setCorrect(exam.getCorrect()+1);
??}
?}
%>
?<FORM action="exam.jsp" method="post">
?<input type="hidden" name="QuestionNum" value="<%=current%>">
<P>
?總共<%=exam.getCount()%>個問題,現在是第<%=exam.getCurrent()%>個問題
</P>
<br>
<b>
?<%=current%>
</b>
<%
out.println(exam.getExamQuestion(current-1));
%>
<br>
<input type="radio" name="Answer" value="A">
<%
out.println(exam.getExamAnswer(current-1,0));
%>
<br>
<input type="radio" name="Answer" value="B">
<%
out.println(exam.getExamAnswer(current-1,1));
%>
<br>
<input type="radio" name="Answer" value="C">
<%
out.println(exam.getExamAnswer(current-1,2));
%>
<br>
<input type="radio" name="Answer" value="D">
<%
out.println(exam.getExamAnswer(current-1,3));
%>
<br>
<input type="submit" value="確定">
</form>
<%
}
%>
</body>
</html>
exam.java代碼:
package exam;
public class exam
{
?int count;
?int current;
?int correct;
?String examName;
//?String answer;
?String[] examQuestion=
?{//存放所有的問題
??"1.科學常識:下列有關科學家的敘述,何者正確?",
??"2.牛頓三大運動定律的第一定律是:",
??"3.兩個報名參加海軍的年輕人被問道:\"你們會游泳嗎?\"他倆愣住了。過了一會兒,其中一個人回答說:\"怎么回事,難道船不夠用嗎?\"這篇文章的主題是什么",
??"4.接上題。考官為什么要問這兩個人游泳的事?",
??"5.男:看那個妹妹,好靚哦!女:看你個大頭鬼!問:這個女的是什么意思?",
??"6.男:今天天氣不錯。女:可不是咋得!問:這個女的什么意思?",
??"7.男:我把撿來的錢包交給警察了。男:我KAO!",
??"8.女:您好,您撥叫的用戶沒有開機,要留言請留言,不留言請掛機。問:這是發生在什么時候?",
??"9.ABCD四教授申請中科院院士,如果以下事實為真,誰最有資格入選",
??"10.以下是摘自電影《大話西游》中唐僧的一句臺詞,選項中可能正確的是人和妖精都是媽生的,不同的人是人他媽的,妖是妖他媽的,妖要有了仁慈之心,就不是妖了,而是人妖"
?};
?String[][] examAnswer=
?{//問題可選的答案
??{"(A)天文學家常常到天體營去研究天文的奧秘","(B)地質學家常常到地牢去研究地層結構","(C)大氣科學家常常坐熱氣球到天空研究臺風","(D)以上都不對"},
??{"(A)靜如處子 動于脫兔","(B)靜中有動 動中有靜","(C)運動絕對 靜止相對","(D)靜者恒靜 動者恒動"},
??{"(A)參軍","(B)打魚","(C)游泳","(D)造船"},
??{"(A)他想讓他們教他游泳","(B)他想知道這兩個人會不會被淹死","(C)他擔心船不夠用","(D)他想舉行游泳比賽"},
??{"(A) 這個男的頭有病","(B)這個男的頭比較大","(C)這個男的看見的是鬼","(D)這個女的有點吃醋"},
??{"(A)今天天氣不好","(B)今天天氣很好","(C)這女的沒聽清","(D)這女的不知道"},
??{"(A)他很驚訝","(B)他丟了錢包","(C)他想揍第一個人","(D)他累了想找個地方靠靠"},
??{"(A)打電話","(B) 開飛機","(C) 發EMAIL","(D)坐飛機"},
??{"(A)是中國改革開放以后第一個公費留德的四十歲以下的女性的在微電子領域的花了少于三年畢業的毅然回國的博士","(B)是在使用黑白膠卷照出彩照這一國際前沿領域做出突破貢獻的科學家","(C)畢業于我國著名的海南熱帶作物學院,學慣東西,差一點就復制出了恐龍。而且率先提出,中國人才沒有斷層,只是待遇和職稱斷層","(D)經常陪李嵐清打敲三家和拱豬,對高校合并做出突出貢獻"},
??{"(A)人妖是指:媽媽還健在就去做了和尚的妖精","(B)人和妖精沒有本質區別,因為他們都是同一位女士生的","(C)唐僧為了超度一只妖精,不惜和妖精一起罵人","(D)唐僧暗示自己的母親原來就是一只妖精變的"}
?};
?
?String[] correctAnswer=
?{//正確的答案
??"D","C","A","B","D","B","A","A","B","C"
?};
?String message;
?
?public exam()
?{//重設測試
??reset();
?}
?public void reset()
?{//重設測試
??count=10;
??current=1;
??correct=0;
??examName="中文GRE考試樣題";
?}
?public void setCount(int c)
?{
??count=c;
?}
?public int getCount()
?{
??return count;
?}
?public void setCurrent(int c)
?{
??current=c;
?}
?public int getCurrent()
?{
??return current;
?}
?public void setCorrect(int c)
?{
??correct=c;
?}
?public int getCorrect()
?{
??return correct;
?}
?public void setExamName(String name)
?{
??examName=name;
?}
?public String getExamName()
?{
??return examName;
?}
?public void setCorrectAnswer(String[] answer)
?{
??correctAnswer=answer;
?}
?public void setCorrectAnswer(int i,String answer)
?{
??correctAnswer[i]=answer;
?}
?public String getCorrectAnswer(int i)
?{
??return correctAnswer[i];
?}
?public String[] getCorrectAnswer()
?{
??return correctAnswer;
?}
?public void setExamQuestion(String[] question)
?{
??examQuestion=question;
?}
?public void setExamQuestion(int i,String question)
?{
??examQuestion[i]=question;
?}
?public String[] getExamQuestion()
?{
??return examQuestion;
?}
?public String getExamQuestion(int i)
?{
??return examQuestion[i];
?}
?public void setExamAnswer(String[][] answer)
?{
??examAnswer=answer;
?}
?public void setExamAnswer(int i,String[] answer)
?{
??examAnswer[i]=answer;
?}
?public void setExamAnswer(int i ,int j,String answer)
?{
??examAnswer[i][j]=answer;
?}
?
?public String[][] getExamAnswer()
?{
??return examAnswer;
?}
?public String[] getExamAnswer(int i)
?{
??return examAnswer[i];
?}
?public String getExamAnswer(int i,int j)
?{
??return examAnswer[i][j];
?}
}
posted @
2006-09-06 10:57 摩西 閱讀(295) |
評論 (0) |
編輯 收藏