一個不錯的東東,整理好了放在這裏:)
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 的配置完成,那我們就開工吧!
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"
onclick="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 onclick="setPrint();">
<INPUT type="button" value="打印預覽" id=button2 name=button2 onclick="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>