การใช้ Caching ใน Struts
posted on 11 Mar 2005 11:40 by somkiatเมื่อเราต้องการทำให้ application สามารถทำงานได้รวดเร็วยิ่งขึ้น หนึ่งในวิธีการที่สามารถจะทำได้คือการใช้ Caching Solution ครับ ดังนั้นเรามาดูกันว่าจะใช้ Caching ร่วมกับ Struts กันอย่างไร เนื่องจาก Struts เป้น web frameowrk ที่มีความนิยมใช้กันมากที่สุดครับ
ขั้นตอนการทำนั้นมี 2 ขั้นตอนคือ
1. สร้าง Plug-in สำหรับการทำ Caching ซึ่งจะต้อง implemet ด้วย interface com.apache.struts.action.PlugIn ครับ
2. ทำการ register plug-in ที่สร้างขึ้นมาใน struts-config.xml
มาดูรายละเอียดกันว่าทำอย่างไร
1. สร้าง plug-in
import java.util.List; import javax.servlet.ServletException; import org.apache.struts.action.ActionServlet; import org.apache.struts.action.PlugIn; import org.apache.struts.config.ModuleConfig; public class ApplicationPlugIn implements PlugIn { private int count = 0; private String keyName = null; private List data= null; public ApplicationPlugIn() { super(); } public void setCount(int count) { this.count = count; } public void setKeyName(String keyName) { this.keyName = keyName; } public void destroy() { } public void init(ActionServlet servlet, ModuleConfig config) throws ServletException { //ดึงข้อมูลจาก database มาเก็บไว้โดยเท่ากับ count data = getSomeDataFromDatabase(count); //เก็บข้อมูลไว้ใน Context Scope servlet.getServletContext().setAttribute(keyName, cities); } } |
2. Register plug-in ใน struts-config.xml ดังนี้
<plug-in className="com.strutsrecipes.plugin.plugins.ApplicationPlugIn"> <set-property property="keyName" value="datatest"/> <set-property property="count" value="35"/> </plug-in> |
จากตัวอย่างถ้าเก็บข้อมูลใน list data เป็น
Class SearchBean { String id; String name; //getter and setter method } |
ดังนั้นเราสามารถนำมาแสดงผลใน jsp page ด้วย Struts-Taglib ได้ดังนี้
<table> <logic:iterate id="row" name="datatest"> <tr> <td><bean:write name="row" property="id"/></td> <td><bean:write name="row" property="name"/></td> </tr> </logic:iterate> </table> |
ลองทำตามดูนะครับ ง่ายนิดเดียวเองครับ
ไปดูต้นฉบับของ tutorial นี้ได้ที่
http://www.javalobby.org/java/forums/t17610

hello world! It is nice site. Keep working!
best regards
i found you here http://google.com ^^
#1 By marionxlx (72.237.72.77) on 2007-01-26 20:08