SCA 之Tuscany 3 ——helloworld WebApp

  同REST的风格相对比,在使用webapp上,jsp内的java代码直接引用component进行返回值。这个和MVN的办法很不一样。

 一、布局


 二、web.xml内容,配置Tuscany监听和部署。

   



  Apache Tuscany Helloworld Sample

  
    tuscany 
    org.apache.tuscany.sca.host.webapp.TuscanyServletFilter 
  

  
    tuscany 
    /* 
  

  
      hello.jsp
  


待我们运行mvn jetty:run时,可发现在“webapp/WEB-INF/sca-contributions”内的组件被部署了:


三、Pom




   4.0.0

   
      org.apache.tuscany.sca.samples
      tuscany-samples
      2.0-SNAPSHOT
      ../../pom.xml
   

   helloworld-webapp
   2.0-SNAPSHOT

   Apache Tuscany SCA Samples Helloworld WebApp
   war

   
      ${project.version}
   

   
   
       apache.snapshots
       Apache Snapshot Repository
       http://repository.apache.org/snapshots
       false
   
   
       apache.snapshots
       Apache Snapshot Repository
       http://repository.apache.org/snapshots
       false
   

   

      
         org.apache.tuscany.sca
         tuscany-base-runtime
         ${tuscany.version}
               

      
         junit
         junit
         4.8.1
         test
      

      
         net.sourceforge.htmlunit
         htmlunit
         2.6
         test
         
             
                 xalan
                 xalan
              
                 
      

      
      
          xalan
          xalan
          2.7.0
          test
          
             
                 xml-apis
                 xml-apis
                                           
                      
        

   

    
       

          
          
            org.apache.maven.plugins
            maven-dependency-plugin
            
              
                copy
                compile
                
                  copy
                
                
                   
                     
                       org.apache.tuscany.sca.samples
                       helloworld
                       ${project.version}
                       
                       src/main/webapp/WEB-INF/sca-contributions
                     
                   
                
              
            
          

          
         
            org.apache.tuscany.sca
            tuscany-maven-plugin
            ${tuscany.version}
         

          
          
             org.mortbay.jetty
             maven-jetty-plugin
             6.1.26
             
                helloworld-webapp
                foo
                9999
             
             
                
                   start-jetty
                   process-test-classes
                   
                       run
                   
                   
                       0
                       true
                       
                          
                             8085
                          
                       
                   
                
                
                   stop-jetty
                   prepare-package
                   
                       stop
                   
                
             
          

          
          
             org.codehaus.mojo
             tomcat-maven-plugin
             1.1
          

       
    


可见其添加了Tuscany 支持、jetty支持、tomcat支持。

四、web构件定义:



    
        
        
    


我们定义了reference service来调用其他的component。

五、JSP内的调用

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca" %>




  

    

Apache Tuscany Helloworld JSP Sample

Calling HelloworldService sayHello("world") returns:

<%= service.sayHello(",Liang.") %>


六、运行结果







你可能感兴趣的:(信息技术)