设为首页 收藏本站
查看: 735|回复: 0

[经验分享] 用JSP调用以Web应用形式部署在Tomcat 5.5中的SCA服务组件的例子

[复制链接]

尚未签到

发表于 2017-2-11 07:22:34 | 显示全部楼层 |阅读模式
  Composite是部署的基本单元。在装配文件中,composite元素是根元素。
  composite元素可以包含composite、service、component、reference等其他元素,component是非常重要的元素。
  component元素可以包含0...n个Service,Reference,property 和0...1个implementation。
  实现component中的implementation的方式可以有Java、BPEL、Composite等,如下图。

  在这个例子中,就是使用Composite方式实现composite中包括的component的implementation。

  在基于Web应用的SCA服务组件的装配文件中,是这样表示composite实现component的。
  文件名为default.scdl
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
           name
="CalculatorComposite">

    
<component name="CalculatorServiceComponent">
        
<implementation.composite name="CalculatorComposite" jarLocation="lib/sample-calculator-1.0-incubator-M2.jar"/>
    
</component>
</composite>

  
在发布的web应用目录的WEB-INF中,有一个lib目录,里面保存着运行SCA应用运行需要的环境,也包括包含着当前web应用需要的代码和装配文件组成的jar包 sample-calculator-1.0-incubator-M2.jar 。这个jar包的内容就是前面举例(Tuscany SCA以独立应用方式运行的简单例子 )使用的jar包,通过default.scdl应用装配文件加载到运行环境中。
  与可独立运行的SCA服务组件不同的是,web应用服务组件环境的建立和装配过程是通过web.xml中servlet的组件listener和filter来完成的。
  web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
         xmlns
="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >

    
<display-name>Apache Tuscany Simple Webapp Sample</display-name>

    
<welcome-file-list id="WelcomeFileList">
        
<welcome-file>calc.jsp</welcome-file>
    
</welcome-file-list>

    
<filter>
        
<filter-name>TuscanyFilter</filter-name>
        
<filter-class>org.apache.tuscany.runtime.webapp.TuscanyFilter</filter-class>
    
</filter>
    
<filter-mapping>
        
<filter-name>TuscanyFilter</filter-name>
        
<url-pattern>/*</url-pattern>
    
</filter-mapping>

    
<listener>
        
<listener-class>org.apache.tuscany.runtime.webapp.TuscanyContextListener</listener-class>
    
</listener>
</web-app>

  web服务启动后,可以通过jsp访问SCA服务组件。
  calc.jsp
<%@ page import="calculator.CalculatorService" %>
<%@ page import="org.osoa.sca.CompositeContext" %>
<%@ page import="org.osoa.sca.CurrentCompositeContext" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    CompositeContext context 
= CurrentCompositeContext.getContext();
    CalculatorService calc 
= context.locateService(CalculatorService.class, "CalculatorServiceComponent");
%>
<html>
<head><title>Calculator sample</title></head>

<body>
<table>
    
<tr>
        
<th>Exdivssion</th><th>Result</th>
    
</tr>
    
<tr>
        
<td>2 + 3</td><td><%= calc.add(23%></td>
    
</tr>
    
<tr>
        
<td>3 - 2</td><td><%= calc.subtract(32%></td>
    
</tr>
</table>
</body>
</html>

  <END>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-340397-1-1.html 上篇帖子: tomcat,url中奇数个汉字乱码的解决办法 下篇帖子: Myeclipse中启动Tomcat或weblogic服务出现Transport dt_socket failed to initialize,rc=509错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表