如何快速定位到系统中某一功能的具体实现

Posted zhongfengshan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何快速定位到系统中某一功能的具体实现相关的知识,希望对你有一定的参考价值。

需求描述

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

系统是采用传统的架构Struts2+Spring+ hibernate+ibaits实现开发的,部署在tomcat5上。jdk是1.6。

我们应该要怎样快速能够实现这样的需求呢?

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

一、登录系统,查找该功能的url链接

首先登陆系统,http://132.33.254.195:8080/mps_voice/login.do

技术分享图片

选中需要查看功能的菜单,右键,属性

技术分享图片

技术分享图片

可以看到地址为:

http://132.33.254.195: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方法

技术分享图片

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

以上是关于如何快速定位到系统中某一功能的具体实现的主要内容,如果未能解决你的问题,请参考以下文章

在pdf文件内怎么找到某个元件,(如电气图纸中想找到一个元件号,怎么能快速定位到某一页上?)

Mysql原理篇之索引是如何一步步实现的---上--02

JSK-27321 统计单词数字符串

iOS 实现桌面快捷方式-快速打开App功能页

统计单词数(NOIP2011 普及组第二题)

Emacs 是如何实现快速查找和定位代码的?