2010年6月30日 星期三

Apache2.2.x 上建置SVN服務 for windows

Apache官網:http://httpd.apache.org/

文中使用Apache版本:http://archive.apache.org/dist/httpd/binaries/win32/apache_2.2.10-win32-x86-no_ssl.msi

SVN官網:http://subversion.tigris.org/

文中使用SVN版本:http://subversion.tigris.org/files/documents/15/46880/svn-win32-1.6.6.zip


1.Apache2安裝及設定
開啟防火牆80埠
本人是將Apache安裝於C:\Apache2.2 \bin\httpd.exe
新增 C:\Apache2.2 \bin 到環境變數PATH 內
將 svn-win32-1.6.6.zip 解壓縮到 C:\svn-win32-1.6.6 資料夾
新增 C:\svn-win32-1.5.5\bin 到環境變數 PATH 內
為了讓環境變數 PATH 生效,強烈建議您重新開機
Stop Apache,將 Apache 服務停止
複製 C:\svn-win32-1.6.6\bin\mod_dav_svn.so 及 C:\svn-win32-1.6.6\bin\mod_authz_svn.so
將兩檔案貼至C:\Apache2.2\modules
開啟 C:\Apache2.2\conf\httpd.conf
移除 #LoadModule dav_fs_module modules/mod_dav_fs.so 開頭的#號
移除 #LoadModule dav_module modules/mod_dav.so 開頭的#號
於 httpd.conf 的尾端加入


#修改/WEB-INF/及/META-INF/,配合tomcat目錄權限,
#要瀏覽這兩個目錄時,至少要通過基本Apache的帳號認證
<LocationMatch "/WEB-INF/">
AllowOverride AuthConfig
Order allow,deny
Allow from all
Order deny,allow
Deny from all
</LocationMatch>
<LocationMatch "/META-INF/">
AllowOverride None AuthConfig
Order allow,deny
Allow from all
Order deny,allow
Deny from all
</LocationMatch>

# 添加 SVN 的模組
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

#http://localhost/svn的目錄設定
<Location /svn>
DAV svn

#SVN實體磁碟路徑
SVNPath C:/svn-win32-1.6.6/svn
AuthType Basic
AuthName "Subversion repository"

#使用者權限設定檔
AuthzSVNAccessFile C:/svn-win32-1.6.6/auth

#使用者密碼檔
AuthUserFile C:/svn-win32-1.6.6/pwd
Require valid-user
</Location>

將 httpd.conf 存檔
2.權限設定說明
目前有3個帳號,admin_user是總管理者,user_a、user_b都是一般使用 者,http://localhost/svn/project_1可讓一般使用者讀寫,http://localhost/svn/project_2 只可讓一般使用者讀,但不可以寫入
開啟命令提示字元(cmd.exe)
輸入:svnadmin.exe create C:\svn-win32-1.6.6\svn ,並按 Enter 鍵送出
建立新的純文字文件 C:\svn-win32-1.6.6\auth
注意:auth 是一個無副檔名的純文字檔而非一個目錄
於auth內輸入:

[groups]
admins = admin_user
users = user_a,user_b

[svn:/]
* = r
@admins = rw

[svn:/project_1]
@admins = rw
@users = rw
[svn:/project_2]
@admins = rw
@users = r

將 auth 存檔
3.使用者的密碼設定
在命令提示字元內

* 輸入 htpasswd.exe -c C:\svn-win32-1.5.5\pwd admin_user 按 Enter 鍵送出,會提示設定 admin_user 的密碼兩次,-c 代表初始建立密碼檔案
* 輸入 htpasswd.exe C:\svn-win32-1.5.5\pwd user_a 按 Enter 鍵送出,一樣會提示設定 user_a 的密碼兩次
* 輸入 htpasswd.exe C:\svn-win32-1.5.5\pwd user_b 按 Enter 鍵送出,一樣會提示設定 user_b 的密碼兩次

4.啟動 Apache
5.建立SVN內的目錄
在命令提示字元內

* 輸入 svn.exe mkdir -m "project_1" http://localhost/svn/project_1 按 Enter 鍵送出
* 輸入 svn.exe mkdir -m "project_2" http://localhost/svn/project_2 按 Enter 鍵送出
* 輸入 svn.exe list http://localhost/svn 按 Enter 鍵送出,查看目錄是否建立

6.最後測試
開啟瀏覽器,輸入網址 http://localhost/svn 按 Enter 鍵送出
輸入 admin_user 的帳號密碼

[Java] quartz 工作定時排程器

[Java] quartz 工作定時排程器
http://polinwei.blogspot.com/2008/11/java-quartz.html

quartz 工作定時排程器
http://www.ebismacau.com/blog/archives/41

2010年4月9日 星期五

[Java]JOptionPane


JOptionPane.showInputDialog("輸入一個整數:");

JOptionPane.showMessageDialog(Componentparent Component,Object message,String title, int messageType)

參數:

parentComponent - 確定在其中顯示對話框的 Frame;如果為null或者parentComponent 不具有 Frame,則使用預設的 Frame

message - 要顯示的 Object title - 對話框的標題字元串

messageType - 要顯示的訊息型別:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE

2009年12月29日 星期二

21點黑傑克--BlackJack 21

這個是大學時代在初學java時...自己給自己下的功課....拖到現在才快完成....當然經過兩年的工作...還是有不少幫助.....把能物件化的東西都給Object...code看起來就沒那麼複雜了....目前應該也會放到Google Code上去吧...剩下的就是電腦判斷是否要在加點....就完成了

完成請到以下21點黑傑克下載BlackJack.jar

猜數字遊戲--xAyB

最近想了很多....還是稱這段失業期間...好好的練一下程式基礎....花了兩星期去上c...結果還是教最基礎的...原本以為會教到c++結果沒有....不過有一個回家作業就是猜數字...果然用c寫..還是屍體阿....所以想說用較熟悉的Java看會不會順一點....果然還不錯啦....兩天就寫出來...當然不是整整兩天摟....想說沒試過Google Code所以就放上去了...
猜數字遊戲下載guessnum1.0.jar
download那邊有src.....jar檔要從cmd去執行...這應該不用教吧!
在cmd下輸入java -jar 檔名.jar

2009年9月10日 星期四

[Java] String.split()

split()切割字串會用到 return String[]
Example:
String a = "dog&cat";
String name = a.spilt("&")[0];

name的值為dog

如果遇到的是特殊字元如 "?", "*", "+" 會出現"Dangling meta character '?' near index 0" 這種錯誤訊息
解決方法
String a = "dog?cat";
String name = a.spilt("\\?")[0];

參考資料

2009年8月12日 星期三

[Jsp] JSTL計算長度

ArrayList list = new ArrayList();
${fn:length(list)}

fn:length 可以計算長度 相當於Java中的list.size();