วันอังคารที่ 29 มกราคม พ.ศ. 2551

Config Object Cache Instances [On Websphere 6.0-6.1]

ใช้ Cache ของ Websphere น่ะครับ โดยเราจะต้องเอาค่าเข้าไปเก็บ แล้วเรียกขึ้นมาอีกทีนึงน่ะครับ

1. Object cache instances จะอยู่ที่ Resources --> Cache instances
2. เลือก New จะได้หน้าจอแบบนี้



3. แล้วก็ใน Name กับ JNDI Name (เป็นชื้อที่เราใช้เรียกจาก Project น่ัะครับ)
4. จะใช้งานได้แล้ว โดยเราจะต้องทำ Resource Reference ใน Project(Web Projectm EJB Project) ที่เราใช้เรียก โดยเป็น com.ibm.websphere.cache.DistributedMap น่ะครับ
5. ใช้งานแบบ Map เลย Put ค่าลงไปก่อนจะใช้ก็ Get เอา

วันศุกร์ที่ 25 มกราคม พ.ศ. 2551

วิธีการใช้งาน Ethereal เบื้องต้น

Ethereal เป็น โปรแกรมที่ไว้ดักจับข้อมูลใน Network ที่ผ่านเข้าออกจากเครื่องเราน่ะครับ บางทีพอเวลาเราเขียนโปรแกรมที่ต้องติดต่อกับระบบข้างนอก (เช่น การใช้ Web Service, XML Over HTTP) เราส่งข้อมูลไปครบ แต่ทำไมส่งไปฝั่งนู้นไม่ครบ ทำให้บางทีเราต้องมาตรวจสอบ Package ว่าข้อมูลที่ส่งไปจริงๆ ถูกหรือเปล่าน่ะครับ โหลดได้จาก ที่นี่ (ซึ่งเวลาเรา Install ให้เลือก Install WinPCap ด้วยนะครับ)

รูปหน้าตาโปรแกรมครับ



วิธีการใช้งานเบื้องต้น
1. เลือกว่าเราจะจับข้อมูลทางช่องทางไหน โดยดูที่ Capture --> Interfaces...
2. พอกดไปแล้ว มันจะให้เลือก ก็เลือกที่เราต้องการ (ดูง่ายๆ อันที่มีข้อมูลวิ่งน่ะครับ ก็เลือกอันนั้นเอา)
3. กด Capture เลย แล้วก็ Run Programmes ของเรา พอเสร็จก็กด Stop ก็จะได้ข้อมูลแล้วครับ แล้วก็ดูใน Package เอาก็จะรู้แล้วว่าข้อมูลที่ส่งไปถูกหรือไม่

ปล.
1. Filter ง่ายๆ ip.addr = IP ที่เราต้องการ
2. ถ้าจะดูข้อมูลคลิกขวาที่ Package แล้วเลือก Follow TCP Stream ก็จะเห็นข้อมูลที่เราส่งไปครับ

วันพฤหัสบดีที่ 24 มกราคม พ.ศ. 2551

ปัญหาการ Deploy บน Websphere 6.0 - 6.1

ปัญหาส่วนใหญ่ต้องดู SystemOut.log เอาน่ะครับ อันนี้เป็น Guidline คร่าวๆ เท่านั้น

1. ถ้าเคย Deploy แล้วได้ แต่อยู่ดีๆ พอ Deploy ใหม่แล้วไม่ได้ ลอง Export Ear File ใหม่แล้ว Deploy อีกที อาจจเป็นเพราะเวลาเรา Export มามีปัญหาน่ะครับ ลองทำซ้ำดู ก็จะได้

