javaWeb 控制层互相调用的两种方案
作者:互联网
1.情景展示
在实际开发过程中,往往会存在同一个功能对应多个页面,或者多个请求对应底层代码一样,如果全部将原有代码复制一份,虽然保持了各自的独立性,但也加大了后期的维护成本,本来要干一遍的活儿,可能你现在要干多遍,所以,就有了:控制层调控制层的现实需求。
2.具体分析
控制器A调控制器B,可以最大程度的减少代码的重复;
这种方式的使用有一个前提条件,即:
按道理来讲,业务代码是要放到业务层来处理的,如果代码不规范,将业务代码放到控制层里面,就会出现这样的需求;
当然,即使是代码规范,各层职责分明,也同样存在这种特殊需求:
同样的功能,不同的请求,使用不同的请求入参和请求格式,虽然殊途同归,但是请求的表现形式不同。
3.解决方案
这里又分两种情况:
情形一:两个请求在同一个java类当中;
情形二:两个请求不在同一个java类当中。
方案一:Http请求
这里就需要在请求B中配置A的请求地址;
请求地址的构成:请求协议://IP:端口号/项目/A请求路径
前缀配置又可以分为两种方式:一种是直接在写死。
另一种是动态取值
最后,按照请求A的参数标准、格式,通过HTTP请求进行调用,并解析响应结果。
方案二:调用请求对应的方法
只要是同一项目(如果是模块化开发的话,只能是下级引用上级,上级无法访问下级),B请求都是可以直接调用A请求的请求入口(方法)。
两个请求在同一类中
如果A请求和B请求不在同一个java类,可以通过注入对象的方式,将A请求的java类注入到B请求所在类当中。
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
相关推荐:
标签:调用,java,javaWeb,代码,互相,端口号,同一个,请求 来源: https://www.cnblogs.com/Marydon20170307/p/15540300.html