📜  Spring – Hessian 远程处理

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

Spring – Hessian 远程处理

我们可以使用 HessianServiceExporter 和 HessianProxyFactoryBean 类来实现 hessian 远程服务。 Hessian 的主要优点是 Hessian 在防火墙的两侧都运行良好。 Hessian 是一种可移植的语言,可以与PHP和.Net 等其他语言一起使用。

实现:要制作一个简单的 hessian 应用程序,您需要制作以下文件:

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

项目结构如下所示:  

A. 文件:计算。Java

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


Java
// Java Program to Illustrate Implementation
// of the 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

 

    hessian
    org.springframework.web.servlet.DispatcherServlet
    1

  

    hessian
    *.http



XML


      
    
    
        
        
    


Java
package com.geeksforgeeks;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
  
public class Client 
{
    public static void main(String[] args) 
    {
        ApplicationContext context = new ClassPathXmlApplicationContext("client-beans.xml");
        Calculation calculation = (Calculation)context.getBean("calculationBean");
        System.out.println(calculation.cube(4));
    }
}


B. 文件:CalculationImpl。Java

Java

// Java Program to Illustrate Implementation
// of the 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


 

    hessian
    org.springframework.web.servlet.DispatcherServlet
    1

  

    hessian
    *.http


D. 文件:hessian-servlet.xml

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

XML



      
    
    
        
        
    

E. 文件:client-beans.xml

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

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

F. 文件:客户。Java

此类获得一个计算对象并运行多维数据集函数。

Java

package com.geeksforgeeks;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
  
public class Client 
{
    public static void main(String[] args) 
    {
        ApplicationContext context = new ClassPathXmlApplicationContext("client-beans.xml");
        Calculation calculation = (Calculation)context.getBean("calculationBean");
        System.out.println(calculation.cube(4));
    }
}

输出: