久久久久久久综合日本亚洲,亚洲字幕AV一区二区三区四区 ,亚洲国产欧美国产综合一区 http://m.tkk7.com/gump/category/5127.html生活就像一盒巧克力,你永遠不知道你會得到什么zh-cnTue, 27 Feb 2007 12:18:18 GMTTue, 27 Feb 2007 12:18:18 GMT60Google發布Web工具包GWThttp://m.tkk7.com/gump/articles/50864.html甘先生甘先生Tue, 06 Jun 2006 10:19:00 GMThttp://m.tkk7.com/gump/articles/50864.htmlhttp://m.tkk7.com/gump/comments/50864.htmlhttp://m.tkk7.com/gump/articles/50864.html#Feedback1http://m.tkk7.com/gump/comments/commentRss/50864.htmlhttp://m.tkk7.com/gump/services/trackbacks/50864.htmlGoogle近期發布了一個名為Google Web Toolkit (GWT)的Web工具包,這個工具包可以讓java程序員不需要寫任何HTML和JS就可以輕松地構建一個AJAX應用程序。這個工具包可以把你的java轉換成瀏覽器上的js和html。當然,如果你覺得GWT不能構建出你所需要的客戶端腳本,你也可以通過JSNI來自己寫JS代碼。

是否還在為了實現AJAX的前進后退而煩惱呢?除了使用dhtmlhistory這個解決方案,你現在還可以通過GWT來很容易地實現這些功能。再也不用擔心瀏覽器的前進和后退按鈕成為擺設了。

AJAX提高了用戶的體驗,但是相應的,開發的復雜程度也提高了,debug也變得異常的困難。通過GWT,程序員們可以很容易地進行debug工序。而且,這一切都是在java的環境中進行。

瀏覽器兼容性問題總是能困擾著web開發人員。GWT構建出來的Web程序,將會兼容Firefox,IE,Mozilla, Safari, 和Opera等主流瀏覽器。而兼容性的工作,不再需要程序員們來進行。

在GWT中,遠程通訊將會變得異常簡單,程序員們需要做的,僅僅是建立一個可序列化的對象。序列化和解序列化,將會由GWT來進行。

下面是GWT自帶的幾個Demo:  (點擊相應頁面進入)

Screenshot
A table of data that demonstrates paging over objects retrieved through RPCs.
 
Screenshot
A replica of the UI of a desktop email application.
 
Screenshot
An application that includes every UI widget GWT supports.

相關鏈接:
peacess關于GWT的一些文章


甘先生 2006-06-06 18:19 發表評論
]]>
(轉)經典的JBOSS入門文章http://m.tkk7.com/gump/articles/40283.html甘先生甘先生Mon, 10 Apr 2006 09:38:00 GMThttp://m.tkk7.com/gump/articles/40283.htmlhttp://m.tkk7.com/gump/comments/40283.htmlhttp://m.tkk7.com/gump/articles/40283.html#Feedback1http://m.tkk7.com/gump/comments/commentRss/40283.htmlhttp://m.tkk7.com/gump/services/trackbacks/40283.html
  本文是為想在JBOSS環境下進行EJB開發的讀者而寫的,在閱讀本文之前,你最好對EJB有一個基本了解。

  JBOSS是一個開放源碼的免費EJB服務器,它實現了其它J2EE所規定的大多數功能,現在sun公司已經把JBOSS作為J2EE1.4的標準實現服務器了,本文就帶領大家從Jboss3.2.6的安裝開始,一直到開發出一個完整的”hello,world”的ejb為止。

  JBOSS的安裝與啟動

  如果你是第一次使用JBOSS,你一定會感到很沮喪,因為它雖然是開放源碼,并可以免費下載,但是它的文檔或技術培訓卻是收費的,而且對于國人來說高不可及(幾天的培訓大約要10000美元,文檔也要幾十至幾百美一份)!如果你試圖在網上找一些關于JBOSS下簡單入門的文章,可只是那么寥寥可數的幾篇,而且很少有菜鳥級的文章。相反,對其核心設計等高深理論性的文章倒是居多,這樣反倒讓你越看越糊涂。因此,本文的目的就是:讓你的JBOSS盡快地跑起來,并馬上可以在其之上開發出簡單的EJB!

  在安裝JBOSS之前,首先要確定你已經安裝了jdk1.3或以上版本,由于JBOSS不像weblogic等其它應用服務器捆綁了JDK,因此JBOSS非要jdk的支持才能運行。然后在 http://www.jboss.org網站上下載一個jboss的發行版(我下載的是jboss-3.2.6.zip),在本文中我使用的其穩定的發行版JBOSS3.2.6 (集成了tomcat4.1),需要附帶一句的是tomcat是apache基金會旗下著名的開源jsp/servlet服務器,如果要更多的了解tomcat,請訪問http://jakarta.apache.org 以獲得更詳細的信息。

  當你把jboss-3.2.6.zip下載之后,下一步就是將它解壓縮,如果你是在windows上,可以用winzip或winrar;如果是在linux下,就用unzip命令,以我自己為例,假設我將它解壓到了如下目錄

