<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,  comments - 11,  trackbacks - 0
     
    見(jiàn)過(guò)的沒(méi)見(jiàn)過(guò)的在線制作圖標(biāo)的網(wǎng)站太多了.在這里做個(gè)匯總.有新的還會(huì)繼續(xù)添加.有好的也有差的.美與丑請(qǐng)自己甄別.因?yàn)槊總€(gè)人的審美觀點(diǎn)不同.

    站點(diǎn)一 http://www.nhacks.com/email/

       支持多種域名的Email圖標(biāo)的生成。

      ● 只能設(shè)置"@"之前的文本,支持的Mail類(lèi)型的包括GMail、Hotmail、Yahoo、MSN、AOL、ATT、Bigfoot、 RocketMail、QQ、Comcast、Netscape、Blueyonder、SBCGlobal、Earthlink、Lycos、 Sympatico、Rogers等。

      ● 每種Email只能生成系統(tǒng)制定的樣式圖標(biāo)。

    站點(diǎn)二
      http://sagittarius.dip.jp/~toshi/cgi-bin/designmail/designmail.html
      http://sagittarius.dip.jp/~toshi/cgi-bin/catmark/catmark.html

      兩個(gè)地址支持兩種風(fēng)格任意文本的Email圖標(biāo)的生成。

      ● 支持整個(gè)Email文本,用戶(hù)可以自由定制Email文本。

      ● 支持多種參數(shù)的設(shè)置,包括圖標(biāo)的風(fēng)格、顏色、字體、生成圖標(biāo)文件類(lèi)型等支持任何文本。

    站點(diǎn)三 http://pic.xabar.net/generator/email.asp

     支持多種域名的Email圖標(biāo)的生成。

    站點(diǎn)四 http://www.eoool.com/

      支持多種域名的頭像、簽名、題圖、廣告、郵件、聊天、博客、書(shū)簽、朋友圈、按鈕等工具圖標(biāo)的生成。

    站點(diǎn)五 http://phorum.com.tw/Generator.aspx

      支持域名圖標(biāo)的生成。

    站點(diǎn)六 http://gizmo967.mgs3.org/Gmail/

      支持Gmail圖標(biāo)的生成。

      
      站點(diǎn)七 http://www.feedforall.com/public/rss-graphic-tool.htm

      支持RSS圖標(biāo)的生成。

     
      站點(diǎn)八 http://email.playtime.uni.cc/

      支持Gmail、Yahoo、Hotmail、MSN等類(lèi)型的郵箱圖標(biāo)生成。


      站點(diǎn)九 http://www.html-kit.com/e/favicon.cgi

      支持收藏夾圖標(biāo)生成。
    站點(diǎn)十 http://www.lucazappa.com/brilliantMaker/buttonImage.php

      支持各種按鈕類(lèi)型的圖標(biāo)生成。

      站點(diǎn)十一 http://www.abi-station.com/tchinese/

      支持各種類(lèi)型圖片的生成,可以選擇設(shè)置的條件非常靈活。

    站點(diǎn)十二 http://www.myelogo.com/

      支持客戶(hù)信息顯示、自定義文字及圖片,詳情請(qǐng)參考本站的《介紹一個(gè)免費(fèi)生成動(dòng)態(tài)簽名圖標(biāo)的站點(diǎn)》。
    站點(diǎn)十三 http://www.kalsey.com/tools/buttonmaker/

      支持按鈕類(lèi)型的圖標(biāo)生成。

      站點(diǎn)十四 http://www.danasoft.com/

      支持多種語(yǔ)言,客戶(hù)信息顯示(無(wú)需注冊(cè))、自定義文字(需注冊(cè)登錄才可以設(shè)置)。

    站點(diǎn)十五 http://www.youmade.com/font/

      支持大量中文字體簽名圖標(biāo)生成。

    站點(diǎn)十六 http://www.atomicfonts.com/

      支持大量英文字體簽名圖標(biāo)生成。

    站點(diǎn)十七 http://www.myfonts.com/category/myfonts/index.html

      又一個(gè)支持大量英文字體簽名圖標(biāo)生成的站點(diǎn)。
    站點(diǎn)十八http://www.igogo8.com/

    ??????? 定制Google個(gè)性標(biāo)志,一秒鐘把Google據(jù)為己有

    站點(diǎn)十九 http://www.streetsigngenerator.com/

    ??????? 街道簽名生成器(不過(guò)不支持中文)

    站點(diǎn)二十??http://googlealive.com/create.asp

    可以生成google的LOGO樣式圖標(biāo),可以生成類(lèi)似google logo的圖標(biāo),你可以輸入數(shù)字、字母和部分符號(hào)[/@;:+-!?] 或者空格。當(dāng)然還可以生成你自己LOGO的google搜索引擎。

    站點(diǎn)二十一??http://linux-fans.com/email/live/live.php
    live個(gè)性圖標(biāo)在線制作


    一組匯總:
    favicon.ico在線生成

    http://www.html-kit.com/favicon/

    該站是生成小圖標(biāo)的網(wǎng)站.完全的免費(fèi).在制作之前你需要準(zhǔn)備一張jpg或者是gif的圖片,然后上傳上去.就可以生成了.生成兩種格式,一個(gè)是靜態(tài)的,一個(gè)是動(dòng)態(tài)的,應(yīng)該沒(méi)見(jiàn)過(guò)有哪個(gè)站是用動(dòng)態(tài)的favicon.ico吧.里面還帶有一個(gè)文本文檔,說(shuō)明了怎樣使用favicon.ico.



    按鈕生成網(wǎng)站:


    http://kalsey.com/tools/buttonmaker/
    http://www.lucazappa.com/brilliantMaker/buttonImage.php
    http://www.feedforall.com/public/rss-graphic-tool.htm
    http://www.kalsey.com/tools/buttonmaker/
    http://www.yugatech.com/make.php
    http://msdn.microsoft.com/workshop/samples/author/dhtml/DXTidemo/DXTi...


    http://www.hkwebs.net/catalog/tools/buttonmaker/index.php
    Email圖標(biāo)生成網(wǎng)站:


    http://email.playtime.uni.cc/
    http://services.nexodyne.com/email/
    http://gizmo967.mgs3.org/Gmail/
    http://www.hkwebs.net/catalog/tools/gmail/
    http://sagittarius.dip.jp/~toshi/cgi-bin/designmail/designmail.html
    http://www.eoool.com/
    Logo生成網(wǎng)站:


    http://phorum.com.tw/Generator.aspx
    http://www.logoyes.com/lc_leftframe.htm
    http://cooltext.com/Default.aspx
    Banner圖片制作網(wǎng)站:


    http://www.bannerbreak.com/index.php
    在線圖片生成網(wǎng)站:


    http://www.streetsigngenerator.com/
    http://www.letterjames.de/
    圖片分割器: http://www.html-kit.com/e/is.cgi
    立體圖片生成器: http://www.chami.com/html-kit/services/imge/
    圖片生成郵票:
    http://photo.stamps.com/PhotoStamps/?source=si00001331
    個(gè)性拼圖: http://www.jigcool.com/jigonline/jigonline1_sc.php
    印章制作: http://caishu.sina.com.cn/

    又一組在線生成工具資源大全

    1.韓國(guó)身份證的生成以及驗(yàn)證
    http://www.udeng.com/images/hanguo.htm

    3.GIF圖片的文字LOGO在線生成
    http://www.3dtextmaker.com/cgi-bin/3dtext.pl

    4.在線制作logo,bannar的網(wǎng)站
    www.crazystudy.com

    5.3D文字圖片GIF在線制作
    works.com/image_editor.html

    SAINT.Assess the Security of Computer Networks
    http://www.saintcorporation.com/saint/
    saint在linux著名的掃描軟件下面那個(gè)是下載地址

    SATAN.Port Scanner with a Web Interface
    http://www.ibiblio.org/pub/packages...atan-for-Linux/

    Abacus.Intrusion Prevention System
    http://www.psionic.com/abacus/

    Firewall Generator(在線生成簡(jiǎn)單的防火墻腳本)
    http://www.citadec.com/FirewallGenerator.html

    8.身份證號(hào)碼在線生成器
    http://i972.net/~gen/

    9.在線字體圖片生成
    http://www.youmade.com/font/

    10.中外破解補(bǔ)丁和注冊(cè)機(jī)在線求救
    http://hmay.qq.topzj.com/

    11.在線生成條碼打印
    http://www.027hc.com/y1.asp
    http://www.nlscan.com/soucecentre/demo.asp
    http://www.gzbonny.com/asp/barcode.asp

    12.在線圖形特效生成
    http://www.chami.com/

    13.聊天工具在線狀態(tài)生成器
    http://www.onlinestatus.org/forum/usage.php??
    posted @ 2007-08-07 18:52 jadmin 閱讀(64) | 評(píng)論 (0)編輯 收藏

    1.(double) (Math.round(sd3*10000)/10000.0);

    這樣為保持4位

    (double) (Math.round(sd3*100)/100.0);

    這樣為保持2位.

    2.另一種辦法

    import java.text.DecimalFormat;

    DecimalFormat df2?? = new DecimalFormat("###.00");

    DecimalFormat df2?? = new DecimalFormat("###.000");

    System.out.println(df2.format(doube_var));

    第一個(gè)為2位,第二個(gè)為3位.

    posted @ 2007-08-06 04:49 jadmin 閱讀(122) | 評(píng)論 (0)編輯 收藏

      由于現(xiàn)在家用電腦所使用的操作系統(tǒng)多數(shù)為Win XP 和Win2000 pro(建議還在使用98的朋友換換系統(tǒng),連微軟都放棄了的系統(tǒng)你還用它干嘛?)所以后面我將主要講一下基于這兩個(gè)操作系統(tǒng)的安全防范。

      個(gè)人電腦常見(jiàn)的被入侵方式:

      談到個(gè)人上網(wǎng)時(shí)的安全,還是先把大家可能會(huì)遇到的問(wèn)題歸個(gè)類(lèi)吧。我們遇到的入侵方式大概包括了以下幾種:

      (1) 被他人盜取密碼;

      (2) 系統(tǒng)被木馬攻擊;

      (3) 瀏覽網(wǎng)頁(yè)時(shí)被惡意的java scrpit程序攻擊;

      (4) QQ被攻擊或泄漏信息;

      (5) 病毒感染;

      (6) 系統(tǒng)存在漏洞使他人攻擊自己。

      (7) 黑客的惡意攻擊。

      下面我們就來(lái)看看通過(guò)什么樣的手段來(lái)更有效的防范攻擊。

      1.察看本地共享資源

      運(yùn)行CMD輸入net share,如果看到有異常的共享,那么應(yīng)該關(guān)閉。但是有時(shí)你關(guān)閉共享下次開(kāi)機(jī)的時(shí)候又出現(xiàn)了,那么你應(yīng)該考慮一下,你的機(jī)器是否已經(jīng)被黑客所控制了,或者中了病毒。

      2.刪除共享(每次輸入一個(gè))

      net share admin$ /delete
      net share c$ /delete
      net share d$ /delete(如果有e,f,……可以繼續(xù)刪除)

      3.刪除ipc

      在運(yùn)行內(nèi)輸入regedit,在注冊(cè)表中找到 HKEY-LOCAL_MACHINESYSTEMCurrentControSetControlLSA 項(xiàng)里數(shù)值名稱(chēng)RestrictAnonymous的數(shù)值數(shù)據(jù)由0改為1。

      4.關(guān)閉自己的139端口,ipc和RPC漏洞存在于此。

      關(guān)閉139端口的方法是在“網(wǎng)絡(luò)和撥號(hào)連接”中“本地連接”中選取“Internet協(xié)議(TCP/IP)”屬性,進(jìn)入“高級(jí)TCP/IP設(shè)置”“WinS設(shè)置”里面有一項(xiàng)“禁用TCP/IP的NETBIOS”,打勾就關(guān)閉了139端口。

      5.防止rpc漏洞

      打開(kāi)管理工具——服務(wù)——找到RPC(Remote Procedure Call (RPC) Locator)服務(wù)——將故障恢復(fù)中的第一次失敗,第二次失敗,后續(xù)失敗,都設(shè)置為不操作。

      XP SP2和2000 pro sp4,均不存在該漏洞。

      6.445端口的關(guān)閉

      修改注冊(cè)表,添加一個(gè)鍵值

      HKEY_LOCAL_MACHINESystemCurrentControlSetServicesNetBTParameters在右面的窗口建立一個(gè)SMBDeviceEnabled 為REG_DWORD類(lèi)型鍵值為 0這樣就ok了

      7.3389的關(guān)閉

      XP:我的電腦上點(diǎn)右鍵選屬性--> 遠(yuǎn)程,將里面的遠(yuǎn)程協(xié)助和遠(yuǎn)程桌面兩個(gè)選項(xiàng)框里的勾去掉。

      Win2000server 開(kāi)始--> 程序--> 管理工具--> 服務(wù)里找到Terminal Services服務(wù)項(xiàng),選中屬性選項(xiàng)將啟動(dòng)類(lèi)型改成手動(dòng),并停止該服務(wù)。(該方法在XP同樣適用)

      使用2000 pro的朋友注意,網(wǎng)絡(luò)上有很多文章說(shuō)在Win2000pro 開(kāi)始--> 設(shè)置--> 控制面板--> 管理工具--> 服務(wù)里找到Terminal Services服務(wù)項(xiàng),選中屬性選項(xiàng)將啟動(dòng)類(lèi)型改成手動(dòng),并停止該服務(wù),可以關(guān)閉3389,其實(shí)在2000pro 中根本不存在Terminal Services。

    posted @ 2007-08-06 04:07 jadmin 閱讀(73) | 評(píng)論 (0)編輯 收藏
    “上善若水” 這四個(gè)字,出自于老子的《道德經(jīng)》第八章:“上善若水。水善利萬(wàn)物而不爭(zhēng),處眾人之所惡,故幾于道。居善地,心善淵,與善仁,言善信,正善治,事善能,動(dòng)善時(shí)。夫唯不爭(zhēng),故無(wú)尤。”

    它的字面含義是:最高的善像水那樣。水善于幫助萬(wàn)物而不與萬(wàn)物相爭(zhēng)。它停留在眾人所不喜歡的地方,所以接近于道。上善的人居住要像水那樣安于卑下,存心要像水那樣深沉,交友要像水那樣相親,言語(yǔ)要像水那樣真誠(chéng),為政要像水那樣有條有理,辦事要像水那樣無(wú)所不能,行為要想水那樣待機(jī)而動(dòng)。正因?yàn)樗袼菢优c萬(wàn)物無(wú)爭(zhēng),所以才沒(méi)有煩惱。說(shuō)到這其中所涵蓋的思想意義,那就需要多做些解釋了。

    老子說(shuō):“上善若水,水善利萬(wàn)物而不爭(zhēng),此乃謙下之德也;故江海所以能為百谷王者,以其善下之,則能為百谷王。天下莫柔弱于水,而攻堅(jiān)強(qiáng)者莫之能勝,此乃柔德;故柔之勝剛,弱之勝?gòu)?qiáng)堅(jiān)。因其無(wú)有,故能入于無(wú)之間,由此可知不言之教、無(wú)為之益也。”

    他認(rèn)為上善的人,就應(yīng)該象水一樣。水造福萬(wàn)物,滋養(yǎng)萬(wàn)物,卻不與萬(wàn)物爭(zhēng)高下,這才是最為謙虛的美德。江海之所以能夠成為一切河流的歸宿,是因?yàn)樗朴谔幵谙掠蔚奈恢蒙希猿蔀榘俟韧酢?

    世界上最柔的東西莫過(guò)于水,然而它卻能穿透最為堅(jiān)硬的東西,沒(méi)有什么能超過(guò)它,例如滴水穿石,這就是“柔德”所在。所以說(shuō)弱能勝?gòu)?qiáng),柔可克剛。

    不見(jiàn)其形的東西,可以進(jìn)入到?jīng)]有縫隙的東西中去,由此我們知道了“不言”的教導(dǎo),“無(wú)為”的好處。

    老子還說(shuō):“以其不爭(zhēng),故天下莫能與之爭(zhēng),此乃效法水德也。水幾于道;道無(wú)所不在,水無(wú)所不利,避高趨下,未嘗有所逆,善處地也;空處湛靜,深不可測(cè)。善為淵也;損而不竭,施不求報(bào),善為仁也……

    “道”是產(chǎn)生天地萬(wàn)物的總根源,是先于具體事物而存在的東西,也是事物的基本規(guī)律及其本源。所以“道”是我們每個(gè)人都應(yīng)該認(rèn)知與理解的。水的德行就是最接近于“道”的,“道”無(wú)處不在,因此,水無(wú)所不利。它避高趨下,因此不會(huì)受到任何阻礙。它可以流淌到任何地方,滋養(yǎng)萬(wàn)物,洗滌污淖。它處于深潭之中,表面清澈而平靜,但卻深不可測(cè)。它源源不斷的流淌,去造福于萬(wàn)物卻不求回報(bào)。這樣的德行, 乃至仁至善……
    posted @ 2007-08-05 07:58 jadmin 閱讀(58) | 評(píng)論 (0)編輯 收藏

    在配置jsp開(kāi)發(fā)環(huán)境的過(guò)程中會(huì)碰到不少問(wèn)題,感謝網(wǎng)上的許多前輩的經(jīng)驗(yàn)總結(jié),作者cl41的JSP連接Mysql數(shù)據(jù)庫(kù)攻略和作者Saulzy的MySQL學(xué)習(xí)筆記等文章對(duì)我來(lái)說(shuō)簡(jiǎn)直是雪中送碳,為了幫助象我一樣的初學(xué)者在此總結(jié)了不少作者的經(jīng)驗(yàn),非常感謝他們的無(wú)私奉獻(xiàn)精神,也希望更多的人把這種精神發(fā)揚(yáng)光大,呵呵,再次對(duì)所參考文章的作者表示最崇高的敬意!
    以下軟件下載連接地址無(wú)法顯示的話,請(qǐng)直接到官方網(wǎng)站下載即可!

    軟件下載
    Mysql
    下載版本:mysql-4.1.13-win32.zip(Windows downloads)
    http://dev.mysql.com/downloads/mysql/4.1.html

    JDBC驅(qū)動(dòng)
    下載版本:mysql-connector-java-3.1.10.zip
    http://dev.mysql.com/downloads/connector/j/3.1.html

    下載j2sdk (JAVA 2 PLATFORM STANDARD EDITION DEVELOPMENT KIT 5.0)
    下載版本:jdk-1_5_0_04-windows-i586-p.exe
    http://java.sun.com/j2se/1.5.0/download.jsp

    下載tomcat
    下載版本: jakarta-tomcat-5.5.9.exe
    http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi

    安裝,配置j2sdk:

    執(zhí)行j2sdk安裝程序,按默認(rèn)設(shè)置進(jìn)行安裝,也可自定義路徑,但需修改下面的配置

    配置j2sdk:

    配置環(huán)境變量:

    我的電腦->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量:
    JAVA_HOME=C:\Program Files\Java\jdk1.5.0_04
    CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
    path=%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

    寫(xiě)一個(gè)簡(jiǎn)單的java程序來(lái)測(cè)試J2SDK是否已安裝成功:
    public class hello
    {
    public static void main(String args[])
    {
    System.out.println("Hello");
    }
    }

    將程序保存為文件名為hello.java的文件。

    打開(kāi)命令提示符窗口,進(jìn)入到hello.java所在目錄,鍵入下面的命令
    javac hello.java
    java hello
    此時(shí)若打印出來(lái)hello則安裝成功,若沒(méi)有打印出這句話,仔細(xì)檢查以上配置是否正確。
    注意系統(tǒng)文件夾選項(xiàng)中應(yīng)確定“隱藏已知文件類(lèi)型的擴(kuò)展名”不勾選(我的電腦?工具?查看)

    安裝,配置tomcat
    執(zhí)行tomcat安裝程序,按默認(rèn)設(shè)置進(jìn)行安裝,也可自定義路徑,但需修改下面的配置

    我的電腦->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量
    CATALINA_HOME=C:\Program Files\Apache Software Foundation\Tomcat 5.5
    CATALINA_BASE=C:\Program Files\Apache Software Foundation\Tomcat 5.5

    修改環(huán)境變量中的classpath,把tomat安裝目錄下的common\lib下的servlet-api.jar添加到classpath中去,
    修改后的classpath如下:
    classpath=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;

    啟動(dòng)tomcat,在IE中訪問(wèn)http://localhost:8080,若看到tomcat的歡迎頁(yè)面的話說(shuō)明安裝成功。

    安裝mysql
    解壓縮mysql-4.1.13-win32.zip,運(yùn)行setup.exe
    首先出現(xiàn)的是安裝向?qū)g迎界面,直接點(diǎn)擊“Next”
    繼續(xù),選擇安裝類(lèi)型,選擇“自定義”custom安裝,然后點(diǎn)“Next”下一步,出現(xiàn)自定義安裝界面
    選擇安裝路徑:C:\MySQL Server 4.1(可自定義)
    點(diǎn)“OK”返回到自定義安裝界面,路徑已改為設(shè)置的路徑
    點(diǎn)“Next”,準(zhǔn)備開(kāi)始安裝
    點(diǎn)“Install”開(kāi)始安裝
    完成后出現(xiàn)創(chuàng)建MySQL.com帳號(hào)的界面
    如果是首次使用MySQL,選“Create anew free MySQL.com accout”
    點(diǎn)“Next”,輸入你的Email地址和自己設(shè)定的用于登錄MySQL.com的密碼
    填完后點(diǎn)“Next”進(jìn)入第二步
    填寫(xiě)姓名等相關(guān)信息,填完點(diǎn)“Next”,進(jìn)入第三步
    填完電話號(hào)碼、公司名稱(chēng)等信息后,點(diǎn)“Next”,
    然后出現(xiàn)預(yù)覽你剛才填的信息的界面,點(diǎn)“Next”出現(xiàn)安裝完成界面
    注意,這里有個(gè)配置向?qū)У倪x項(xiàng)(Configure the MySQL Server now),
    建議勾選立即配置你的MySQL。許多說(shuō)安裝完MySQL后無(wú)法啟動(dòng),原因就在于沒(méi)有配置MySQL。
    點(diǎn)擊“Finish”完成安裝,并開(kāi)始配置MySQL
    點(diǎn)“Next”,進(jìn)入配置類(lèi)型選擇頁(yè)面。選“Detailed configuration”(詳細(xì)配置)
    點(diǎn)“Next”,進(jìn)入服務(wù)類(lèi)型選擇頁(yè)面。選“Developer Machine”(開(kāi)發(fā)者機(jī)器),這樣占用系統(tǒng)的資源不會(huì)很多
    點(diǎn)“Next”后,進(jìn)入數(shù)據(jù)庫(kù)用法選擇頁(yè)面。選擇“Multifunctional Database”
    點(diǎn)“Next”,進(jìn)入選擇InnoDB數(shù)據(jù)存放位置頁(yè)面
    不用更改設(shè)置,直接放在Installation Path安裝目錄里即可,然后點(diǎn)“Next”,選擇MySQL的同時(shí)聯(lián)接數(shù)
    選擇“Manual Setting”,設(shè)置為100(根據(jù)自己需要,酌情設(shè)置)
    點(diǎn)“Next”,配置MySQL在TCP/IP通訊環(huán)境中的端口選擇默認(rèn)的3306端口即可。
    點(diǎn)“Next”,選擇MySQL中的字符設(shè)置
    注意,這里的選擇將會(huì)影響你是否能在MySQL中使用中文。選擇gb2312字符集以便支持簡(jiǎn)體中文
    點(diǎn)“Next”,設(shè)置Windows服務(wù)選項(xiàng)
    注意,這里的選擇很關(guān)鍵。
    “Install As Windows Service”一定要勾選,這是將MySQL作為Windows的服務(wù)運(yùn)行。
    “Service Name”就用默認(rèn)的“MySQL”
    下面的“Launch the MySQL Server automatically”一定要勾選,這樣Windows啟動(dòng)時(shí),MySQL就會(huì)自動(dòng)啟動(dòng)服務(wù),要不然就要手工啟動(dòng)MySQL。
    許多人說(shuō)安裝MySQL后無(wú)法啟動(dòng)、無(wú)法連接、出現(xiàn)10061錯(cuò)誤,原因就在這里。
    點(diǎn)“Next”,設(shè)置根帳號(hào)root的登錄密碼
    “Modify Security Settings”是設(shè)置根帳號(hào)的密碼,輸入你設(shè)定的密碼即可。
    “Create An Anonymous Account”是創(chuàng)建一個(gè)匿名帳號(hào),這樣會(huì)導(dǎo)致未經(jīng)授權(quán)的用戶(hù)非法訪問(wèn)你的數(shù)據(jù)庫(kù),有安全隱患,建議不要勾選。
    點(diǎn)“Next”,MySQL配置向?qū)⒁罁?jù)你上面的所有設(shè)定配置MySQL,以便MySQL的運(yùn)行符合你的需要
    點(diǎn)“Execute”開(kāi)始配置,當(dāng)出現(xiàn)“Service started successfully”時(shí),說(shuō)明你的配置完成,MySQL服務(wù)啟動(dòng)成功
    點(diǎn)“Finish”完成,整個(gè)MySQL的配置完成,剩下的就是用MySQL客戶(hù)端連接MySQL服務(wù)器,然后使用了。


    安裝JDBC驅(qū)動(dòng):
    解壓縮mysql-connector-java-3.1.10.zip
    將要使用的是mysql-connector-java-3.1.10-bin-g.jar和mysql-connector-java-3.1.10-bin.jar

    配置
    在C:\Program Files\Java目錄下建立mysqlforjdbc子目錄,進(jìn)入該目錄將mysql-connector-java-3.1.10-bin.jar到該目錄下
    進(jìn)入C:\Program Files\Java\jdk1.5.0_04\lib目錄將mysql-connector-java-3.1.10-bin-g.jar拷貝到該目錄下
    然后配置classpath,追加%JAVA_HOME%\lib\mysql-connector-java-3.1.10-bin-g.jar;C:\Program Files\Java\mysqlforjdbc\mysql-connector-java-3.1.10-bin.jar;到該環(huán)境變量中去
    追加以后環(huán)境變量如下:
    CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\Program Files\Apache Software Foundation\Tomcat5.5\common\lib\servlet-api.jar;%JAVA_HOME%\lib\mysql-connector-java-3.1.10-bin-g.jar;C:\Program Files\Java\mysqlforjdbc\mysql-connector-java-3.1.10-bin.jar;
    配置這個(gè)的目的是讓java應(yīng)用程序找到連接mysql的驅(qū)動(dòng).


    查看并啟動(dòng)MySQL服務(wù)
    在Windows XP下安裝完MySQL后,它就已經(jīng)自動(dòng)啟動(dòng)服務(wù)了,并且在開(kāi)始菜單中有其客戶(hù)端的快捷方式連接
    可以通過(guò)Windows的服務(wù)管理器查看。“開(kāi)始”-“運(yùn)行”,輸入“services.msc”,回車(chē)。
    彈出Windows的服務(wù)管理器,然后就可以看見(jiàn)服務(wù)名為“mysql”的服務(wù)項(xiàng)了,其右邊標(biāo)明“已啟動(dòng)”
    在開(kāi)始菜單-所有程序-MySQL-MySQL Server 4.1-MySQL Command Line Client用客戶(hù)端的快捷方式連接
    輸入安裝是設(shè)置的密碼即可


    數(shù)據(jù)庫(kù)的使用

    Mysql安裝完畢以后,在開(kāi)始菜單-所有程序-MySQL-MySQL Server 4.1-MySQL Command Line Client用客戶(hù)端的快捷方式連接
    輸入安裝時(shí)設(shè)置的密碼

    使用mysql的基本命令(在mysql命令行編輯每輸入完命令后最后一定要有分號(hào))
    顯示數(shù)據(jù)庫(kù):show databases;
    使用數(shù)據(jù)庫(kù):use 數(shù)據(jù)庫(kù)名;


    建庫(kù)
    在mysql里建一個(gè)數(shù)據(jù)庫(kù)first,以及在數(shù)據(jù)庫(kù)里建一個(gè)表about
    命令:create database first;

    為數(shù)據(jù)庫(kù)設(shè)置權(quán)限(用戶(hù)和密碼)
    命令:grant all privileges on first.* to test@localhost identified by '123456';
    當(dāng)你執(zhí)行完這個(gè)命令以后,只要你再以用戶(hù)名:test,密碼:123456登錄時(shí)你就只可以對(duì)first這個(gè)數(shù)據(jù)庫(kù)操作,這樣避開(kāi)使用root
    輸入命令:use first;
    使用first數(shù)據(jù)庫(kù);

    在first庫(kù)中建表
    命令:create table about(id int(8) primary key,name varchar(10));

    在表中加入數(shù)據(jù):
    命令:insert into????? about values('xyw1026','laojiang');

    退出
    命令:exit


    JSP連接mysql
    在C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps目錄下建立子目錄myapp
    進(jìn)入C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\myapp目錄下
    用記事本編寫(xiě)一個(gè)文件保存為first.jsp
    代碼如下:
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.sql.*"%>
    <html>
    <body>
    <%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
    //first為你的數(shù)據(jù)庫(kù)名
    Connection conn= DriverManager.getConnection(url);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String sql="select * from first";
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()) {%>
    您的第一個(gè)字段內(nèi)容為:<%=rs.getString(1)%>
    您的第二個(gè)字段內(nèi)容為:<%=rs.getString(2)%>
    <%}%>
    <%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%>
    <%rs.close();
    stmt.close();
    conn.close();
    %>
    </body>
    </html>

    在瀏覽器中輸入:
    http://127.0.0.1:8080/myapp/first.jsp
    若出現(xiàn):
    id|num
    0 |laojiang

    數(shù)據(jù)庫(kù)操作成功,恭喜你

    表示配置成功

    進(jìn)入C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\myapp目錄
    在myapp目錄下新建一個(gè)目錄WEB-INF,注意,目錄名稱(chēng)是區(qū)分大小寫(xiě)的;
    在WEB-INF下用記事本新建一個(gè)文件,命名為web.xml,內(nèi)容如下:

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>
    <display-name>My Web Application</display-name>
    <description>
    A application for test.
    </description>
    </web-app>

    在myapp下用記事本新建一個(gè)測(cè)試的jsp頁(yè)面,文件名為index.jsp,文件內(nèi)容如下:

    <html><body><center>
    Now time is: <%=new java.util.Date()%>
    </center></body></html>


    重啟Tomcat
    打開(kāi)瀏覽器,輸入http://localhost:8080/myapp/index.jsp
    看到當(dāng)前時(shí)間的話說(shuō)明成功安裝。


    建立自己的Servlet:
    用記事本新建一個(gè)servlet程序,文件名為HelloWorld.java,文件內(nèi)容如下:

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class HelloWorld extends HttpServlet
    {
    public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
    {

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html><head><title>");
    out.println("This is my first Servlet");
    out.println("</title></head><body>");
    out.println("<h1>Hello,World!</h1>");
    out.println("</body></html>");

    }
    }


    編譯
    將HelloWorld.java剪切到C:\Program Files\Apache Software Foundation\Tomcat5.5\common\classes目錄下
    命令行方式下輸入:
    cd C:\Program Files\Apache Software Foundation\Tomcat5.5\common\classes
    javac HelloWorld.java
    用javac HelloWorld.java來(lái)編譯這個(gè)文件,如果出現(xiàn)無(wú)法import javax.servlet.*
    則將C:\Program Files\Apache Software Foundation\Tomcat5.5\common\lib目錄下的servlet-api.jar文件拷貝并添加到
    C:\Program Files\Java\jre1.5.0_04\lib\ext目錄中去就可以了

    然后在C:\Program Files\Apache Software Foundation\Tomcat5.5\common\classes下會(huì)產(chǎn)生一個(gè)編譯后的servlet文件:HelloWorld.class
    用記事本打開(kāi)C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\ROOT\WEB-INF目錄下的web.xml如下所示,添加后的內(nèi)容如下:
    .
    .
    .
    <!-- JSPC servlet mappings start -->

    ??????? <servlet>
    ??????????? <servlet-name>org.apache.jsp.index_jsp</servlet-name>
    ??????????? <servlet-class>org.apache.jsp.index_jsp</servlet-class>
    ??????? </servlet>

    ??????? <servlet-mapping>
    ??????????? <servlet-name>org.apache.jsp.index_jsp</servlet-name>
    ??????????? <url-pattern>/index.jsp</url-pattern>
    ??????? </servlet-mapping>

    ????
    ??????? <servlet>
    ??????????? <servlet-name>HelloWorld</servlet-name>
    ??????????? <servlet-class>HelloWorld</servlet-class>
    ??????? </servlet>

    ??????? <servlet-mapping>
    ??????????? <servlet-name>HelloWorld</servlet-name>
    ??????????? <url-pattern>/servlet/HelloWorld</url-pattern>
    ??????? </servlet-mapping>

    <!-- JSPC servlet mappings end -->

    </web-app>

    這段話中的servlet這一段聲明了你要調(diào)用的Servlet,而servlet-mapping則是將聲明的servlet“映射”到/servlet/HelloWorld地址上

    啟動(dòng)Tomcat,啟動(dòng)瀏覽器,輸入http://localhost:8080//servlet/HelloWorld 如果看到輸出HelloWorld!就說(shuō)明編寫(xiě)的servlet成功了。
    注意:修改了web.xml以及新加了class,都要重啟Tomcat


    也可以在自己創(chuàng)建的目錄下測(cè)試如:
    將HelloWorld.class拷貝到C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\myapp\WEB-INF\classes目錄下
    其中classes目錄若沒(méi)有就創(chuàng)建一個(gè)
    用記事本打開(kāi)C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\myapp\WEB-INF目錄下的web.xml如下所示,修改后的內(nèi)容如下:
    .
    .
    .
    <!-- JSPC servlet mappings start -->
    ????
    ??????? <servlet>
    ??????????? <servlet-name>HelloWorld</servlet-name>
    ??????????? <servlet-class>HelloWorld</servlet-class>
    ??????? </servlet>

    ??????? <servlet-mapping>
    ??????????? <servlet-name>HelloWorld</servlet-name>
    ??????????? <url-pattern>/servlet/HelloWorld</url-pattern>
    ??????? </servlet-mapping>

    <!-- JSPC servlet mappings end -->

    </web-app>


    啟動(dòng)Tomcat,啟動(dòng)瀏覽器,輸入http://localhost:8080/myapp/servlet/HelloWorld 如果看到輸出HelloWorld!就說(shuō)明編寫(xiě)的servlet成功了。
    注意:修改了web.xml以及新加了class,都要重啟Tomcat


    建立自己的javaBean:

    用記事本新建一個(gè)java程序,文件名為T(mén)estBean.java,文件內(nèi)容如下:
    package test;
    public class TestBean{
    private String name = null;
    public TestBean(String strName_p){
    this.name=strName_p;
    }
    public void setName(String strName_p){
    this.name=strName_p;
    }
    public String getName(){
    return this.name;
    }
    }

    編譯
    將TestBean.java放在c:\test下,使用如下命令編譯:
    C:\test>javac TestBean.java
    然后在c:\Test下會(huì)產(chǎn)生一個(gè)編譯后的bean文件:TestBean.class
    將TestBean.class文件剪切到C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\myapp\WEB-INF\classes\test目錄下,
    若無(wú)某些子目錄則創(chuàng)建一個(gè)

    新建一個(gè)TestBean.jsp文件,文件內(nèi)容為:
    <%@ page import="test.TestBean" %>
    <html><body><center>
    <%
    TestBean testBean=new TestBean("This is a test java bean.");
    %>
    Java bean name is: <%=testBean.getName()%>
    </center></body></html>

    重啟Tomcat,啟動(dòng)瀏覽器,輸入http://localhost:8080/myapp/TestBean.jsp 如果看到輸出Java bean name is: This is a test java bean
    就說(shuō)明編寫(xiě)的javaBean成功了。

    posted @ 2007-08-04 10:33 jadmin 閱讀(82) | 評(píng)論 (0)編輯 收藏

    1.到http://www.mysql.com下載MySQL數(shù)據(jù)庫(kù)服務(wù)器和驅(qū)動(dòng)程序Jdbc driver for MySQL

    2.安裝MySQL數(shù)據(jù)庫(kù),本人下載的是安裝版本的,所以直接點(diǎn)Setup.exe就可以了,當(dāng)然也可以下載.zip解壓版本的,不過(guò)解壓后要設(shè)置下環(huán)境變量之類(lèi)的,麻煩~~

    3.設(shè)置驅(qū)動(dòng)程序路徑,本人下載的Jdbc driver for MySQL是mysql-connector-java-5.0.7-bin.jar,將它放到<MySQL_HOME>\,然后在系統(tǒng)環(huán)境變量中的classpath加入mysql-connector-java-5.0.7-bin.jar的路徑,如我加入的是:C:\Program Files\MySQL\MySQL Server 5.0\mysql-connector-java-5.0.7-bin.jar,OK

    4.創(chuàng)建數(shù)據(jù)庫(kù),組合鍵Win+R,輸入cmd后回車(chē),進(jìn)入命令行模式,鍵入mysql -uroot -p你設(shè)置的密碼

    ????? create database mydb01;

    ????? use mydb01;

    ????? create table table1(CD int(8) primary key,NAME varchar(10));

    ????? insert into table1 values(1,'name1');

    ????? insert into table1 values(2,'name2');

    ????? insert into table1 values(3,'name3');

    ????? 輸入命令:select * from table1;如果見(jiàn)到以下內(nèi)容,則說(shuō)明數(shù)據(jù)庫(kù)創(chuàng)建成功.

    +------+-------+
    | CD????? | NAME???? |
    +------+-------+
    |?????? 1 | name1 |
    |?????? 2 | name2 |
    |?????? 3 | name3 |
    +------+-------+

    5.編寫(xiě)連接數(shù)據(jù)庫(kù)的測(cè)試代碼

    import java.sql.*;
    import java.sql.Connection;
    import java.sql.DriverManager;

    public class mysqltest {
    ?????? public static void main(String[] args) {
    ?????????? try{
    ?????????????? Class.forName("com.mysql.jdbc.Driver").newInstance();
    ?????????????? String url ="jdbc:mysql://localhost:3306/mydb01";
    ?????????????? Connection conn= DriverManager.getConnection(url,"root","你設(shè)置的密碼");
    ?????????????? Statement stmt=conn.createStatement();
    ?????????????? String sql="select * from table1";
    ?????????????? ResultSet rs=stmt.executeQuery(sql);

    ?????????????? while(rs.next()) {
    ?????????????????? System.out.print(rs.getInt("CD")+"\t");
    ?????????????????? System.out.println(rs.getString("NAME"));
    ?????????????? }

    ?????????????? System.out.println("Done");
    ?????????????? rs.close();
    ?????????????? stmt.close();
    ?????????????? conn.close();
    ????????????
    ????????? }catch(Exception e){
    ????????????? e.printStackTrace();
    ????????? }
    ?????? }
    }

    6.再次進(jìn)入命令行模式,測(cè)試一下是否連接成功

    ??? javac mysqltest.java

    ??? java??? mysqltest

    posted @ 2007-08-04 09:24 jadmin 閱讀(50) | 評(píng)論 (0)編輯 收藏

    INSERT、DELETE、UPDATE 三種SQL語(yǔ)句是數(shù)據(jù)庫(kù)技術(shù)的三大基本語(yǔ)句。 在通常的web開(kāi)發(fā)中對(duì)它的處理可以說(shuō)是無(wú)處不在. 如果簡(jiǎn)單的都用手工來(lái)構(gòu)造這些SQL語(yǔ)句的話, 一方面給我們的開(kāi)發(fā)帶來(lái)很大的工作量, 另一方面系統(tǒng)靈活性受到很大的限制。那么能不能基于某種規(guī)則讓系統(tǒng)自動(dòng)從頁(yè)面表單中取出元素構(gòu)造出SQL語(yǔ)句呢? 首先讓我們看看一般INSERT、DELETE、UPDATE 三種語(yǔ)句的基本形式:

    INSERT INTO table_name (col_1,col_2,col_3,) VALUES (value_1,value_2,value_3 …) 
    
    DELETE FROM table_name WHERE col_n=value_n 
    
    UPDATE table_name SET col_1=value_1,col_2=value_2,col_3=value_3 WHERE col_x=value_x

    我們知道,借用j2ee中的request.getParameterNames()方法可以讀到表單中的所有元素的名稱(chēng),有了元素名稱(chēng)借用request.getParameter(elementName)方法可以獲取該元素的值。假設(shè)在開(kāi)發(fā)中我們讓頁(yè)面元素的名稱(chēng)和底層數(shù)據(jù)庫(kù)表的字段名一致。那么在這三種語(yǔ)句中col_n 和 value_n 對(duì)我們來(lái)說(shuō)就不是未知的,未知的數(shù)據(jù)就剩下了 table_name,col_x和value_x 。現(xiàn)在如果我們寫(xiě)一個(gè)方法,傳入request對(duì)象,再把table_name,col_x,value_x作為參數(shù)傳入方法,那么我們可以輕松的自動(dòng)構(gòu)造SQL語(yǔ)句了。

    但這樣做還是有欠靈活,因?yàn)橐环矫婷恳淮问褂迷摲椒ㄎ覀兌嫉萌斯さ脑O(shè)置table_name,col_x和value_x;另一方面別忘了sql語(yǔ)句中對(duì)于字符串的字段需要加單引號(hào)和替換字符串中間的單引號(hào),而整型、浮點(diǎn)型、系統(tǒng)函數(shù)(如now(),to_date()等數(shù)據(jù)庫(kù)函數(shù))等不需要做單引號(hào)的處理,這些如果沒(méi)有好的解決的話,我們的方法將受到非常大的限制。要達(dá)到再進(jìn)一步分離最好的辦法就是在表單元素命名上面做文章,我們可以自己定義一套元素命名規(guī)則,對(duì)不同規(guī)則命名的元素做不同的處理--設(shè)我們定義元素命名規(guī)格如下:

    1. table_name,col_x,value_x這類(lèi)元素,為公共元素。我們規(guī)定這類(lèi)元素名以c_k開(kāi)頭(c=common),我們限制table_name的元素名為c_table,col_x=value_x定義到一起,元素名定為c_where. 當(dāng)然我們別忘了我們還需要一個(gè)元素表示構(gòu)造什么樣(INSERT、DELETE、UPDATE)的SQL語(yǔ)句。我們給這個(gè)元素命名c_genre,它的值被限制在INSERT、DELETE、UPDATE這三者之中 。

    2. 對(duì)于表單中對(duì)應(yīng)數(shù)據(jù)庫(kù)字符串類(lèi)型的元素,在SQL構(gòu)造中需要做單引號(hào)的處理。這類(lèi)元素我們暫且稱(chēng)他們?yōu)樽址驮亍W址驮匚覀円?guī)定其名為s_+數(shù)據(jù)庫(kù)表字段名 (s=String)。

    3. 對(duì)于不需要做但引號(hào)處理的元素(如integer型、float型、數(shù)據(jù)庫(kù)系統(tǒng)函數(shù)--如now(),to_date()等等)。我們暫且簡(jiǎn)單的統(tǒng)稱(chēng)這類(lèi)元素為整型元素。對(duì)于整型元素我們限制其命名規(guī)則為i_+數(shù)據(jù)庫(kù)表字段名(i=Integer)。

    基于上面的規(guī)格我們可以非常輕松寫(xiě)一個(gè)javabean。代碼如下:

    /**
    * @version: 1.1
    * @Time: 2005.03.02
    */
    package com.river.page ;
    import java.util.*;
    import javax.servlet.http.HttpServletRequest;
    public class PageUtil {
      private HttpServletRequest request = null ;
      public PageUtil(){}
      public void init(HttpServletRequest _request){
       this.request = _request ;
      }
      public void clear(){
       if(this.request != null){
       this.request = null ;
      }
    }
    public String get(String elementName){
      if(request == null || request.getParameter(elementName) == null){
       return "";
      }else{
       return request.getParameter(elementName);
      }
    }
    
    public String get(HttpServletRequest _request,String elementName){
      init(_request);
      return get(elementName);
    }
    
    public String getSQL(HttpServletRequest _request){
      init(_request);
      return getSQL();
    }
    public String getSQL(){
      String sqlstr = "";
      String c_table = get("c_table");
      String c_genre = get("c_genre");
      String c_where = get("c_where");
      if(c_genre == null || c_genre.equals("")){
       return "the action is null/empty";
      }
      if(c_table == null || c_table.equals("")){
       return "unknow table/empty" ;
      }
      if(c_genre.equalsIgnoreCase("INSERT")){
       java.util.Enumeration arg_names = request.getParameterNames();
       String colstr = "",valstr = "";
       String arg_name,pre_name,end_name ;
       while(arg_names.hasMoreElements()){
        arg_name = String.valueOf(arg_names.nextElement());
        if(arg_name.length() < 2){
         continue;
        }
        pre_name = arg_name.substring(0,2);
        end_name = arg_name.substring(2);
        if(pre_name.equalsIgnoreCase("i_")){
         colstr = colstr+","+end_name;
         if(get(arg_name).equals("")){
          valstr = valstr+",NULL";
         }else{
          valstr = valstr + "," + String.valueOf(get(arg_name));
         }
        }else if(pre_name.equalsIgnoreCase("s_")){
         colstr = colstr+","+end_name;
         if(get(arg_name).equals("")){
          valstr = valstr+",NULL";
         }else{
          valstr = valstr+",'"+get(arg_name).replaceAll("'","''")+"'";
        }
       }
      }
      if(!colstr.equals("")){
       colstr = colstr.substring(1);
       valstr = valstr.substring(1);
      }
      sqlstr = "INSERT INTO "+c_table+" ("+colstr+") VALUES ("+valstr+")";
      return sqlstr;
    }else if(c_genre.equalsIgnoreCase("UPDATE")){
      java.util.Enumeration arg_names = request.getParameterNames();
      String colstr = "";
      String arg_name,pre_name,end_name ;
      while(arg_names.hasMoreElements()){
       arg_name = String.valueOf(arg_names.nextElement()).trim();
       if(arg_name.length() < 2){
        continue;
       }
       pre_name = arg_name.substring(0,2);
       end_name = arg_name.substring(2);
       if(pre_name.equalsIgnoreCase("i_")){
        if(get(arg_name).equals("")){
         colstr += ","+end_name+"=NULL";
        }else{
         colstr += ","+end_name+"="+get(arg_name);
       }
      }else if(pre_name.equalsIgnoreCase("s_")){
       if(get(arg_name).equals("")){
        colstr += ","+end_name+"="+get(arg_name);
       }else{
        colstr += ","+end_name+"='"+get(arg_name).replaceAll("'","''")+"'";
       }
      }
    }
    if(!colstr.equals("")){
      colstr = colstr.substring(1);
    }
    sqlstr = "UPDATE "+c_table+" SET "+colstr;
    if(!c_where.equals("")){
      sqlstr += " WHERE "+c_where;
    }
    return sqlstr;
    }else if(c_genre.equalsIgnoreCase("DELETE")){
    sqlstr = "DELETE FROM "+c_table;
    if(c_where != null && !c_where.equals("")){
      sqlstr += " WHERE "+c_where;
    }
    }else{
      com.river.debug.Debug.show("unknow action type : "+c_genre);
      return null;
    }
    return sqlstr;
    }
    public String toString(){
      return "version 1.0, date 2005.03.02, author river";
    }
    }

    這樣我們就可以根據(jù)頁(yè)面元素的命名來(lái)指導(dǎo)SQL語(yǔ)句的生成。這樣做有很多的明顯的好處:

    1. 減少編碼工作,對(duì)于元素很多表單,用不著我們?nèi)?xiě)一大堆的代碼,不用去擔(dān)心哪個(gè)元素落下了,元素名有沒(méi)有些錯(cuò),單引號(hào)有沒(méi)有處理。

    2. 通用、穩(wěn)定、易于維護(hù),javabean固有的優(yōu)點(diǎn),就不用太多的說(shuō)明了。

    3. 分離表層的表單內(nèi)容與邏輯層SQL語(yǔ)句的構(gòu)造。設(shè)想一下,如果我們數(shù)據(jù)庫(kù)表結(jié)構(gòu)有調(diào)整時(shí),那么我們只要修改一下表單就好了,根本就不用理原來(lái)寫(xiě)好的邏輯處理。附帶著再說(shuō)一句,設(shè)想如果我們?cè)賹?xiě)一個(gè)類(lèi)自動(dòng)執(zhí)行SQL,那么對(duì)于一些基本的增、刪、改操作都可以映射到同一個(gè)action里面來(lái)處理,且不是很爽?

    當(dāng)然,這樣做的缺點(diǎn)也是有的。那就是有一定的性能損耗。特別是碰到表單元素非常多時(shí)。但是對(duì)于那些不是很"苛刻"的項(xiàng)目這點(diǎn)損耗是值得的。

    posted @ 2007-08-03 20:59 jadmin 閱讀(63) | 評(píng)論 (0)編輯 收藏

    世間人,法無(wú)定法,然后知非法法也;
    天下事,了猶未了,何妨以不了了之。

    道不是道,心亦非心;花開(kāi)五葉,結(jié)果自成.

    posted @ 2007-08-03 04:03 jadmin 閱讀(63) | 評(píng)論 (0)編輯 收藏
     
    posted @ 2007-07-24 03:13 jadmin 閱讀(49) | 評(píng)論 (0)編輯 收藏

    =========================http://blog.csdn.net===================================

    進(jìn)入軟件開(kāi)發(fā)行業(yè)也快一年了,很幸運(yùn)一進(jìn)入就加入了一個(gè)敏捷開(kāi)發(fā)的團(tuán)隊(duì),敏捷開(kāi)發(fā)的思想確實(shí)很好,擁抱變化,最快的做用戶(hù)需要的功能,越早發(fā)現(xiàn)錯(cuò)誤,改正錯(cuò)誤的代價(jià)就越小。最近看到《應(yīng)用Rails進(jìn)行敏捷Web開(kāi)發(fā)》這本書(shū),就買(mǎi)了下來(lái),雖說(shuō)現(xiàn)在一直在從事JAVA的開(kāi)發(fā)工作,對(duì)ruby和rails也不了解,不過(guò)通過(guò)學(xué)習(xí)一些新的語(yǔ)言,來(lái)詳細(xì)了解敏捷軟件開(kāi)發(fā),豈不是一舉兩得!要運(yùn)行書(shū)中的Depot項(xiàng)目就要安裝ruby和rails,在網(wǎng)上google了一些資料,很順利的跑起來(lái)了,先謝謝網(wǎng)上提供資料的各位了,下面是小弟的學(xué)習(xí)筆記,記錄下來(lái)與大家共享。。。。。。。。。。。。。(偶用的是windows,對(duì)linux不是很熟悉呀)

    Ruby官方網(wǎng)站下載:http://www.ruby-lang.org/en/downloads/
    Rails的網(wǎng)站下載:http://rubyforge.org/

    1。到http://rubyforge.org/projects/instantrails/ 下載Instant Rails 1.4,解壓放到D:\InstantRails里面。
    2。在我的電腦->屬性->高級(jí)->環(huán)境變量,新建RUBY_HOME,值為D:\InstantRails\ruby,然后在Path變量值最后追加;%RUBY_HOME%\bin ,保存即可。
    3。在DOS下,輸入:ruby -v,你就可以看到你所安裝的ruby版本;輸入:gem -v,你就可以看到你所安裝的gem版本。
    4。到http://rubyforge.org/projects/rails/下載Rails1.1.6,包含(rails-1.1.6.zip,rails-1.1.6.gem),放到D:\Rails里面。
    5。在DOS下,切換到D:\Rails,輸入:gem install rails,rails即安裝成功,再輸入:rails -v,你就可以看到你所安裝的rails版本了。

    這樣整個(gè)RubyOnRails的框架就安裝好了,按照《應(yīng)用Rails進(jìn)行敏捷Web開(kāi)發(fā)》書(shū)上的Depot示例操作,很容易就在20分鐘就創(chuàng)建一個(gè)物品列表的web應(yīng)用,真實(shí)神奇呀,可見(jiàn)Rails的強(qiáng)大呀,就寫(xiě)了那么幾行代碼呀!

    =========================http://www.uusam.com/=================================

    1.首先安裝Ruby:

    One-Click Installer - Windows 1.8.5-21??

    下載地址:http://rubyforge.org/frs/?group_id=167&release_id=6672

    2.安裝完畢后現(xiàn)在rubygems:

    rubygems -??? REL_0_9_0??

    下載地址:http://rubyforge.org/frs/?group_id=126&release_id=5803

    解壓出來(lái)運(yùn)行 setup.rb 就ok了。

    3.安裝rails及相關(guān)包:

    rails - REL 1.1.6??

    下載地址:http://rubyforge.org/frs/?group_id=307&release_id=6423,選擇rails-1.1.6.gem下載。

    在控制臺(tái)運(yùn)行 gem install rails-1.1.6.gem會(huì)提示你相關(guān)的插件包,根據(jù)提示在下面網(wǎng)址下載以下包,這是我需要的包的。

    下載地址:http://rubyforge.vm.bytemark.co.uk/gems/

    activesupport-1.3.1.gem
    activerecord-1.14.4.gem
    actionpack-1.12.5.gem
    actionmailer-1.2.5.gem
    actionwebservice-1.1.6.gem


    先安裝每個(gè)相關(guān)包,如:gem install activerecord-1.14.4.gem
    最后運(yùn)行 gem install rails-1.1.6.gem 就ok了。
    對(duì)應(yīng)每個(gè)版本的相關(guān)包也不一樣,請(qǐng)查看你安裝的的版本的依賴(lài)性。

    最后運(yùn)行rails -v ,偶的是 1.1.6 。

    這就安裝結(jié)束了。

    讓我們開(kāi)始ror的旅程吧!

    關(guān)于Ruby On Rails的介紹見(jiàn)如下鏈接:

    http://hi.baidu.com/jadmin/blog/item/1bf8800140e5cc01738da596.html

    posted @ 2007-07-24 00:14 jadmin 閱讀(142) | 評(píng)論 (0)編輯 收藏
    僅列出標(biāo)題
    共50頁(yè): First 上一頁(yè) 34 35 36 37 38 39 40 41 42 下一頁(yè) Last 
    主站蜘蛛池模板: 亚洲午夜福利精品无码| 99re在线这里只有精品免费| 日韩欧美亚洲国产精品字幕久久久| 老汉色老汉首页a亚洲| 亚洲成AV人片在| 亚洲精品成人av在线| 亚洲AV无码一区二区乱孑伦AS| 国产亚洲一区二区手机在线观看| 2048亚洲精品国产| 亚洲精品无码久久久久| 亚洲精品无码不卡在线播HE| 亚洲成AV人片一区二区密柚| 一区二区三区亚洲| 亚洲电影在线播放| 亚洲精品国产精品国自产网站| 亚洲国产精品专区| 亚洲人成网站999久久久综合| 亚洲人成欧美中文字幕| 久久亚洲中文字幕无码| 色老头综合免费视频| a级午夜毛片免费一区二区| 伊人久久免费视频| 免费黄色福利视频| 免费的一级黄色片| 亚洲精品无码永久在线观看| 亚洲色无码一区二区三区| 国产亚洲免费的视频看| 2022年亚洲午夜一区二区福利| 亚洲videos| 国产亚洲精品精品精品| 精品多毛少妇人妻AV免费久久| a级毛片毛片免费观看久潮喷| 免费A级毛片无码视频| 免费国产黄线在线观看| 免费a级黄色毛片| 亚洲精品美女久久久久99| 亚洲妇女水蜜桃av网网站| 亚洲第一综合天堂另类专| eeuss影院免费直达入口| 18禁美女裸体免费网站| 国产一级淫片视频免费看|