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


    需求描述

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

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

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

  • 相关阅读:
    7、shell函数
    5、shell分支
    6、shell循环
    4、shell中的test命令
    3、shell中引号
    2、shell变量
    1、建立和运行shell
    awk命令简介
    18、异步IO
    Python模块:sys
  • 原文地址:https://www.cnblogs.com/zhongfengshan/p/9520943.html
Copyright © 2020-2023  润新知