java初学者必读-经验总结[转贴]

Java 专栏收录该内容
3 篇文章 0 订阅

 作者: wjmmml (笑着悲伤) 

最近升级为2颗红星,昨天又发现进入排行榜前10名,很高兴,于是散点分(别嫌我吝啬),把java初学者学习总可能用的到问题总结一下,想对大家有帮助。
1:jdk开发中系统环境变量设置:
方法如下:
Win2000中:
右键我的电脑--》属性--》高级--》环境环境变量
classpath=.;jdk安装目/lib
path=jdk安装目录/bin
注意:一定不可忽略“.”。
Win98中:
修改autocexe.bat 就是修改自动批处理文件。
添加:
set classpath=.;jdk安装目/lib
set path=jdk安装目录/bin;%path%

2:(前提设置好了系统环境变量)
不带包的编译,相当简单:
javac 类名.java
java 类名

关于带包的编译问题:
如果你的类是带包的,应该用如下方法编译:
javac -d  包的父目录 类名.java
java  包名.类名

3:Tomcat服务器配置:
   1):设置好系统环境变量。
   2):JAVA_HOME=G:/JBuilder6/jdk1.3.1
     G:/JBuilder6/jdk1.3.1为jdk安装目录
   3):TOMCAT_HOME=tomcat安装目录
4:修改serlet而不重新启动tomcat
修改
%TOMCAT_HOME%/conf/server.xml
大致如下:
<Context path="" docBase="ROOT" debug="0"  reloadable="true"/>
其中reloadable就是配置是否自动reload的,把它设为true,如果没有这一项,加上。
5:修改webshpere中的servlet而不重新启动服务:
修改../WEB-INF下面的web.xml:
加入<webappext:WebAppExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappext="webappext.xmi" xmlns:webapplication="webapplication.xmi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:id="WebApp_ID_Ext" reloadInterval="3" reloadingEnabled="true" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="true">其中reloadInterval="3" reloadingEnabled="true" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="true"是主要的,reloadInterval="3" reloadingEnabled="true" 是说修改后3秒自动重新载
入。
6:配置jbuilder6+webshpere4.0AE,其实jb7可以参照:
首先安装j2ee,然后把j2ee加入到jb的libraries里面。方法如下
  1:)tools--->configure libraries-->new--->name:里面填写j2ee,Location:里面默认的旧可以了。---->add-->选在j2ee安装路径,选中lib文件夹--ok--oK.
 2:)返回到configure libraries也面后,选中Required Libraries-->add--》选中你刚才创建的j2ee,点ok就可以了。
然后配置webshpere应用服务器和database pilot:
第一步:tools-->enterprise setup-->Application servers设置安装路径以及IBM的JAVA路径,DB2你自己看着办
第二步:project-->Defaults project properties里servers选择Ws4.0,应该可以用了
webshpere4.0不支持ejb2.0,webshpere5.0支持。
配置database pilot
第一步:添加类库tools-->config libraries添加你的数据库驱动程序类
第二步:tools-->enterprise setup-->Database Drivers里面添加你刚添加的那个类库
第三步:重启JBilder后,tools-->database pilot-->option-->drivers,添加驱动程序
第四步:在database pilot点新建就可以了,driver:COM.ibm.db2.jdbc.app.DB2Driver。url:jdbc:db2:db_sdbc.(db_sdbc为服务器上的db2数据库).
7:解决java中文问题:
针对applet和awt:
    1:)
    Font f = new Font(UIResource.getString(      "Default_font"),Font.PLAIN,12);
      UIManager.put("Label.font",f);
      UIManager.put("Label.foreground",Color.black);
      UIManager.put("Button.font",f);
      UIManager.put("Menu.font",f);
      UIManager.put("MenuItem.font",f);
      UIManager.put("List.font",f);
      UIManager.put("CheckBox.font",f);
      UIManager.put("RadioButton.font",f);
      UIManager.put("ComboBox.font",f);
      UIManager.put("TextArea.font",f);


    2:)
      Font f = new Font("隶书",Font.PLAIN,15);
           UIManager.put("Button.font",font);
   UIManager.put("ToggleButton.font",font);
   UIManager.put("RadioButton.font",font);
   UIManager.put("CheckBox.font",font);
   UIManager.put("ColorChooser.font",font);
   UIManager.put("ToggleButton.font",font);
   UIManager.put("ComboBox.font",font);
   UIManager.put("ComboBoxItem.font",font);
   UIManager.put("InternalFrame.titleFont",font);
   UIManager.put("Label.font",font);
   UIManager.put("List.font",font);
   UIManager.put("MenuBar.font",font);
   UIManager.put("Menu.font",font);
   UIManager.put("MenuItem.font",font);
   UIManager.put("RadioButtonMenuItem.font",font);
   UIManager.put("CheckBoxMenuItem.font",font);
   UIManager.put("PopupMenu.font",font);
   UIManager.put("OptionPane.font",font);
   UIManager.put("Panel.font",font);
   UIManager.put("ProgressBar.font",font);
   UIManager.put("ScrollPane.font",font);
   UIManager.put("Viewport",font);
   UIManager.put("TabbedPane.font",font);
   UIManager.put("TableHeader.font",font);
   UIManager.put("TextField.font",font);
   UIManager.put("PasswordFiled.font",font);
   UIManager.put("TextArea.font",font);
   UIManager.put("TextPane.font",font);
   UIManager.put("EditorPane.font",font);
   UIManager.put("TitledBorder.font",font);
   UIManager.put("ToolBar.font",font);
   UIManager.put("ToolTip.font",font);
   UIManager.put("Tree.font",font);

 3:)针对jsp和servlet:
