返回

提问 添加收藏

分析一个系统的调用链路,卡在Ajax访问一个url,系统运行正常,但该url中的.service路由在代码中找不到,是经过了过滤变型吗?

NaviaJin 发布于 2019年06月12日 (共有0个回帖)

首先,系统是运行正常的,我分析的是新增的链路,在Ajax调用后台路由的时候,指定的url中的路由在源码中搜索不到。

 

点击“保存”按钮,调用

asynExecute(false, "tcmp.pm.factor.saveFactorTemp", params, succ, fail);

该方法实现

function asynExecute(j,f,c,i,a,b){ //f:url c:params i:succ a:fail
    var e="";
    if(j){
        e=ctxPath+"/"+f+".do"
    }else{
        e=ctxPath+"/"+f+".service" //"/ABS/tcmp.pm.factor.saveFactorTemp.service"
    }
    if(!Ext.isFunction(i)){
        i=Ext.emptyFn
    }
    if(!Ext.isFunction(a)){
        a=Ext.emptyFn}var g=[];
        var d=Ext.type(c);
        if("array"==d){
            g=convertArrayToObject(c)
        }else{
            g=c
        }
    Ext.Ajax.request({
        url:e,
        loadMaskMsg:b,
        success:function(l,m){
                var k={};
                try{
                    k=Ext.decode(l.responseText)
                }catch(n){
                    
                }
                i(k,m)
            },
        failure:function(l,m){
            var k={};
            try{
                k=Ext.decode(l.responseText)
                }catch(n){}
                a(k,m)},
        params:g
    })
}

可以看到url地址为:"/ABS/tcmp.pm.factor.saveFactorTemp.service"

但是该路由在源码中搜索不到。

有什么方法可以改变该路由达到访问其他路由的目的吗?

我该怎么继续分析呢?

另外我将web.xml中的对*.service的处理的filter和servlet都找到了,看是否对路由进行了改动?这应该是一种可能性吧?还有什么其他方法吗?

 

JavajQuery
文明上网,理性发言
客户端 Android iPhone WP7