2. ถ้า Deploy สำเร็จ แต่ Start Application ไม่ได้ อันนี้ต้องตรวจสอบดีๆ ว่าเป็นที่อะไรน่ะครับ
  • ลองดูว่า Duplication EJB Name หรือเปล่าครับ ถ้าใช้ ก็เปลี่ยนชื่อไม่ให้ซ้ำกัน
  • Deploy EJB Project หรือยังก่อนที่จะ Export Ear File มันก็จะทำให้มีปัญหาเหมือนกัน
  • เป็นที่ Ear Project หรือเปล่า ลองตรวจดูว่า มี Web Module หรือ Module ไหนหรือเปล่าที่ Doesn't exist ใน Ear Project (เกิดกรณีที่เราเปลี่ยนชื่อ หรือลบมันทิ้งน่ะครับ)
  • ถ้ามีการเปลี่ยนชื่อ Project หรืออะไรต้องทำการ Remove ออกก่อนแล้ว Add ใหม่ ถ้าไม่ทำอาจจะทำให้ Deploy Application ไม่ได้น่ะครับ
3. ปัญหา Application ยาวเกิน 259 ตัวอักษร (เกิดใน Windows ผมไม่แน่ใจว่าบน Unix จะเป็นเปล่านะครับ) ให้เปลี่ยนชื่อ Application Exception จะประมาณ xxx too long น่ะครับ แก้ได้ดังนี้
  • ถ้าสามารถเปลี่ยนชื่อ Application ได้ก็ให้เปลี่ยนให้สั้นลงนะครับ
  • ถ้าเป็นที่ WSDL File ให้ลบทิ้ง (ปกติมันจะ Generate WSDL File มาสองที่ ที่อยู่ในลึกมากๆ หลาย Folder อันนี้ให้ลบทิ้งได้เลยครับ ส่วนที่อยู่ใน web-inf/wsdl ไม่ต้องลบครับ)
  • ถ้าทำตามข้างบนไม่ได้ให้ Create Profile ใหม่แล้วเอา Application ไปไว้ที่ตัวใหม่แทนน่ะครับ ดูวิธี Create ได้ ที่นี่

4. อันนี้สำคัญมาก ถ้าเรา Deploy Ear File ของเิิดิม โดยเปลี่ยนชื่อเป็นตัวใหม่ พยายามแก้ JNDI Name (EJB) ทั้งหมด อย่าให้ซ้ำ เพราะจะทำให้ทุก Application ที่ Deploy อยู่บน Server ใช้งานไม่ได้ ต้อง Unistall แล้ว Deploy ใหม่ทั้งหมด (ดูจาก ใน Directory installedApp จะไม่มี ข้อมูลอยู่เลย) แต่สามารถ Export ข้อมูลออกมาได้ คือ Export แล้ว Uninstall แล้วเอาตัวที่ Export มา Deploy ใหม่น่ะครับ

วันศุกร์ที่ 11 มกราคม พ.ศ. 2551

วิธีการแก้ไขปัญหาเมื่อเราไม่เจอ Class ที่เราไปเรียก On Rad 6.0

ไว้ตรวจสอบเวลาเราเล่น Application แล้วหา Class ไม่เจอน่ะครับ (Class Not found) นะครับ
1. ตรวจสอบดูที่ Ear Project (application.xml file) โดยดูดังนี้
  • ที่ Tab Deployment ตรงส่วนของ Application ให้ตรง WAR classloader policy : เป็น APPLICATION (default จะเป็น MODULE)
  • ถ้าเป็น Error จาก Class จาก Jar File ที่เพิ่มเข้ามาแบบ Add External JARS จะต้องมาเพิ่ม Library ที่ Shared Library ใน Tab Deployment ด้วย โดยจะ Add เป็น Path ของ Jar นั้นได้เลยครับ ดังรูป
  • ถ้า Class เป็นของ Java Application ที่เราทำไว้ ให้ไปดูที่ Tab Module ให้ Add ตรงที่ Project Utility JARs ครับ
  • ถ้า Class เป็นของ Web Project, EJB Project เอามาใช้สามาถ Add ได้ที่ส่วนของ Module ใน Tab Module ครับ
2. ต่อไปตรวจสอบที่ Java JAR Dependencies (โดยคลิกขวาที่ Project แล้วเลือก Properties แล้วจะมี อันนี้อยู่ครับ) ว่ามีการคลิก Project ที่เราต้องการหรือยัง (อะไรไปเรียกอะไร ก็ Config ที่ Project ที่เรียกนั้นครับ)

หมายเหตุ
  • อย่าใช้ชื่อ Class เดียวกัน Package เีดียวกัน แต่อยู่คนละ Project นะครับ เพราะ โปรแกรมจะไม่รู้ว่าดึงตัวไหนไปใช้ ทำให้สับสนได้ครับ

วิธีการแก้ไขปัญหาเมื่อเราไม่เจอ JNDI Name On RAD 6.0

เป็นวิธีการดูเป็น Step น่ะครับ ว่าควรจะตรวจสอบอะไรบ้าง ถ้ามันมีปัญหา Exception JNDI Name Not found. น่ะครับ โดย ทำดังนี้

1. ต้องตรวจสอบก่อนว่าอันไหนไปเรียก JNDI Name ตัวนั้น (Web Project, EJB Project, Project Client)
  • วิธีการตรวจสอบนั้นให้ตรวจสอบจาก SystemOut.log ดูที่เป็น Error จาก Package ของเราแล้วดูลงไปเรื่อยๆ ก็จะรู้ว่ามาจากตัวไหน
2. หลังจากนั้นก็ไปดูที่ Reference ของตัวที่เรียกว่ามีการสร้างไว้หรือยัง โดย

  • ถ้าไปเรียก EJB จะมี Config สองส่วน (อยู่ใน XML File ที่ Tab Reference)ดังรูป



    • จากรูป Name ข้างบนจะเป็น JNDI Name ที่เราใช้เรียกใน Project นั้นครับ ตรวจสอบดูว่าเขียนชื่อถูกหรือเปล่า
    • อันล่างตรง WebSphere Binding ตรงนี้คือ JNDI Name ที่ไปเรียกที่ Websphere ชื่ออะไร คือ JNDI Name ที่อยู่ใน EJB Project นั่นล่ะครับ (โดยปกติเราจะไม่ต้อง Config อันนี้จะดึงค่าจาก JNDI Name ใน EJB Project ให้เลยน่ะครับ ยกเว้นกรณีที่เรามีการแก้ไข JNDI Name ที่ EJB Project มันจะไม่ Auto แก้ให้ต้องมาแก้ไขเองน่ะครับ)

  • ถ้าไปเรียกอย่างอื่น เช่น Datasource ก็มี Config สองส่วนเหมือนกัน ดังรูป


    • ส่วนบนก็ชื่อที่เราใช้เรียกใน Project ของเรา
    • อันล่างตรง WEbsphere Binding ตรงนี้เป็นที่เราไปเรียก JNDI Name ที่ Server ครับ (อันนี้เราต้องเขียนค่าลงไปเองครับ ไม่มี Default ค่าให้)

3. หลังจากตรวจดูจากข้อสอง เสร็จแล้ว
  • ถ้าเป็น Web Project ให้ Save แล้ว Restart Application ถึงจะใช้งานได้ครับ
  • ถ้าเป็น EJB Project ให้ Deploy EJB แล้วก็จะใช้งานได้ครับ
4. หลังจากทำเสร็จแล้วควรจะไม่มีปัญหา JNDI Name Not Found แล้วนะครับ


หมายเหตุ
  • สำหรับ EJB ไปเรียก EJB ด้วยกัน ใน EJB Project เดียวกันก็ต้อง Config Reference เหมือนกันนะครับ ถึงจะเห็น
  • ทุกครั้งที่ Config พวกนี้ ถ้าเป็น EJB ต้อง Deploy ใหม่ทุกครับ สำหรับ Web Project ตั้อง Restart Application ทุกครั้ง

วันพุธที่ 9 มกราคม พ.ศ. 2551

Step By Step Create Entity Bean By Rad 6.0

1. Create EJB Project ขึ้นมาก่อน
2. สร้าง Map-Relationship โดยคลิกขวาที่ EJB Project เลือก EJB to RDB Mapping จะขึ้นหน้าต่างดังรูป


3. ทำการเลือก Create a new backend folder (กรณีที่ยังไม่ได้ทำไว้น่ะครับ ถ้าทำไว้แล้วจะมีอยู่แล้ว) แล้ว กด Next
4. เลือก Bottom-Up (ถ้าสร้างครั้งแรกก็มีให้เลือกอยู่อันเดียวอยู่แล้วครับ) แล้วกด Next
5. จะขึ้นหน้าต่างดังภาพ (ซึ่งจะเป็นการ Config DB ครับ ข้างล่างผม Config ให้ใช้กับ Oracle น่ะครับ)


