• Tomcat调用Weblogic的T3协议!!!
    简略介绍下二者:
    (一):概括介绍这两种服务器

  • WebLogic是美国bea公司出品的一个application
    server,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本WebLogic
    Server9.0是迄今为止发布的最卓越的BEA应用服务器。BEA
    WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java
    Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。完全遵循J2EE 1.4规范。
    Tomcat服务器是一个免费的开源的Web 应用服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun
    和其他一些公司及个人共同开发而成。因为Tomcat技术先进、性能稳定,运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且很重要的是她免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。而且由于开源,它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

(二) :相同点

  • WebLogic和Tomcat都是基于java的基础架构来满足实时处理需求,不同的版本与jdk版本兼容和有所不同;因为都是要和前台交互,所以他们都基于sun公司的servlet来实现的。

(三):不同点

  • 功能性:
    WebLogic更加强大。weblogic是j2ee的应用服务器(application server),包括ejb ,jsp,servlet,jms等等,全能型的。是商业软件里排名第一的容器(JSP、servlet、EJB等),并提供其他如JAVA编辑等工具,是一个综合的开发及运行环境。
    WebLogic应该是J2EE Container(Web Container + EJB Container + XXX规范)!
    Tomcat只能算Web Container,是官方指定的JSP&Servlet容器。只实现了JSP/Servlet的相关规范,不支持EJB(硬伤啊)!不过Tomcat配合jboss和apache可以实现j2ee应用服务器功能
    一般来说考虑stucts等架构tomcat就可以了,但如果考虑EJB的话,WebLogic是比较好的选择。

简略介绍二者之后,进入正题。

  • Tomcat的应用远没有Weblogic的广泛,本身没有实现ejb,esb等规范,如果要在Tomcat中调用Weblogic项目的t3协议的接口,不做其他一些操作是无法调用成功的。T3协议是weblogic容器内部使用的一种数据交互协议,tomcat并不支持。

该如何解决这个问题,有三种思路:

  • 1,在tomcat中模拟出weblogic运行的环境出来,具体的措施就是添加一个weblogic组件,即手动将weblogic目录下server/lib里的所有jar打成一个Jar包,习惯命名wlfullclient.jar.然后将该jar包扔进Tomcat项目下WEB-INF/lib文件夹中,自动添加该包到项目的classpath。
    需要注意的是并非随便一个版本的weblogic wlfullclient.jar都可以与tomcat兼容,这两者之间存在最佳适配的版本,
    根据我的项目经验:我使用的tomcat版本是7.0.62, weblogic版本是wlserver_8.3 jdk版本是1.6,这样的版本搭配运行起来没有问题。
    如果这三个版本,其中某一个或高或低,都不能形成一个很好的版本兼容,最终的结果就是无法运行。
    总结一个版本搭配的原则:以JDK的版本为基础参照,JDK 1.6版可对应Tomcat 6.0 7.0 ,weblogic版本 8.3到10.3之间的版本;
    记住一个原则 高版本的jdk要对应较高版本的Tomcat 和weblogic,低版本jdk对应低版本omcat 和weblogic。
    2,换一种思路,既然二者不能直接用T3协议进行数据交互,那么是否考虑使用第三方的组件,来撮合二者的数据交互呢,显然是可以的。
    Web Service刚好对不同容器之间进行数据交互,进行很好的协调。
    Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
    Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么,都可以相互交换数据。
    这种方案相较上一种方案,操作起来复杂一点,但由于Web Service本身奉行简单操作,所以使用起来,并不困难。一旦熟练使用webservice,基本可以解决所有不同容器,不同环境,任何协议的数据交互问题了。
    3,第三种,既然Tomcat无法实现ejb,无法用t3协议进行交互,那么是否可以考虑更换到weblogic容器,这种方法最笨,最大动干戈,但也是最具有拓展性,一劳永逸的做法。当然这要根据自己项目的情况而定,可以更换,优先选择更换容器,不能更换,那就先考虑第一种,再考虑第二种方案。

      ***本篇博客,先以介绍思路为主。后面另开博客,讲解这个过程中出现的异常,以及如何解决,附上相关jar和代码!!!***
    