c:\ jboss-3.2.6

  相對于weblogic,websphere等j2ee服務器來說,JBOSS的啟動是簡單得出乎意料,如果你是windows用戶,只需要進入c:\ jboss-3.2.6\bin下面,輸入run.bat命令,JBOSS就跑起來啦;如果是linux用戶的話,只需要進入c:\ jboss-3.2.6\bin下面,輸入run.sh,那么JBOSS也同樣運行。怎么樣?是挺簡單的吧?
當你輸入run.bat或run.sh后,你會發現屏幕上會不斷地滾動一些提示信息,過大約1分鐘之后(依賴于你機器的配置,我的是P4 1.7G,128M),提示信息就會停止滾動。(注意:如果你是在windows下,那么請讓這個DOS窗口一直保持這種狀態,千萬不可將其中止!)等到它自己停止。
這樣,JBOSS就已經處于運行狀態了。和其它J2EE服務器一樣,JBOSS也提供了一個WEB方式控制臺,使用方法是在IE瀏覽器中輸入http://127.0.0.1:8080/web-console/,看見歡迎界面,就成功了。
編寫第一個EJB:”hello,world”

  下面我們正式開始EJB編程。在編寫我們的第一個EJB之前,你應該對EJB有一個大致的了解,如果沒有的話,建議你先到網上找一些這方面的文章來看,否則你將無法理解下面要講述的內容。

  遠程接口

  遠程接口是指對于客戶端而言所能看到了調用接口

//HelloWorld.java
package?sample;
/*這是一個遠程接口,客戶端調用這個接口來使真正的ejb工作*/
public?interface?HelloWorld?extends?javax.ejb.EJBObject
{
 
public?String?hello()?throws?java.rmi.RemoteException;
}
?

  Home接口

  我們可以把Home接口看做是一個制造EJB的工廠,Home接口告訴EJB容器:“嗨,我的客戶要我生成一個EJB,現在我把這個任務交給你啦!”

//HelloWorldHome.java
package?sample;
/*Home接口告訴EJB容器怎樣生成或銷毀EJB的實例*/
public?interface?HelloWorldHome?extends?javax.ejb.EJBHome
{
 HelloWorld?create()?
throws?java.rmi.RemoteException,javax.ejb.CreateException;
}
?

  EJB的實現

  這里才是真正的EJB的實現

//HelloWorldBean.java
package?sample;
import?javax.ejb.SessionContext;
/*這個類具體實現的遠程接口HelloWorld*/
pubic?
class?HelloWorldBean?implements?javax.ejb.SessionBean
{
 
private?SessionContext?ctx;
 
public?void?setSessionContext(SessionContext?ctx)
 
{
  
this.ctx?=?ctx;
 }

 pubic?
void?ejbRemove()
 
{
  System.out.println(“ejbRemove()”);
 }

 
public?void?ejbActivate()
 
{
  System.out.println(“ejbActivate()”);
 }

 
public?void?ejbPassivate()
 
{
  System.out.println(“ejbPassivate()”);
 }

 
/*hello方法是實際的業務邏輯,它可以在客戶端顯示“hello,world”這個字符串*/
 
public?String?hello()
 
{
  System.out.println(“hello()”);
  
return?“hello,world”;
 }

}
?

  好了,這個會話EJB的全部代碼編寫完畢,下一步我們要做的是編寫它的部署文件:

  ejb-jar.xml
<?xml?version="1.0"?encoding="UTF-8"?>
<ejb-jar>
 
<description>JBoss?Hello?World?Application</description>
 
<display-name>Hello?World?EJB</display-name>
 
<enterprise-beans>
 
<session>
  
<ejb-name>Hello</ejb-name>
  
<home>sample.HelloHome</home>
  
<remote>sample.Hello</remote>
  
<ejb-class>sample.HelloBean</ejb-class>
  
<session-type>Stateless</session-type>
  
<transaction-type>Bean</transaction-type>
 
</session>
</enterprise-beans>
</ejb-jar>?

這樣我們就完成了一個簡單的會話EJB的編寫,但其實JBOSS還提供了一個額外的配置文件:JBoss.xml,利用它可以對JBOSS服務器進行更多的定制,但由于本例實在是太簡單了,因此我們可以將它省略不寫。

  雖然我們完成了這個會話EJB的編寫,但還有最后的一步工作要做:打包。首先我們進入當前項目的根目錄:

cd F:\project\jboss-tutorial

  然后執行jar命令將所有的類及ejb-jar.xml打包:

jar cf HelloWorld.jar sample META-INF

  這時你會發現,在當前目錄下多了一個名為HelloWorld.jar的文件,這就是我們的最終成品。

  部署我們的EJB

  部署EJB在JBOSS中是一件非常容易的事,你只需簡單將HelloWorld.jar拷貝到c:\ jboss-3.2.6\server\default\deploy目錄下就可以了。

 這時,你可以切換到JBOSS運行的那個DOS窗口下,你會發現屏幕上會新出現如下提示信息:

15:09:21,184 INFO [MainDeployer] Starting deployment of
package: file:/F:/jboss
-3.2.3/server/default/deploy/HelloWorld.jar
15:09:21,324 INFO [EjbModule] Creating
15:09:21,354 INFO [EjbModule] Deploying HelloWorld
15:09:21,464 INFO [EjbModule] Created
15:09:21,484 INFO [EjbModule] Starting
15:09:21,555 INFO [EjbModule] Started
15:09:21,555 INFO [MainDeployer] Successfully completed
deployment of package: file:/F:/jboss-3.2.6/server/default/deploy/HelloWorld.jar

  客戶端代碼

  如果沒有客戶端代碼的話,那么EJB對我們來說幾乎毫無用處。以下我們將編寫客戶端代碼來調用這個HelloWorld。

  如果你在同一臺機器上運行客戶端代碼和JBOSS服務器的話,那以下代碼無須任何修改就可以運行,但你的客戶端在另一臺機器上運行的話,那你要將源碼中的相應行改變一下:

/*以下是客戶端源碼中需要修改的行*/
env.put(Context.PROVIDER_URL, "localhost:1099");

  假設EJB部署在一臺IP地址為192.168.0.1的機器上,那么就應該將以上源碼改為如下:

/*以下是客戶端源碼中修改后的行*/
env.put(Context.PROVIDER_URL, "192.168.0.1:1099");

/*HelloWorldClient.java*/
package?sample;
import?javax.naming.Context;
import?javax.naming.InitialContext;
import?java.util.Hashtable;
public?class?HelloWorldClient
{
 
public?static?void?main(?String?[]?args?)
 
{
  Hashtable?env?
=?new?Hashtable();
  env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
  env.put(Context.PROVIDER_URL,?
"localhost:1099");
  env.put(
"java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
  
try
  
{
   Context?ctx?
=?new?InitialContext(env);
   Object?obj?
=?ctx.lookup(?"HelloWorld"?);
   HelloWorldHome?home?
=(HelloWorldHome)javax.rmi.PortableRemoteObject.narrow(
obj,?HelloWorldHome.
class?);
   HelloWorld?helloWorld?
=?home.create();
   System.out.println(?helloWorld.hello());
   helloWorld.remove();
  }

  
catch?(?Exception?e?)
  
{
   e.printStackTrace();
   System.out.println(?
"Exception:?"?+?e.getMessage()?);
  }

 }

}
?
 好了,下面我就就可以編譯并運行這個客戶端了,如果你在編譯的時候JVM報告找不到某些類的話,則可能是你沒有將j2ee.jar這個包放在CLASSPATH這個路徑變量中。客戶端的執行結果雖然只是簡單的在屏幕上打印一行“hello,world”,但它是來自于另一個世界
——JBOSS的聲音!

實例代碼下載

甘先生 2006-04-10 17:38 發表評論
]]>
在C4-1.7G 256M配置上安裝Redhat Linux EL3安裝Oracle 10G R2 http://m.tkk7.com/gump/articles/34529.html甘先生甘先生Thu, 09 Mar 2006 10:53:00 GMThttp://m.tkk7.com/gump/articles/34529.htmlhttp://m.tkk7.com/gump/comments/34529.htmlhttp://m.tkk7.com/gump/articles/34529.html#Feedback1http://m.tkk7.com/gump/comments/commentRss/34529.htmlhttp://m.tkk7.com/gump/services/trackbacks/34529.htmlCPU: C4-1.7G
內存:256M
硬盤:40G空了10G給Linux

OS: Redhat Linux EL3
Broswer: FireFox+Opera
QQ: LumaQQ
JDK: Sun JDK 1.5
java IDE: Eclipse3.12+MyEclipse4.
Media Player: XMMS+ Realplayer
Input Mothod: Fcitx
Database: Oracle10G2R+Mysql5
Webserver: Apache
Other: PHP,Tomcat5

安裝Oracle最麻煩,我參考了OTN的一篇文章。
http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html

下面是部分截圖:


點擊圖片查看原圖。