6. หลังจากกด Next แล้ว จะให้เราเลือกว่าจะเอา Table ไหนบ้าง ก็เลือกที่เราต้องการได้เลยครับ แล้วกด Finish ได้เลย
7. เสร็จแล้วก็ คลิกขวา Deploy EJB ก็จะใช้งานได้แล้วครับ
8. วิธีเรียกก็เหมือนเรียก EJB ปกติครับ

หมายเหตุ
1. บางทีเราอาจจะต้อง add JNDI - CMP Connection Factory Binding ครับ คือ เป็นการ Add Adtasource Reference เข้ากับที่ Server Config ไว้น่ะครับ (สร้างเป็น XA Datasource)
2. ถ้าเราอยากเพิ่มให้ Add เป็น Model ได้ให้เพิ่ม create ที่รับเป็น Model ได้เลยครับ โดย
  1. เพิ่มที่ xxxLocalHome รับ Model ที่ต้องการ
  2. เพิ่มที่ xxxBean โดยต้องเพิ่มสองเมธอด คือ ejbCreate, ejbPostCreate
  3. เพิ่มการ set ค่าลงไปใน ejbCreate แต่ใน ejbPostCreate ไม่ต้องทำอะไรครับ

EJB Life Cycle

จดไว้เตือนความจำครับ

1. Statefull Session Bean
  1. เมื่อไม่มี --> create --> SetSessionContext --> ready --> ejbRemove --> Remove
  2. เมื่อไม่ได้ใช้งานนานๆ --> ejbPassivate จะใช้ก็ --> ejbActivate
2. Stateless Session Bean
  1. ทุกครั้งจะ create --> SetSessionContext --> ejbRemove --> Remove
3. Entity Bean
  1. ทำการ Set EntityContext --> ลง Pool --> create --> ejbCreate --> ejbPostCreate --> ready
  2. ถ้าไม่ได้ใช้เก็บลง Pool โดย ejbPassivate ถ้าจะใช้ก็ ejbActivate
  3. เมื่อยกเลิกจะไป remove --> ejbRemove --> ลง Pool --> unsetEntityContext
4. Message Driven Bean
  1. เมื่อไม่มี setMessageDrivenContext --> ready (onMessage) --> ejbRemove
อันนี้คร่าวๆ ที่จริมีละเอียดกว่านี้ ต้องอ่านตาม Reference เอาครับ อันนี้ผมจดไว้จะเขียน Process เพื่อ Handle อ่ะครับ


Reference
- http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/EJBConcepts9.html
- http://www.leocrawford.org.uk/work/jcea/part1/ejbcontainer.html

วันอังคารที่ 8 มกราคม พ.ศ. 2551

Config Hibernate ให้ใช้บน RAD 6.0 + Oracle แบบ EJB

วิธีนี้จะดีกว่าวิธีที่กลาวมก่อนแล้ว เพราะให้ EJB ควบคุม Transaction นะครับ เราไม่จำเป็นต้องเปิด ปิด มัน มันจะ ปิดให้เองโดย EJB ครับ ทำได้ดังนี้

1. ต้องเปลี่ยนเป็นใช้ .getCurrentSession() แทน openSession() ครับ ตอนเราเรียก Session มาใช้งาน
2. แก้ hibernate.cfg.xml เพื่อบอกมันว่าจะใช้ Transaction ซึ่งแต่ละ Server จะเรียกคนละชื่อกันครับ ต้องดูเอา (ผมเคยลอง Test MySQL กับ Websphere 6.0 แล้ว ใช้งานไม่ได้ครับ)

<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.WebSphereExtendedJTATransactionLookup</property>

อันนี้เป็นของ Websphere Server 6.x นะครับ ถึงจะใช้งานได้

3. แล้วเราก็จะใช้งานได้แล้ว