解决办法:
第一:
在jsp页面加入:
<%@ page contentType="text/html; charset=gb2312" %>
或者在servlet里面
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html; charset=gb2312");//这是重要的
上面的如果在不行就用如下的方法在数据入库前进行调用:
public static String UnicodeToChinese(String s){
  try{
     if(s==null||s.equals("")) return "";
     String newstring=null;
     newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
     return newstring;
    }
  catch(UnsupportedEncodingException e)
  {
  return s;
  }
  }

public static String ChineseToUnicode(String s){
  try{
  if(s==null||s.equals("")) return "";
  String newstring=null;
  newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
   return newstring;
  }
  catch(UnsupportedEncodingException e)
  {
  return s;
 }
  }

3:)解决weblogic/webshpere中文问题:
在web.xml文件中需要配置中文环境。r如下:
<context-param>
  <param-name>weblogic.httpd.inputCharset./*</param-name>
  <param-value>GB2312</param-value>
</context-param>
  4:)javamail附件中文乱码:
/*
        @从BodyPart中提取使用ISO-8859-1编吗的文件名
        @因为BodyPart.getFilename()过程已经对文件名作了一次编码,有时不能直接使用
    */
    public static String getISOFileName(Part body){
        //设置一个标志,判断文件名从Content-Disposition中获取还是从Content-Type中获取
        boolean flag=true;
        if(body==null){
            return null;
        }
        String[] cdis;
        try{
            cdis=body.getHeader("Content-Disposition");
        }
        catch(Exception e){
            return null;
        }
        if(cdis==null){
            flag=false;
        }
        if(!flag){
            try{
                cdis=body.getHeader("Content-Type");
            }
            catch(Exception e){
                return null;
            }
        }
        if(cdis==null){
            return null;
        }
        if(cdis[0]==null){
            return null;
        }
        //从Content-Disposition中获取文件名
        if(flag){
            int pos=cdis[0].indexOf("filename=");
            if(pos<0){
                return null;
            }
            //如果文件名带引号
            if(cdis[0].charAt(cdis[0].length()-1)=='"'){
                return cdis[0].substring(pos+10,cdis[0].length()-1);
            }
            return cdis[0].substring(pos+9,cdis[0].length());
        }
        else{
            int pos=cdis[0].indexOf("name=");
            if(pos<0){
                return null;
            }
            //如果文件名带引号
            if(cdis[0].charAt(cdis[0].length()-1)=='"'){
                return cdis[0].substring(pos+6,cdis[0].length()-1);
            }
            return cdis[0].substring(pos+5,cdis[0].length());
        }
    }
8:字符串分割:
    public int getCount(String str,String sign){//查找某一字符串中str,特定子串s的出现次数
      if(str==null) return 0;
      StringTokenizer s=new StringTokenizer(str,sign);
      return s.countTokens();
  }
 public String[] getArray(String str,String sign){//按特定子串s为标记,将子串截成数组。
    int count=getCount(str,sign);
    int j=0;
    String[] arr=new String[count];
    for(int i=0;i<count;i++){
       if(str.indexOf(sign)!=-1){
            j     =str.indexOf(sign);
            arr[i]=str.substring(0,j);
            str   =str.substring(j+1);
        }else{
            arr[i]=str;
        }
    }
    return arr;

}
9:jdk1.3没有字符串替换函数,(jdk1.4有)。
解决1.3中的个这个问题如下:

public String stringReplace(String sourceString, String toReplaceString, String replaceString)
  {
    String returnString = sourceString;
    int stringLength = 0;
    if(toReplaceString != null)
    {
      stringLength = toReplaceString.length();
    }
    if(returnString != null && returnString.length() > stringLength)
    {
      int max = 0;
      String S4 = "";
      for(int i = 0; i < sourceString.length(); i++)
      {
        max = i + toReplaceString.length() > sourceString.length()? sourceString.length():i + stringLength;
        String S3 = sourceString.substring(i, max);
        if(!S3.equals(toReplaceString))
        {
          S4 += S3.substring(0,1);
        }else{
          S4 += replaceString;
          i += stringLength -1 ;
        }
      }
      returnString = S4;
    }
    return returnString;
  }
9:设置weblogic连接池:

pool的配置:
假设已配置服务:expserv
且数据库服务器机器名为:expserv
数据库sid:expservSID,用户名和密码都为:expserv
以weblogic7.0为例,首先启动服务
http://localhost:port/console
打开service/jdbc/connection pools
配置oraclePool如下:
Configuration:
   Name: oraclePool
   URL: jdbc:oracle:thin:@expserv:1521:expservSID
   Driver Classname: oracle.jdbc.driver.OracleDriver 
   Properties(key=value): user=expserv
Targets:
   Targets-Server:expserv