甘先生 2006-03-09 18:53 發表評論
]]>
(轉)使用Java Servlet動態生成圖片http://m.tkk7.com/gump/articles/28779.html甘先生甘先生Fri, 20 Jan 2006 06:37:00 GMThttp://m.tkk7.com/gump/articles/28779.htmlhttp://m.tkk7.com/gump/comments/28779.htmlhttp://m.tkk7.com/gump/articles/28779.html#Feedback0http://m.tkk7.com/gump/comments/commentRss/28779.htmlhttp://m.tkk7.com/gump/services/trackbacks/28779.html在Web應用中,經常需要動態生成圖片,比如實時股市行情,各種統計圖等等,這種情況下,圖片只能在服務器內存中動態生成并發送給用戶,然后在瀏覽器中顯示出來。

  本質上,瀏覽器向服務器請求靜態圖片如jpeg時,服務器返回的仍然是標準的http響應,只不過http頭的contentType不是text/html,而是image/jpeg而已,因此,我們在Servlet中只要設置好contentType,然后發送圖像的數據流,瀏覽器就能正確解析并顯示出圖片。

  在Java中,java.awt和java.awt.image包提供了基本的繪制圖像的能力,我們可以在內存中繪制好需要的圖形,然后編碼成jpeg或其他圖像格式,最后發送相應給瀏覽器即可。下面是使用Servlet動態創建圖像的詳細步驟:

  1.創建BufferedImage對象,該對象存在內存中,負責保存繪制的圖像;

  2.創建Graphics2D對象,該對象負責繪制所需的圖像;

  3.當繪制完成后,調用com.sun.image.codec.jpeg包的JPEG編碼器對其編碼;

  4.最后將編碼后的數據輸出至HttpResponse即可。

  注意com.sun.image.codec.jpeg包位于JDK目錄的rt.jar包中,它不是公開的API,需要將rt.jar復制到web應用程序的WEB-INF/lib下。

  我們先創建一個最簡單的Servlet:

public class CreateImageServlet extends HttpServlet {
 
protected void doGet(HttpServletRequest request, HttpServletResponse response)
 
throws ServletException, IOException
 
{
  response.setContentType(
"image/jpeg");
 }

}

 我們首先設置了response的contentType為image/jpeg,這樣瀏覽器就可以正確識別。

  然后,創建一個大小為100x100的BufferedImage對象,準備繪圖:

int width = 100;
int height = 100;
BufferedImage bi 
= new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

接著,BufferedImage對象中獲取Graphics2D對象并繪圖:
Graphics2D g = bi.createGraphics(); // 創建Graphics2D對象
// 填充背景為白色:
g.setBackground(Color.BLUE);
g.clearRect(
00, width, height);
// 設置前景色:
g.setColor(Color.RED);
// 開始繪圖:
g.drawLine(009999); // 繪制一條直線
// 繪圖完成,釋放資源:
g.dispose();
bi.flush();
 然后,對BufferedImage進行JPEG編碼:
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param 
= encoder.getDefaultJPEGEncodeParam(bi);
param.setQuality(
1.0ffalse);
encoder.setJPEGEncodeParam(param);
try {
 encoder.encode(bi);
}

catch(IOException ioe) {
 ioe.printStackTrace();
}

 編碼后的JPEG圖像直接輸出到了out對象中,我們只要傳入response. getOutputStream()就可以直接輸出到HttpResponse中。

  下面是完整的代碼:

package com.crackj2ee.web.util;

import java.io.*;
import java.awt.*;
import java.awt.image.*;

import javax.servlet.*;
import javax.servlet.http.*;

import com.sun.image.codec.jpeg.*;

/**
@author Liao Xue Feng
*/

public class CreateImageServlet extends HttpServlet {

 
protected void doGet(HttpServletRequest request, HttpServletResponse response)
 
throws ServletException, IOException
 
{
  response.setContentType(
"image/jpeg");
  createImage(response.getOutputStream());
 }


 
private void createImage(OutputStream out) {
  
int width = 100;
  
int height = 100;
  BufferedImage bi 
= new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
  Graphics2D g 
= bi.createGraphics();
  
// set background:
  g.setBackground(Color.BLUE);
  g.clearRect(
00, width, height);
  
// set fore color:
  g.setColor(Color.RED);
  
// start draw:
  g.drawLine(0099199);
  
// end draw:
  g.dispose();
  bi.flush();
  
// encode:
  JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
  JPEGEncodeParam param 
= encoder.getDefaultJPEGEncodeParam(bi);
  param.setQuality(
1.0ffalse);
  encoder.setJPEGEncodeParam(param);
  
try {
   encoder.encode(bi);
  }

  
catch(IOException ioe) {
   ioe.printStackTrace();
  }

 }

}

 最后將這個Servlet編譯,注冊到web.xml中,映射路徑為/CreateImage,寫一個簡單的index.html測試:

<html><head></head>
<body>
<img src="CreateImage">
</body></html>


如能正確顯示,大功告成!



甘先生 2006-01-20 14:37 發表評論
]]>
(轉)SCJP 1.4 考試的詳細介紹http://m.tkk7.com/gump/articles/28777.html甘先生甘先生Fri, 20 Jan 2006 06:02:00 GMThttp://m.tkk7.com/gump/articles/28777.htmlhttp://m.tkk7.com/gump/comments/28777.htmlhttp://m.tkk7.com/gump/articles/28777.html#Feedback0http://m.tkk7.com/gump/comments/commentRss/28777.htmlhttp://m.tkk7.com/gump/services/trackbacks/28777.html SCJP 1.4 考試是 Sun Microsystems 推出的系列 Java 認證考試中的第一個,對于眾多程序員來說,它是成為優秀 Java 開發人員的第一步。

該考試測試 Java 的基礎知識并需要對該語言的語法和語義有深入理解。

  1.參加培訓或自學Java經典課程。如果有C語言和面向對象的基礎,只需自學SL275課程以及JDK1.4API,否則應該參加相應的培訓班進行學習。我對C語言和面向對象都有一些基礎,同時又參加了SL275+Weblogic+JSP課程的學習。

  2.確定考試版本,明確考查的知識點及知識點的考查難度。目前SCJP考試有兩個版本1.2和1.4,兩個版本的比較如下表:

  其中選擇題有兩種形式:(1)給出一段代碼讓選擇其運行結果;(2)給出關于某基本概念的一些描述語句讓選擇正確的答案。填空題一般是給出一段正確的代碼,不提供選擇項,而讓你填寫上運行結果。

  兩個版本考查的知識點最大的差別在于310-025包含I/O、AWT,且對各個知識點的考查難度相對較容易,而310-035中去掉了I/O和AWT部分的內容,但增加了對Assertion的考查,同時對Wrapper classes、Collections、hashcode( )和equals( )考查的難度有所加大。所以要根據自己的情況選擇合適的版本。我在復習時覺得I/O這一部分的內容較多且不好記憶,就選擇了310-035,這個版本較難,也是對自己的一個挑戰。

  3.根據考查的知識點做練習題。由于認證考試是以試題的形式來考查對知識點的掌握情況,所以多做題是通過考試的最有效方法之一,通過對SL275課程系統的學習,掌握了有關知識點的基礎知識以后,必須通過做題來測試自己對知識點的掌握情況,書中寫的有關知識點的內容比較概括,有時自己覺得已經掌握了這部分內容,但做題時可能會出現各式各樣的錯誤,比如在聲明main( )方法時應為public static void main( String args[ ] ){……},如果在聲明時漏寫了static,則在編譯時可以通過,而運行時會提示出錯信息;如果main( )中的參數寫string args[ ],則在編譯時會提示出錯,在考試時有類似的題目,故意設一些陷阱,一不小心看似簡單的問題卻有可能失分。對于給出一段程序代碼要求選擇其運行結果的題目,最好親手調試并分析其結果。

  對考查Wrapper classes、Collections、hashcode( )和equals( )方法的題目要認真查看API文檔(Sun官方網站提供了下載的鏈接,也可以在Sun網站上在線查看)并做好筆記供以后查閱。通過做題鞏固知識點、適應考試題型、找出容易出錯的地方,同時對所學知識點也起到了查漏補缺的作用。

  4.下載相應的模擬環境進行實戰訓練,或者在線測試。知識點和題型都掌握以后,還不要急于考試,應該從網上下載一個模擬考試環境的軟件進行實戰演練。我下載了Jcertify5.0,它需在JDK1.3環境下安裝運行,該軟件可以設置考查的范圍進行practice或者test,是一個很不錯的模擬軟件,里面的題目與實際考試題目難易程度相當。

  通過該軟件可以檢驗你在規定的時間內(120分鐘)完成題目的情況及各個知識點掌握的程度,這樣就可以根據測驗結果有針對性的復習掌握的不太好的知識點,反復測驗、練習,直到自己滿意為止。

  5.考前給自己足夠的信心。通過做練習和模擬軟件測驗,對各個知識點都比較有把握以后,其實這時參加考試已經沒有問題了,要相信自己的實力,給自己加油,此時切不可再做較難的題目,我當時就犯了這樣的大忌,聽說310-035的考試比較難,目前通過的人數不多,我怕考試時的題目比我做的練習題難,在考試的前一天,又做了一套題目,共43題,通過率為僅為42%,這個結果令我很失望,也喪失了自信心,晚上做夢一直考試且考試結果很糟糕,第二天醒來頭昏腦脹,本來預約好的考試不得不往后推遲,這是沉痛的教訓。

  6.預約、考試。知名的IT認證廠商在一些大城市都有指定的考試中心,Sun認證也不例外,考試前三天到Sun指定的考試中心報名,由他們幫你注冊,除了考試做題,其他的事情你盡管交給考試中心去做就行了。

  7.考試注意事項。按預約的時間提前到達考試中心,熟悉考試環境,穩定情緒,考試中心在考場里設置有監視器,你的一舉一動都會被錄制下來,所以考試來不得半點虛假,盡早打消“打小抄”的念頭。考務人員幫你進入考試系統后,開始進行考試,考試分三個階段:

  (1)正式考試前的問卷調查,給定時間為15分,有10來個問題,給出四個選項供你選擇,主要調查你對SCJP要考查的知識點的掌握情況,如對數組、類的定義是精通、是了解但需要別人幫助還是不懂等,這部分內容的回答不影響你的考試成績,如果你讀懂問題的意思了,你可以根據自己的實際情況進行選擇,否則你盡管隨意選一個,一路Next下去,直到所有的問題做完;

  (2)正式考試,共120分鐘,選擇題在題面中注明了正確答案的數目(如:choose two),按Next做下一題,單擊exhibit按鈕查看題目提供的代碼;

  (3)題目做完后的問卷調查,同樣也不影響你的考試結果。問卷結束后緊張、激動的時刻就要到了,此時你可以查看考試結果,考試系統列出你對各個知識點答題情況的一覽表,如果你的成績超過指定的分數底線,則Result即為Pass。

  拿到考試結果通知單的一刻是令人興奮的,考后的總體感覺是SCJP認證并不像自己想象的那么難,只要你做好了充分的準備,拿到SCJP認證證書不成問題。