หมายเหตุ
1. วิธีแบบนี้มีข้อเสียคือ ต้องทำผ่าน EJB เสมอไม่ว่าจะเป็น การ Select ค่าก็ตาม
2. ต้องพยายามทำบน EJB ตัวเดียวกัน เพราะ ถ้าทำคนละตัวอาจจะมีการเรียก Insert, Update ผิดพลาดได้

Config Hibernate ให้ใช้บน RAD 6.0 + Oracle แบบธรรมดา

อันนี้เป็นแบบธรรมดา ไม่ได้ใช้ Transaction ของ Websphere ในการควบคุม (แบบนี้สามารถไปใช้ บนEclipse ได้ด้วย และ Server ไหนก็ได้ครับ) และผมใช้ Datasource ด้วย
1. สร้าง Project ขึ้นมาก่อน (Web Project + Ear Project)
2. โหลด Hibernate ที่นี่ (ที่ผมใช้เป็น Hibernate 3.2 ครับ)
3. Copy Library มาใส่ที่ Project ของเรา หรือจะทำการ Add Share Library ใน Ear Project ก็ได้
4. ทำการ สร้าง HibernateUtil ขึ้นมาเพื่อเรียกใช้งาน (โดย Copy File จาก Tutorial มาใช้ได้เลยครับ)

private static final SessionFactory sessionFactory;