在weblogic7.0中除了数据库密码,其他的pool参数都可以在config.xml中直接用文本编辑器直接修改。
10:数字转货币大写(js)
function ChangeToBig(value)
{
 var intFen,i;
 var strArr,strCheck,strFen,strDW,strNum,strBig,strNow;

 if(trim(value)=="")   //数据为空时返回"零"
  return "零";
 if (isNaN(value))   //数据非法时提示,并返回空串
 {
  strErr = "数据"+value+"非法!"
  alert(strErr);
  return "";
 }
 strCheck = value+".";
 strArr = strCheck.split(".");
 strCheck = strArr[0];
 if(strCheck.length>12)   //数据大于等于一万亿时提示无法处理
 {
  strErr = "数据"+value+"过大,无法处理!"
  alert(strErr);
  return "";
 }
 try
 {
  i = 0;
  strBig = "";
  intFen = value*100;          //转换为以分为单位的数值
  strFen = intFen.toString();
  strArr = strFen.split(".");
  strFen = strArr[0];
  intFen = strFen.length;      //获取长度
  strArr = strFen.split(""); //将各个数值分解到数组内
  while(intFen!=0)   //分解并转换
  {
   i = i+1;
   switch(i)              //选择单位
   {
    case 1:strDW = "分";break;
    case 2:strDW = "角";break;
    case 3:strDW = "元";break;
    case 4:strDW = "拾";break;
    case 5:strDW = "佰";break;
    case 6:strDW = "仟";break;
    case 7:strDW = "万";break;
    case 8:strDW = "拾";break;
    case 9:strDW = "佰";break;
    case 10:strDW = "仟";break;
    case 11:strDW = "亿";break;
    case 12:strDW = "拾";break;
    case 13:strDW = "佰";break;
    case 14:strDW = "仟";break;
   }
   switch (strArr[intFen-1])              //选择数字
   {
    case "1":strNum = "壹";break;
    case "2":strNum = "贰";break;
    case "3":strNum = "叁";break;
    case "4":strNum = "肆";break;
    case "5":strNum = "伍";break;
    case "6":strNum = "陆";break;
    case "7":strNum = "柒";break;
    case "8":strNum = "捌";break;
    case "9":strNum = "玖";break;
    case "0":strNum = "零";break;
   }

   //处理特殊情况
   strNow = strBig.split("");
   //分为零时的情况
   if((i==1)&&(strArr[intFen-1]=="0"))
    strBig = "整";
   //角为零时的情况
   else if((i==2)&&(strArr[intFen-1]=="0"))
   {    //角分同时为零时的情况
    if(strBig!="整")
     strBig = "零"+strBig;
   }
   //元为零的情况
   else if((i==3)&&(strArr[intFen-1]=="0"))
    strBig = "元"+strBig;
   //拾-仟中一位为零且其前一位(元以上)不为零的情况时补零
   else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元"))
    strBig = "零"+strBig;
   //拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过
   else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
    {}
   //拾-仟中一位为零且其前一位是元且为零的情况时跨过
   else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元"))
    {}
   //当万为零时必须补上万字
   else if((i==7)&&(strArr[intFen-1]=="0"))
    strBig ="万"+strBig;
   //拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零
   else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万"))
    strBig = "零"+strBig;
   //拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过
   else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万"))
    {}
   //拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过
   else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
    {}
   //万位为零且存在仟位和十万以上时,在万仟间补零
   else if((i<11)&&(i>8)&&(strArr[intFen-1]!="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
    strBig = strNum+strDW+"万零"+strBig.substring(1,strBig.length);
   //单独处理亿位
   else if(i==11)
   {
    //亿位为零且万全为零存在仟位时,去掉万补为零
    if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
     strBig ="亿"+"零"+strBig.substring(1,strBig.length);
    //亿位为零且万全为零不存在仟位时,去掉万
    else if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]!="仟"))
     strBig ="亿"+strBig.substring(1,strBig.length);
    //亿位不为零且万全为零存在仟位时,去掉万补为零
    else if((strNow[0]=="万")&&(strNow[2]=="仟"))
     strBig = strNum+strDW+"零"+strBig.substring(1,strBig.length);
    //亿位不为零且万全为零不存在仟位时,去掉万 
    else if((strNow[0]=="万")&&(strNow[2]!="仟"))
     strBig = strNum+strDW+strBig.substring(1,strBig.length); 
    //其他正常情况
    else
      strBig = strNum+strDW+strBig;
   }
   //拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零
   else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="亿"))
    strBig = "零"+strBig;
   //拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过
   else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="亿"))
    {}
   //拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过
   else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
    {}
   //亿位为零且不存在仟万位和十亿以上时去掉上次写入的零
   else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]!="仟"))
    strBig = strNum+strDW+strBig.substring(1,strBig.length);
   //亿位为零且存在仟万位和十亿以上时,在亿仟万间补零
   else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]=="仟"))
    strBig = strNum+strDW+"亿零"+strBig.substring(2,strBig.length);
   else
    strBig = strNum+strDW+strBig;
   strFen = strFen.substring(0,intFen-1);
   intFen = strFen.length;
   strArr = strFen.split("");
  }
  return strBig;
 }catch(err){
  return "";      //若失败则返回原值
 } 
}


11:删除文件夹下的所有目录:
 /*
  * 删除一个目录下的所有文件
  */  
 public static void delAllFile(String path) {
  File file = new File(path);
  if(!file.exists()) return;
  if(!file.isDirectory()) return;
  String[] tempList = file.list();
  File temp = null;
  for(int i = 0; i < tempList.length; i++) {
   if(path.endsWith(File.separator))
    temp = new File(path + tempList[i]);
   else
    temp = new File(path + File.separator + tempList[i]);
   if(temp.isFile()) temp.delete();
   if(temp.isDirectory()) delAllFile(path + tempList[i]); 
  }
 }
12:字符串转换成时间及时间相减:
    1:) SimpleDateFormat formatter = new SimpleDateFormat ("yyyy.MM.dd");
        //假定像2002.07.04的是合法日期其他都非法。
    String str="2002.07.04";
    ParsePosition pos = new ParsePosition(0);
    Date dt=formatter.parse(str,pos);
   if(dt!=null)
   {
     //是合法日期
   }
    else
   {
     //非法日期
   }
2:)
两个日期相减
import java.util.*;
import java.text.*;
class a
{
 public static void main(String[] args)
 {
  String s1 = "2003/08/15 17:15:30";
  String s2 = "2002/09/14 14:18:37";
  try{
  SimpleDateFormat formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss");
  
  ParsePosition pos = new ParsePosition(0);
  ParsePosition pos1 = new ParsePosition(0);
  Date dt1=formatter.parse(s1,pos);
  Date dt2=formatter.parse(s2,pos1);
  System.out.println("dt1="+dt1);
  System.out.println("dt2="+dt2);
  long l = dt1.getTime() - dt2.getTime();
  
  System.out.println("Hello World!="+l);
  }catch(Exception e){
   System.out.println("exception"+e.toString());
  }
  
 }
}


3:)得到2个月后的日期:
 import java.util.*;
 import java.text.DateFormat;
 public class test2
 {
  public static void main(String args[]) throws Exception
  {
   String date="2001/11/30";
   
   DateFormat dateFormat =
  DateFormat.getDateInstance(DateFormat.MEDIUM);
   GregorianCalendar grc=new GregorianCalendar();
   grc.setTime(new Date(date));


   grc.add(GregorianCalendar.MONTH,2);
   System.out.println("grc="+dateFormat.format(grc.getTime()));  
  }
 }

13:jsp/servet重定向问题:
不改变url的:
  1:)servlet:
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

      getServletContext().getRequestDispatcher(test2URL).forward(request, response);
 2:)jsp
  <jsp:forward page="/jsp/forward/one.jsp"/>
改变url的:
  1:)response.sendRedirect("/web/mail/pop3.jsp");

14:jb7+weblogic6.x配置方法如下:
Win 2000 Temp、Tmp 的配置

因为我们生成的 ejb 相关代码要进行一系列的编译,那么所生成的临时文件就要有个地方放啊,但 Win2000中的 Temp、Tmp 目录却偏偏有空格 如%USERPROFILE%/Local Settings/Temp,接下来我们来配置一下:

1) 右击 《我的电脑》 选属性,在弹出的对话框中选 《高级》 ,再选 《环境变量》 按钮,

2) 修改 《Administrator 的用户变量》和《系统变量》中的 TEMP、TEMP、TMPDIR 选项,单击每一个选项,然后点《编辑》(右图),把每个 变量名为  TEMP、TEMP、TMPDIR 的值都改为 c:/WINNT/temp ,当然这不是必须的,只是我建议你这么做。

其实也没什么难的,若改完,则Win2000环境这么应该没什么问题了。
WebLogic 6.X 部分

一、JDBC Connection Pool 的配置    以Mysql 小型数据库为例

在进行此项配置之前,先将欲使用的 数据库JDBC 驱动 Jar 文件放到D:/bea/wlserver6.1/lib/jdbc 目录下(建议这样做,没有jdbc目录就建一个呗),然后编辑D:/bea/wlserver6.1/config/mydomain 下的 startWebLogic.cmd 文件,在 classpath 中加入数据库的JDBC驱动文件,如红字部分:

:runWebLogic
echo on
set PATH=./bin;./bin/oci817_8;d:/oracle/ora81/bin;%PATH%
set CLASSPATH=./lib/cr_wls60f.jar;./lib/weblogic_sp.jar;./lib/weblogic.jar;./lib/jdbc/mysql.jar

这样 Weblogic 启动时才会加载欲使用的数据库JDBC驱动,配置也才会正常,否则会报错。
1)在Weblogic控制台中依次展开Services / JDBC / Connection Pools
2)单击 Configure a new JDBC Connection Pool...

3)填入每一项参数,结果如下:
url: jdbc:mysql://127.0.0.1:3306/test
driver classname:org.gjt.mm.mysql.Driver
properties(key=value):user=root
4) 别忘了点一下 Apply 即应用一下:)
5) Connections 签下的 初始容量、最大容量、容量增长等可根据自已需要配置
6) 还有至关重要的最后一步,我们做的以上配置工作还没有真正的应用到 Weblogic 上,所以还差一步,
    选 Targets 签,选 Servers 签,选 Available (可用)中的 myserver ,然后点"-->"  ,再点 Apply 应用一下。
    这样我们所做的工作才会真正有效, Weblogic 也才会认识我们配置的 JDBC Connection Pool
二、配置数据源

1)在Weblogic控制台中依次展开Services / JDBC / Tx Data Sources
2)单击 Configure a new JDBC Tx Data Source...
3)填入每一项参数,结果如下:

jndi name: MysqlDataSoruce
PoolName:MysqlPool
row prefetch size :48
stream chunk size: 2564) 别忘了点一下 Apply 即应用一下:)
5) 同样,选 Targets 签,选 Servers 签,选 Available (可用)中的 myserver ,然后点"-->"  ,再点 Apply 应用一下。
    这样我们所做的工作才会真正有效, Weblogic 也才会认识我们配置的 DataSource。

JBuilder 7 的相关配置

一、数据库驱动的加载

同 weblogic 一样,在进行此项配置之前,先将欲使用的 数据库JDBC 驱动 Jar 文件放到 D:/JBuilder7/lib/jdbc 目录下(建议这样做,没有jdbc目录就建一个呗)

1) 开启 JBuilder 7,单击 Tools / EnterPrise Setup .......

2) 在弹出窗口中选择 Database Drivers 签
3) 再点 Add 按钮,弹出新窗口(可能你的与图上的略有不同)
4) 再单击 New ... 按钮,弹出新窗口,并改变 Name: 的默认值为 mysql (只要有意义,起个什么名都成)
5) 单击 Add... 按钮来查找并添加数据库的 JDBC 驱动,当然了,我们到 D:/JBuilder7/lib/jdbc 下去找,选 mysql.jar ,注意,不要把mysql.jar 展开,象图那样选中再按 OK 就行了。
提示:可以配合 Shift 和 Ctrl 键同时选多个 .jar 文件。
6) 结果如下图,如果有多个需要添加的 .jar 文件,还可点 Add... 按钮继续添加。
7) OK 退出.
8) 再OK ,则 mysql JDBC 驱动就已经加入了。
9) 再一次的 Ok ,JBuilder 提示要重起后上述配置才会生效,确定并重启 JBuilder。
二、EJB 2.0 和 应用服务器的配置,以 WebLogic 6.X为例

在进行此项配置之前要安装 Borland Enterprise Servler 5.02 ,IAS 4.5 也成,它俩是一回事,当然了我是有新的不用旧的,安装过程略,因为安装它很 easy ! 基本是一路回车,我把我的安装在 D:/BorlandEnterpriseServer 下了。

1) 开启 JBuilder 7,单击 Tools / EnterPrise Setup .......

2) 选择 CORBA 签,在 Configuration 下的下拉列表框,选择 VisiBroker

3) 选择 Edit... ,弹出 Edit Confiuration 窗口
  点击path for orb tools
4) 单击 Path for ORB tools: 旁边的 ... 浏览按钮,弹出 Select Directory 窗口,选择 D:/BorlandEnterpriseServer5/bin 并 OK。

5) 再 两遍 OK ,JBuilder 又要求你重启,没办法,照它说的做,重启 JBuilder 。

6) 重启后,还要到 Tools / EnterPrise Setup ....... ,选 CORBA 项,选 Edit ,在弹出窗口中选 Library for projects: 旁边的 ... 按钮
7) 在弹出的新窗口的 User Home 中你会发现多了一个选项 Borland Enterprise Server 5.0.2+ Client
    即 选择图中所示 黑亮的选项,然后 三遍 OK 退出。
8) 再选择 Project / Default Project Properties 项
9) 在弹了对话框中选 Server 签,如图,点击 ... 按钮,
10) 在弹出的新对话框中,选择 WebLogic Application Server 6.x +,然后复选 Enable server ,见图中红框。
11) 复选 Enable server 后,其它各项可选或可填,点击 ... 按钮,
    选择 Home directory ;
    选择 Working directory ;
    为你机器所装 Weblogic 的位置。
12) 点击 Class 签内的Add 按钮,如上图,将 D:/bea/wlserver6.1/lib/cr_wls60f.jar 文件添加进来。如上图红线。
    再用 Move Up 按钮,将  D:/bea/wlserver6.1/lib/cr_wls60f.jar 文件移至最项端,因为一般后加的 .jar 文件在最下边。
    这一步也比较重要,因为在JBuilder 环境下可以直接启动 Weblogic ,那它就要首先检测 license 是否合法,即 cr_wls60f.jar文件
    是否存在。

13) 再选择 Custom 签,按如下红线所示配置,可能您装的 Weblogic 目录位置与我的有不同,但大概意思是一样的。
    配置完后,点击 OK 按钮退出
   domain name :mydomain
   server name: myserver
   version:6.1 Service Pack1(d:/bea/wlserver6.1)