甘先生 2006-01-20 14:02 發表評論
]]>
(轉)強烈推薦幾個比較好的Java代碼查詢網站http://m.tkk7.com/gump/articles/28771.html甘先生甘先生Fri, 20 Jan 2006 05:44:00 GMThttp://m.tkk7.com/gump/articles/28771.htmlhttp://m.tkk7.com/gump/comments/28771.htmlhttp://m.tkk7.com/gump/articles/28771.html#Feedback3http://m.tkk7.com/gump/comments/commentRss/28771.htmlhttp://m.tkk7.com/gump/services/trackbacks/28771.html這些是我經常使用的一些Java代碼查詢網站,希望在這里能起到拋磚引玉的效果,大家群策群力,一起分享Java快樂。
 
  1. java2s  http://www.java2s.com/
   這個網站非常好,分成三大類,分別是Example、Products、 Articles,每個大類下又分別設許多小類,還有搜索功能,這樣查找起來非常方便。。比如,如果要學習SWT/JFace,只要把Example下的SWT JFace Eclipse 研究一下也就可以了。另外,這個網站還有JavaScript DHTML、 C# / C Sharp、 C / ANSI-C、 SQL / MySQL等類。總之,非常好。

  2. codeZoo http://www.codezoo.com/
   這是O'Reily旗下的,除了Java之外,還有Ruby、Python。
 
  3. Java學習源代碼檢索系統  http://www.chinaitlab.com/www/school/codesearch/index.html
   難得看見國產的,好歹也要支持一下,分類也算清楚。
 
  4. Koders  http://www.koders.com/
   是個綜合查詢的網站,不過它好像是從代碼中查找關鍵詞,包含的語言挺多的。
 
  5. Resources for Java server-side developers  http://www.java201.com/
   確切的說,它是一個資源收集的網站,代碼查詢并不多。不過它分類相當細,如Articles、Books、Examples、Extensions、Frameworks等類,你可以輸入Spring或Hibernate作為關鍵詞搜索一下看看。
 
   存貨不多,以后有了再補充。



甘先生 2006-01-20 13:44 發表評論
]]>
(轉)組建J2EE開發團隊http://m.tkk7.com/gump/articles/28768.html甘先生甘先生Fri, 20 Jan 2006 05:36:00 GMThttp://m.tkk7.com/gump/articles/28768.htmlhttp://m.tkk7.com/gump/comments/28768.htmlhttp://m.tkk7.com/gump/articles/28768.html#Feedback2http://m.tkk7.com/gump/comments/commentRss/28768.htmlhttp://m.tkk7.com/gump/services/trackbacks/28768.htmlJ2EE這種應用模型允許不同的開發人員同時進行開發的各個元素。這里闡述一下對不同層次
的設計人員,開發人員的技術要求。對以下幾個分類進行描述。
1、設計師組建團隊
2、 表現邏輯層的團隊角色
3、 業務邏輯層等團隊角色
4、 數據庫訪問層的團隊角色
團隊的組成可以根據人員的數量和系統的范圍大小。例如,不一定所有的角色都要分配,有些人可以擔當不能的角色。

