隨著互聯網業務爆發,企業級電子商務平台成為拓寬營銷渠道、提升品牌形象的戰略基建。本文以國內最大服務交易平台「如易網」 (routease.com) 為例,全景剖析從需求分析、技術選型、核心實現到運維體系的完整落地過程。
建設國內最大服務類交易平台與在線工作平台。詳細背景見官網 AboutUs。
| 實體 | 職責 |
|---|---|
ToTradeEntity | 交易實體核心對象 (如翻譯服務、開鎖服務) |
ServiceRequirement | 用戶服務需求資訊 |
SHOP | 中小企業/個人網店,1:N 關聯交易實體 |
USER | 合法註冊用戶資訊 |
Account | 用戶帳戶資訊 |
Message | 用戶間交流訊息 |
Credit | 交易信譽等級,提供決策參考 |
早期 Page-to-Page (JSP 1.0) 業務與頁面耦合,維護困難。Struts 引入 MVC:
ActionServlet + struts-config.xml)

Struts 核心價值:以 XML 配置替代硬編碼,環境變更無需重編譯,鬆耦合、高復用。
傳統 JDBC/ODBC 直接操作資料庫,開發者需熟悉資料庫結構。TopLink 建立 Java 物件 ↔ 資料庫表 映射,屏蔽 SQL 細節,支援快取優化,實現真正面向物件持久化。
純靜態頁面,功能級描述,無動態代碼與頁面關聯。關鍵在於將需求轉化為人機介面。
📥 原型下載
// RouteaseMappingProject.java
public RouteaseMappingProject() {
addDescriptor(buildAccountDescriptor());
addDescriptor(buildPhoneDescriptor());
// ...
}
public void applyLogin() {
DatabaseLogin login = new DatabaseLogin();
login.usePlatform(new Oracle9Platform());
login.setDriverClassName("oracle.jdbc.driver.OracleDriver");
login.setConnectionString(AppConfig.get(DB_CON_STR));
login.setUserName(AppConfig.get(DB_USER));
login.setPassword(AppConfig.get(DB_ENCRYPTED_PASSWORD));
// 連線池、批次寫入、位元組綁定等大量調優參數...
setLogin(login);
}
public Descriptor buildAccountDescriptor() {
Descriptor descriptor = new Descriptor();
descriptor.setJavaClass(com.routease.db.vo.user.Account.class);
descriptor.setAlias("Account");
DirectToFieldMapping depositMapping = new DirectToFieldMapping();
depositMapping.setAttributeName("deposit");
depositMapping.setFieldName("DEPOSIT");
descriptor.addMapping(depositMapping);
// ... 其他欄位映射
return descriptor;
}
public class SearchToTradeEntityAction extends PagingAction {
public ActionForward executeWithDataSource(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response, DataSource ds) throws Exception {
// a. 接收表單數據
String objective = PropertyUtils.getSimpleProperty(form, "objective");
String keyWords = PropertyUtils.getSimpleProperty(form, "keyWords");
// ... 省略多欄位接收
// b. 處理業務邏輯
SearchingCriteria sc = new SearchingCriteria();
sc.setCity(city); sc.setProvince(province); // ... 設定查詢條件
ToTradeEntityDAO dao = new ToTradeEntityDAO(ds);
Page result = dao.searchToTradeEntities(sc, startNumber, length);
Collection industries = dao.findIndustryDistribution(sc);
// c. 封裝結果、返回視圖
request.setAttribute(Constants.TO_TRADE_ENTITY, result);
request.setAttribute("MY_INDUSTRIES", industries);
request.setAttribute("MY_PAGE", result);
return mapping.findForward("SUCCESS_PAGE");
}
}
標準 Action 三部曲:接收 → 處理 → 返回。
涉及用戶狀態的頁面改為 JSP,用 request 屬性替換靜態文字,技術含量較低不贅述。
以技術手段替代專人值守,降低成本,中小企業極具參考價值。
多渠道蒐集行銷資料庫,程式化定期發送產品資訊,高效低成本。
J2EE + Struts + TopLink 技術框架經實戰驗證,架構穩定高效,具備高應用價值。關鍵在於:MVC 鬆耦合、ORM 物件化持久化、XML 配置驅動、靜態化加速、自動化運維 五大支柱。