📜  春天——用粗麻布进行远程处理

📅  最后修改于: 2022-05-13 01:55:07.411000             🧑  作者: Mango

春天——用粗麻布进行远程处理

Coucho可以提供 Hessian 和 Burlap。 Burlap 是基于 xml 的 Hessian 替代品。我们可以使用 BurlapServiceExporter 和 BurlapProxyFactoryBean 类来实现 burlap 的远程服务。

实现:您需要创建以下文件来创建一个简单的粗麻布应用程序:

  1. 计算。Java
  2. CalculationImpl.Java
  3. web.xml
  4. 粗麻布-servlet.xml
  5. 客户端 beans.xml
  6. 客户。Java

项目结构如下:

A. 文件:计算。Java

Java
// Java Program to illustrate Simple Interface
// Containing a Method
  
package com.geeksforgeeks;
  
// Interface
public interface Calculation {
    int cube(int number);
}


Java
// Java Program to Implement Calculation Interface
  
package com.geeksforgeeks;
  
// Class
// Implementing interface
public class CalculationImpl implements Calculation {
    
    // Method
    public int cube(int number)
    {
        // Returning cube of a number
        return number * number * number;
    }
}


XML


    
    
    burlap
    org.springframework.web.servlet.DispatcherServlet
    1

  

    burlap
    *.http

  


XML


      
    
    
    
        
        
    
  


XML


      
    
        
        
    


Java
// Java Program to Illustrate Client Class
  
package com.geeksforgeeks;
  
// Importing required classes
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
  
// Class
public class Client {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an object of ApplicationContext class
        ApplicationContext context
            = new ClassPathXmlApplicationContext(
                "client-beans.xml");
        Calculation calculation
            = (Calculation)context.getBean(
                "calculationBean");
  
        // Printing cube of a random number
        System.out.println(calculation.cube(3));
    }
}


B. 文件:CalculationImpl。Java

Java

// Java Program to Implement Calculation Interface
  
package com.geeksforgeeks;
  
// Class
// Implementing interface
public class CalculationImpl implements Calculation {
    
    // Method
    public int cube(int number)
    {
        // Returning cube of a number
        return number * number * number;
    }
}

C. 文件:web.xml

前端控制器在这个名为 DispatcherServlet 的 XML 文件中定义。任何以 .http 结尾的请求都将被路由到 DispatcherServlet。

XML



    
    
    burlap
    org.springframework.web.servlet.DispatcherServlet
    1

  

    burlap
    *.http

  

D. 文件:粗麻布-servlet.xml

它必须放在 WEB-INF 文件夹中。它必须被称为 servletname-servlet.xml。它将 CalculationImpl 和 BurlapServiceExporter 指定为 bean。

XML



      
    
    
    
        
        
    
  

E. 文件:client-beans.xml

BurlapProxyFactoryBean 的 bean 在这个 XML 文件中定义。这个类需要定义两个属性。

  1. 服务网址
  2. 服务接口

XML



      
    
        
        
    

F. 文件:客户。Java

此类获取 Calculation 的实例并调用 cube 方法。

Java

// Java Program to Illustrate Client Class
  
package com.geeksforgeeks;
  
// Importing required classes
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
  
// Class
public class Client {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an object of ApplicationContext class
        ApplicationContext context
            = new ClassPathXmlApplicationContext(
                "client-beans.xml");
        Calculation calculation
            = (Calculation)context.getBean(
                "calculationBean");
  
        // Printing cube of a random number
        System.out.println(calculation.cube(3));
    }
}

输出:

27

注意:为了运行上面的代码片段来获得输出:

  • 启动并部署项目,假设服务器正在侦听端口 8888。如果端口号发生更改,请更改 client-beans.xml 中的 serviceURL。
  • 客户端。然后应该编译并运行Java文件。