******
設計師
******
在基于組件的應用系統開發中,一個或幾個人必須對這個系統的整體需求有全面的了解,比如系統的控制流程,和其他的接口等等。有些公司稱這個角色為總工程師,不管怎么叫,這個角色非常重要,他承擔協調不同開發小組之間的工作,幫助他們考慮系統這個“大圖”。

********************
表現邏輯層的團隊角色
********************

在表現層,用戶界面是動態生成的。需要如下開發人員:
1、 Java servlet 開發人員
2、 JSP 開發人員
3、 HTML 設計人員
4、 美工人員
5、 客戶端的JavaScript 開發人員
Servlet 開發人員建立表現層的邏輯,而其他人員建立表現的形式。

Java Servlet 開發人員

Servlet處理頁和頁之間的瀏覽,會話管理,簡單的輸入驗證。Servlet也將業務邏輯的元素連接起來。
Servlet開發人員必須理解一些相關事宜,HTTP請求,安全,多語言,和一些頁面元素如session, cookie,超時等等。J2EE的應用里面,servlet必須用Java來寫,Servlet可能會調用JSP, EJB, JDBC等等。因此,servlet開發人員要與應用系統的其他人員緊密合作。

JSP 開發人員

JSP開發人員與servlet開發人員密切合作來定義系統的表現層頁面。即使在復雜的開發項目里,JSP和servlet的開發人員也可能是一個人。
然而,如果一個系統中大部分Java在servlet而不是在JSP里,JSP人員就不必對Java非常熟悉。

HTML 設計人員

HTML 設計人員對HTML頁面進行優化。例如,他可能要完成以下任務:

1、保證在不同的瀏覽器中所有的頁面都能正常顯示
2、 保證低速的調制解調器訪問也不受影響
3、 對JSP設計人員的頁面進行進一步的優化

美工人員

美工人員創建圖片等等。這些圖片要能小體積,快速下載。美工與HTML頁面人員緊密合作。

客戶端的JavaScript 開發人員
使用客戶端的JavaScript有很多原因。比如,可以處理簡單的輸入驗證,不必提交給服務器,還可以讓用戶界面更生動。這個角色和servlet, JSP人員緊密合作。

********************
業務邏輯層的團隊角色
********************

業務邏輯層包含業務規則和業務實體。需要以下人員:

1、Session bean 開發人員
2、 Entity bean 開發人員

Session Bean 開發人員

Session beans包含業務處理和業務規則的邏輯。比如,一個session bean 可能設計成計算一個支票的稅率。如果一個系統面臨處理經常變化的復雜邏輯,而又大量使用session bean,結果是,session bean就需要不斷的更新。
Session bean 的開發人員一般是一個領域的專家,理解復雜的,專門領域的邏輯,還有數據驗證的規則。這個人員與servlet和entity bean開發人員緊密合作。
Session bean可能需要調用JDBC接口,和其他的EJB。無狀態的session bean系統運行的會更好一些。因為,如果計算費率是一個有狀態的session bean,系統就必須訪問一個保存bean的狀態信息的服務器。如果那個服務器恰巧出現問題,整個流程就會受阻。

Entity Bean 開發人員

Entity bean代表永久的對象,如一個數據庫中的一條記錄。Entity bean開發人員的任務是設計一個面向對象的所有業務數據的組織圖。建立面向對象的試圖意味著要將數據庫中的表(關系型的)映射成entity bean。例如,開發人員需要將客戶表,發票表,和訂單表轉換成相應的客戶,發票,和訂單對象。
一個entity bean 開發人員與session bean, Servlet開發人員密切合作,保證應用系統提供快速的,靈活的,可擴展的對業務數據的訪問。
Entity bean 可能會大量的調用JDBC接口。而entity bean 之間的調用會很少。

**********************
數據庫訪問層的團隊角色
**********************

在數據庫訪問層,開發人員需要建立關系型數據庫的ER圖,數據字典等等相關文檔。所有對數據庫的修改,訪問等等權限操作都要經過數據庫訪問層開發人員。這個角色在大部分項目中擔當DBA的角色。

團隊組建之后,就可以開始設計用戶界面。

************
設計用戶界面
************

建議從前到后開始設計應用系統。就是說,先設計用戶界面,再設計EJB,這樣效率最高。
安博公司已經做了大量的界面設計工作,以后的工作完全可以參照已有的設計。下面提一些常用的建議性問題:
1、頁面流程是什么?
2、 每個頁面上的命令按鈕是什么?
3、是否適用frame?
4、是否有公司標準的Logo,廣告條幅?
5、 在什么地方需要登錄過程?
6、 多語言的問題?
這些和設計servlet, JSP相關。