static {
try {
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = new Configuration().configure("WEB-INF/hibernate.cfg.xml").buildSessionFactory(); //อันนี้ผมอ้างที่อยู่ของ File Config ว่าอยู่ที่ไหน
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}

public static SessionFactory getSessionFactory() {
return sessionFactory;// ที่เราจะเอาไปใช้งาน
}

5. ต่อไปก็สร้าง hibernate.cfg.xml ซึ่งไว้สำหรับ Config ของ Hibernate

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<!-- Database connection settings -->

<property name="hibernate.connection.datasource">jdbc/spag</property> //Config Datasource ที่เราใช้งาน

<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>

<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> //เลือกเป็น Oracle 9i

<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>

<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>

<mapping resource="com/test/hibernate/model/GeneralParamM.hbm.xml"/> //Config Table ที่เราใช้งาน

</session-factory>

</hibernate-configuration>

6. ต่อไปเราสร้าง Config ของ Table โดยผมจะสร้างไว้ที่ com.test.hibernate.model ครับชื่อ ไฟล์ GeneralParamM.hbm.xml ซึ่งพวกนี้ผม Config ไว้ใน hibernate.cfg.xml ตามบรรทัดข้างล่างสุด


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>


<class name="com.test.hibernate.model.GeneralParamM" table="GENERAL_PARAM"> //บอกว่าใช้ Class ไหน Mapping กับ Table ไหน
<id name="paramCode" column="PARAM_CODE"> //บอกว่าเป็น Primary Key
<generator class="assigned"/>//บอกว่าใช้แบบ Assign ค่าลงไปเอง
</id>
<property name="paramValue" column="PARAM_VALUE"/>
<property name="labelName" column="LABEL_NAME"/>
<property name="editableFlag" column="EDITABLE_FLAG"/>
</class>


</hibernate-mapping>

7. พอสร้างทั้งหมดเสร็จแล้ว เราก็มาลองเรียกมันดูโดย


SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session sessionHibernate = sessionFactory.openSession(); //เปิด Session ไว้ใช้งาน
Criteria criteria = sessionHibernate.createCriteria(GeneralParamM.class);
criteria.add(Restrictions.eq("paramCode",)); //ใส่ค่าที่เราต้องการหา

List result = criteria.list();

sessionFactory.close(); //ปิด Session จำเป็นต้องปิทุกครั้งนะครับ

8. พอสั่งรันเสร็จ มันก็จะดึงค่าจาก Table ขึ้นมาให้ครับ (ตรวจสอบ SystemOut.log ด้วยว่า Error หรือเปล่า) อันนี้เป็ฯแบบง่ายๆ นะครับ

หมายเหต
1. อาจจะมีปัญหาพอดึงค่าแล้วสั่งปิด ไปค่าที่ได้ไม่มาเกิด Exception นะครับ
2. ถ้าใช้วิธีนี้จะต้องปิดทุกครั้งที่เลิกใช้งาน ไม่งั้น Session จะค้าง

วันจันทร์ที่ 7 มกราคม พ.ศ. 2551

การเรียก Web Service ผ่าน Java ที่เราทำการ Generate แล้ว

วีธีในการเรียกนั้ เราสามารถที่จะเรียกผ่าน Proxy หรือ Locator ก็ได้ครับ ทำไ้ดัดังนี้

1. วิธีการเรียกผ่าน Proxy ทำดังนี้

xxxProxy proxy = xxxProxy();
proxy.setEndpoint(endpoint); //ไว้สำหรับ Set URL ของ Web Service ที่เราจะไปเรียก
proxy.process(); //เรียก Process ที่เราต้องการใช้ใน Web Service นั้น


2. เรียกผ่าน Locator ดังนี้

xxxLocator locator = new xxxLocator(); //เรียก Service Locator
xxx service = locator.getxxx(new URL("endpoint")); //เรียก Service ที่เราใช้งาน คล้ายๆ Proxy แล้ว Set URL ที่เราต้องไปเรียก
service.process(); // เรียก Process ที่เราต้องการใช้ใน Web Service นั้น

Step By Step Generate Web Service Client By Eclipse 3.3

Step By Step Generate Web Service Client By Eclipse 3.3
เป็นวิธีการสร้าง Web Service Client ไปเรียก Web Service ในกรณีที่เรามี WSDL File อยู่แล้วนะครับ

1. ขั้นแรกโหลด Eclipse 3.3 มาก่อนโหลด ที่นี่ โหลดที่เป็นสำหรับ Java EE Developers
  • สำหรับ Eclipse 3.3 จะต้องมี JRE 1.5 ขึ้นไปครับ ต้องโหลดมาลงด้วย
2. ต่อไปเรามาสร้าง Project กัน โดยผมจะสร้างเป็น Java Project โดยคลิกขวาเลือก New --> Project ดังรูป

3. เลือก Folder ที่เป็น Java จากนั้นเลือก Java Project คลิก Next จะได้หน้าต่างดังรูป


4. จากนั้นก็พิมพ์ชื่อ Project Name ลงไป (ตรวจสอบตรงช่อง JRE ว่ามี JRE หรือเปล่า ถ้าไม่มีให้ไป คลิกที่ Configuration Default) โดย
  1. เมื่อกดเข้าไปแล้ว จะได้ดังรูป

  2. ให้ทำการ Add JRE ตรงปุ่ม Add ด้านขวามือ แล้วไปหา Folder ที่เรา Install JRE ไว้ (โดยปกติจะอยู่ที่ Program Files/Java ครับ)
  3. เมื่อ Add แล้วให้ติกเครื่องหมายถูก ก็จะได้ JRE เป็น Default ของ Eclipse แล้ว
5. หลังจากคลิก FInish แล้วจะได้ Java Project มา แล้วเราก็เอา WSDL File มาวางไว้ที่ Project
6. คลิก ขวาที่ WSDL File เลือก Web Services --> Generate Client ดังรูป

7. เมื่อเลือกแล้ว จะขึ้นหน้าต่างดังรูป (ควรตรวจสอบ Web Service Runtime ให้เป็น Apache Axis กับ Client Project เป็น Java Project ที่เราสร้างไว้ และ Client Type เป็น Java Proxy)
8. คลิก Finish ได้เลย เราจะได้ Web Service Client มาไว้ใช้งานแล้ว
9. Entry ต่อไปจะเขียนวิธีการเรียกโดยใช้ File พวกนี้ครับ ดู ที่นี่

หมายเหตุ สำหรับจะเอาไปใช้กับ Java Editor ตัวอื่นให้ Copy เฉพาะ Java File ไปใช้ ก็จะใช้งานได้เลยครับเช่น บน RAD 6.0 ก็ Copy ไปใช้งานได้เลย (แ่ต่เอามา Generate Sample JSP ไม่ได้ครับ ต้องใช้ของ RAD เอง ถึงจทำได้ครับ)