关于Tomcat调用Weblogic容器Ejb T3协议相关推荐

  1. Weblogic12c T3 协议安全漏洞分析【CVE-2020-14645 CVE-2020-2883 CVE-2020-14645】

    给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 关注公众号:b1gpig信息安全,文章推送不错过 ## 前言 WebLogic是美国Oracle公司出品的一个application server ...

  2. 通过 T3 协议使用 WebLogic RMI

    http://edocs.weblogicfans.net/wls/docs92/rmi/rmi_t3.html 通过 T3 协议使用 WebLogic RMI 以下部分提供有关通过 T3 协议使用 ...

  3. 关于weblogic的t3协议

    问题描述:分行自使用BBIP以来,一直都是通过打一个tar都测试环境投产部署来进行测试,流程极其繁琐,光重启应用就得5分钟,现致力于解决此问题,通过在本地编写单元测试进行调试,但行内系统开发不像普通的 ...

  4. weblogic T3协议(附python脚本)

    前言 前段时间总结了weblogic历年来的rce漏洞,并编写了poc,这些漏洞中有好几个都要用到T3协议来发送序列化数据,所以需要用python来模拟实现t3协议,当然t3协议脚本,github上就 ...

  5. weblogic t3 协议利用与防御

    weblogic t3 协议利用与防御 原创 360-CERT [360CERT](javascript:void(0)

  6. tomcat(5)servlet容器

    [0]README 0.0)本文部分文字描述转自:"深入剖析tomcat",旨在学习 tomcat(5)servlet容器 的基础知识: 0.1)intro to servlet容 ...

  7. tomcat(5)servlet容器(lastest version)

    [0]README 0.0)本文部分文字描述转自:"深入剖析tomcat",旨在学习 tomcat(5)servlet容器 的基础知识: 0.1)intro to servlet容 ...

  8. 基于weblogic 的EJB 学习笔记-JSP教程,资料/其它

    http://www.west263.com/www/info/14655-1.htm ejb 学习笔记 1.ejb 基础知识 (1) 无状态会话bean     不保存客户机的会话状态     优点 ...

  9. ejb能调用另一个ejb吗_EJB 3词汇表

    ejb能调用另一个ejb吗 版本1.1.2,最新更新17.07.2006. 这是EJB 3中引入的新术语和概念的基本词汇表.该词汇表使诸如(IoC),按异常配置,POJO,POJI,依赖注入,可嵌入对 ...

最新文章

  1. eclipse+ADT 进行android应用签名打包详解
  2. 豆瓣读书评分 8.7 以上! 这 40 本 Python 畅销书包邮送
  3. 《MySQL 8.0.22执行器源码分析(2)解读函数 ExecuteIteratorQuery》
  4. 表示数值的字符串(有限状态自动机与搜索)
  5. MFC中五个初始类的作用
  6. cocos2d-x3.10 适配 IPV6
  7. 苹果 iPhone/iPad 第三方键盘为何没语音听写功能?真相了
  8. 从实战进阶系列之DNF脚本实战
  9. 输电线缺陷检测 计算机工程与设计,工业CT检测与计算机深度学习
  10. Project软件安装包下载project安装教程
  11. 电脑连接android手机测试,Android系统手机通过USB连接电脑上网
  12. perl中tr的用法
  13. Docker六大优势,云中部署模式、以及视频demo
  14. JSON.parse报错: Unexpected identifier
  15. Alcatel-Lucent 命令记录
  16. python写微信小程序源码示例_python实现微信小程序用户登录、模板推送
  17. 京东智能客服言犀意图体系搭建和意图识别技术介绍
  18. python的pandas库下载_pandas库下载安装-Pandas for python下载v0.25.0最新版-西西软件下载...
  19. ORACLE UGA与CGA
  20. ios 客户端IPV6网络超时等相关问题

热门文章

  1. Scrapy ip代理无响应
  2. 数据库作业:SQL练习1 - CREATE / DROP / ALTER
  3. MVC和MVVM的区别
  4. 弹性云服务器是什么,大家怎样租用云服务器才可靠?
  5. Java调用Google的翻译实例
  6. 《动手学深度学习》(PyTorch版)避坑总结 - 1 【d2lzh_pytorch模块导入方法详解及提示错误的解决方法】
  7. 《邪恶八进制技术黑皮书》The Second Edition
  8. 那些实用有趣的网站,建议低调收藏
  9. 小甲鱼python课后作业十三
  10. 网站白天or黑夜切换在重新加载时闪烁白色背景的解决思路