14) 再在如图窗口中的 Single server for all services in project 下拉列表框中选择 WebLogic Application Server 6.x+ 如图所示,然后 OK 退出。
15) 至此 JBuiler 7 下与 WebLogic 6.x 的配置完成,那我们就开工吧!

本配置有csdn-wjmmml(笑着悲伤)整理。我花了好长时间哦。如转载请不要删除本行。

俺接着来,呵呵:
15.计算日期间隔
public int getDays(Date sd,Date ed){
  return (ed.getTime()-sd.getTime())/(3600*24*1000)
}

16.日期加减
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
String str="20011230";
Date dt=sdf.parse(str,new ParsePosition(0));
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.DATE,2);//你要加减的日期
Date dt1=rightNow.getTime();
String reStr=sdf.format(dt1,"",new FieldPosition(0));
System.out.println(reStr);

17.时间显示控制  
第一种方式:
<html>
<head><title>取得系统时间</title></head>
<body>
<%java.util.Date date=new java.util.Date();%>
现在是:<%=date%>
</body>
</html>
运行结果:
现在是:Tue Jul 31 10:32:52 CST 2001

第二种方式:
<%@ page import="java.util.*, java.text.*" %>
<HTML>
<HEAD><TITLE>显示当前时间</TITLE></HEAD>
<BODY>
当前时间:
<%
Date now = new Date();
out.println(DateFormat.getTimeInstance().format(now));
%>
</BODY>
</HTML>
运行结果:
10:31:42 AM

第三种方式:
<%
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy年MM月dd日");
java.util.Date currentTime_1 = new java.util.Date();
out.print(formatter.format(currentTime_1));
%>
运行结果:
2001年07月31日

第四种方式:
<%
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy/MM/dd HH/mm/ss");
java.util.Date currentTime_1 = new java.util.Date();
out.print(formatter.format(currentTime_1));
%>
运行结果:
2001/07/31 10/32/52
第三四两种方式其实是一样的他可以产生千变万化的格式。

 

18.加密&解密
在插入数据库前先将字符串str进行加密:
java.net.URLEncoder.encode(String str);
从数据库中取出时再解码:(可以先不加密,只解码,试一试;不行再加密)
java.net.URLDecoder.decode(String str);

19.页面刷新:
有三种方法:
1,在html中设置:
<title>xxxxx</title>之後加入下面这一行即可!
定时刷新:<META HTTP-EQUIV="Refresh" content="10; URL=http://自己的URL">
10代表刷新间隔

2.jsp
<% response.setHeader("refresh","1"); %>
  没一秒刷新一次

3.使用javascript:
<script language="javascript">
setTimeout("self.location.reload();",1000);
<script>
一秒一次

20.打印:
1.直接调用windows函数
<input type="button" value="print"
οnclick="window.focus();window.print()">

2.调用js
//放在head 与 head 之间
<SCRIPT LANGUAGE=javascript>
<!--
function setPrint()
{
WB.ExecWB(8,1);
}
function previewPrint()
{
WB.ExecWB(7,1)
}
//-->
</SCRIPT>
 
//放在body与body之间
<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0>
</OBJECT>
<INPUT type="button" value="打印设置" id=button1 name=button1 οnclick="setPrint();">
<INPUT type="button" value="打印预览" id=button2 name=button2 οnclick="previewPrint();">

