需求描述

我們有時候需要閱讀查詢某個系統功能是怎么實現的,以達到更了解這個系統某一操作的具體實現原理,幫助我們快速理解程序和快速調試。

系統是采用傳統的架構Struts2+Spring+ hibernate+ibaits實現開發的,部署在tomcat5上。jdk是1.6。

我們應該要怎樣快速能夠實現這樣的需求呢?

思路是:url --> jsp --> strusts --> action --> java 具體的方法

一、登錄系統,查找該功能的url鏈接

首先登陸系統,http://ip:8080/mps_voice/login.do

選中需要查看功能的菜單,右鍵,屬性

可以看到地址為:

http://ip:8080/mps_voice/international/pricing/hubbingrateimport/rateImp_to.do

二、我們根據這個地址在源碼中找到相對應的jsp

rateImp.jsp的源碼:

打開rateImp.jsp,根據前臺界面,我們找到導入的具體的操作

在rateImp.jsp的js部分,我們找到該方法:

然后我們查找reateSave.do對應的action,在myeclipse中ctrl+H打開查找,

我們找到reateSave.do對應的action的struts的配置文件struts-pricing.xml

配置文件struts-pricing.xml

我們打開這個文件,查找reateSave

可以看到對應的action為:

aicu.application.mps.voice.international.web.pricing.hubbingrateimport.rateSaveAction

方法為:saveRate

rateSaveAction.java文件

我們打開這個Java文件,查找saveRate

分析這一部分,

List rateLink = (List)this.getRequest().getSession().getAttribute("rateLink");

從Session中獲取已經獲取到獲取到的信息

我們把光標定在rateSaveProxy.rateSave的rateSave中,ctrl+T跳到RateSaveProxyImpl

RateSaveProxyImpl.java文件

打開這個文件,查找rateSave方法

看到具體的操作都在這里面操作了。