需求描述

我们有时候需要阅读查询某个系统功能是怎么实现的,以达到更了解这个系统某一操作的具体实现原理,帮助我们快速理解程序和快速调试。

系统是采用传统的架构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方法

看到具体的操作都在这里面操作了。