21.将数据用execl在客户端展现:
<style type="text/css">
{
  .showTD {color: #003366; }
  .hiddenTD {display:none; }
  .onFocue  {color: #CC66FF;}
  .offFocue {color:#003366;}
}
#floater {
    LEFT: 445px; POSITION: absolute; TOP: 15px; VISIBILITY: visible; WIDTH: 125px; Z-INDEX: 10}
</STYLE>

<object classid="clsid:0002E510-0000-0000-C000-000000000046" id="Spreadsheet1" width="676" height="388">
  <param name="HTMLURL" value>
  <param name="HTMLData" value="">
  <param name="DataType" value="HTMLDATA">
  <param name="AutoFit" value="0">
  <param name="DisplayColHeaders" value="-1">
  <param name="DisplayGridlines" value="-1">
  <param name="DisplayHorizontalScrollBar" value="-1">
  <param name="DisplayRowHeaders" value="-1">
  <param name="DisplayTitleBar" value="-1">
  <param name="DisplayToolbar" value="-1">
  <param name="DisplayVerticalScrollBar" value="-1">
  <param name="EnableAutoCalculate" value="-1">
  <param name="EnableEvents" value="-1">
  <param name="MoveAfterReturn" value="-1">
  <param name="MoveAfterReturnDirection" value="0">
  <param name="RightToLeft" value="0">
  <param name="ViewableRange" value="1:65536">
</object>
<div class="hiddenTD" id="tablers">
<table width=95% align=center border=1 cellspacing=0 cellpadding=0>
  <tr>
    <td>客户名称A</td>
    <td>客户名称B</td>
    <td>客户名称C</td>
    <td>客户名称D</td>
    <tr>
    <td>abc</td>
    <td>def</td>          <td>111</td>          <td>222</td>        <tr>
    <td>ddd</td>
    <td>dfdf</td>  
    <td>ddd</td>     
    <td>ddd</td> 
</table>
</div>
<script language="javascript">
  Spreadsheet1.HTMLData = tablers.innerHTML ;
</script>

乱七8招的,自己也不知道贴了什么东西,呵呵,
希望有人能用的着。

学java,肯定要学jsp拉,所以就有了下面的东东:
一、jsp连接Oracle8/8i/9i数据库(用thin模式)

testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

二、jsp连接Sql Server7.0/2000数据库

testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

三、jsp连接DB2数据库

testdb2.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%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);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

四、jsp连接Informix数据库

testinformix.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

五、jsp连接Sybase数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdata为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

六、jsp连接MySQL数据库

testmysql.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"
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

七、jsp连接PostgreSQL数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/soft"
//soft为你的数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
jsp连接数据库大全:
一、jsp连接Oracle8/8i/9i数据库(用thin模式)

testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

二、jsp连接Sql Server7.0/2000数据库

testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

三、jsp连接DB2数据库

testdb2.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%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);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

四、jsp连接Informix数据库

testinformix.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

五、jsp连接Sybase数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdata为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

六、jsp连接MySQL数据库

testmysql.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"
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

七、jsp连接PostgreSQL数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/soft"
//soft为你的数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

jsp连接数据库大全:
一、jsp连接Oracle8/8i/9i数据库(用thin模式)

testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

二、jsp连接Sql Server7.0/2000数据库

testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

三、jsp连接DB2数据库

testdb2.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%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);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

四、jsp连接Informix数据库

testinformix.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

五、jsp连接Sybase数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdata为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

六、jsp连接MySQL数据库

testmysql.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"
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

七、jsp连接PostgreSQL数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/soft"
//soft为你的数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>


另外纠正一下:
public static String UnicodeToChinese(String s){
  try{
     if(s==null||s.equals("")) return "";
     String newstring=null;
     newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
     return newstring;
    }
  catch(UnsupportedEncodingException e)
  {
  return s;
  }
  }
java的底层字符串操作都是用Unicode来进行的(居然有人指责java在unicode方面什么也没做还不如微软),ISO8859_1实际上是latin字符集1,兼容西欧的大多数语言,同时因为Unicode字符集中覆盖了ISO8859_1,并以它为开始,所以ISO8859_1的支持和兼容来说是最好的,但它不是Unicode字符集。
java开发中积累的经验总结下来就一条:在数据传输过程中一定要遵循使用统一的编码/解码。只有在需要的时候再用合适的内码来进行转换并使用。比如把数据从客户端传递到服务器端,编码和解码一定要显式进行并统一。随后写入数据库的时候也需要和读出的时候统一(这里要注意数据库是否改变了编码方式)。最后从beans传递给jsp用来显示的时候,再根据需要变成gbk或者gb2312等等。
这样的过程中ISO8859_1比较好用,另外好用的就是UTF-8,这才是Unicode编码,呵呵。
所以楼主的帖子里面两个函数在gb2312和ISO8859_1之间转换,使用的时候一定要成对并显式使用(哪怕似乎没必要,这不仅仅是代码风格问题,将来假若需要重新封装你的程序模块你就知道保持一致的封装层次和调用方式好处之大)。

来自:http://search.csdn.net/Expert/topic/1065/1065682.xml?temp=.5015833

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值