甘先生 2006-01-20 13:36 發表評論
]]>
一個Laszlo-Jspl簡單結合例子(Laszlo經過jsp讀取數據庫數據) http://m.tkk7.com/gump/articles/21610.html甘先生甘先生Mon, 28 Nov 2005 01:59:00 GMThttp://m.tkk7.com/gump/articles/21610.htmlhttp://m.tkk7.com/gump/comments/21610.htmlhttp://m.tkk7.com/gump/articles/21610.html#Feedback2http://m.tkk7.com/gump/comments/commentRss/21610.htmlhttp://m.tkk7.com/gump/services/trackbacks/21610.html  數據庫表:tblMobile.sql
建立一個簡單的測試表。
create table tblMobile (id int, name varchar(20), price decimal(10,2), image varchar(50), categoryid varchar(20)) ;
insert into tblMobile(1,'hello',200,'1.jpg','moto');



這里利用一個jsp文件生成xml文件。
phonelist.jsp



<?xml version="1.0" encoding="utf-8"?> 
<%@ page contentType="text/html;charset=utf-8"%> 
<%@ page import="java.sql.*"%> 
<phonelist> 
<% 
    String sql 
= ""
    String url 
= ""
 
    String categoryID 
= request.getParameter("categoryID"); 
     
    
try 


        Class.forName(
"org.hsqldb.jdbcDriver").newInstance();
        String URL
="jdbc:hsqldb:hsql://localhost/xdb";
        String user
="sa";
        String password
="";
        Connection conn 
= DriverManager.getConnection(URL,user,password);

        
        Statement stmt 
= conn.createStatement(); 
 
         
        String strOut 
= new String(categoryID.getBytes("ISO8859-1"), "GBK");  
 
        System.out.println(
"categoryID="+categoryID); 
        System.out.println(
"categoryID="+strOut); 
 
        sql 
= "select id, name, price, image from tblMobile where categoryid='" + strOut + "'"
        ResultSet rs 
= stmt.executeQuery(sql); 
 
        
while (rs.next())
            out.println(
"<phone id=\"" + rs.getString(1) + "\">"); 
            out.println(
"<id>" + rs.getString(1+ "</id>"); 
            out.println(
"<name>" + rs.getString(2+ "</name>"); 
            out.println(
"<price>" + rs.getString(3+ "</price>"); 
            out.println(
"<image>" + rs.getString(4+ "</image>"); 
            out.println(
"</phone>"); 
        }
 
 
        rs.close(); 
        stmt.close(); 
        conn.close(); 
 
    }
 catch (Exception e) 
        out.println(e); 
    }
 
%> 
</phonelist> 


test.lzx

<canvas height="100" width="500" >
  
<dataset name="myData" autorequest="true" type="http" src="phonelist.jsp?categoryID=moto"/>

  
<simplelayout axis="y"/>

    
<view datapath="myData:/phonelist/phone">
        
<simplelayout axis="x"/>
      
<text datapath="image/text()" /> 
      
<text datapath="name/text()" />
    
</view>

</canvas>





甘先生 2005-11-28 09:59 發表評論
]]>
主站蜘蛛池模板: 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 亚洲国产乱码最新视频| 野花高清在线电影观看免费视频| 女人让男人免费桶爽30分钟| 亚洲日本一线产区和二线产区对比| 最近免费mv在线电影| 亚洲AV永久无码精品一福利 | 好紧我太爽了视频免费国产| 亚洲人成黄网在线观看| 午夜视频免费成人| 成全在线观看免费观看大全| 亚洲日韩中文字幕无码一区| 亚洲精品国产精品乱码视色 | 午夜精品免费在线观看| 国产精品亚洲四区在线观看| 亚洲精品高清在线| 欧美a级成人网站免费| 国产精品综合专区中文字幕免费播放| 免费观看国产精品| 最近免费中文字幕mv电影| 一级毛片**免费看试看20分钟| 免费一区二区视频| 精品福利一区二区三区免费视频| 亚洲av中文无码乱人伦在线播放 | 亚洲欧洲日产国码无码久久99| 深夜久久AAAAA级毛片免费看| 四虎永久免费观看| 免费视频爱爱太爽了| 国产福利免费视频| 激情小说亚洲色图| 亚洲av乱码一区二区三区香蕉| 国产曰批免费视频播放免费s| 亚洲永久在线观看| 久久亚洲私人国产精品vA| 亚洲精品国产va在线观看蜜芽| 一级特黄录像免费播放肥| 亚洲国产精品日韩av不卡在线| 免费高清小黄站在线观看| 爱情岛论坛网亚洲品质自拍| 免费一本色道久久一区| 99re6在线精品视频免费播放|