需求描述
我们有时候需要阅读查询某个系统功能是怎么实现的,以达到更了解这个系统某一操作的具体实现原理,帮助我们快速理解程序和快速调试。
系统是采用传统的架构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方法
看到具体的操作都在这里面操作了。