Spring – Hessian 远程处理
我们可以使用 HessianServiceExporter 和 HessianProxyFactoryBean 类来实现 hessian 远程服务。 Hessian 的主要优点是 Hessian 在防火墙的两侧都运行良好。 Hessian 是一种可移植的语言,可以与PHP和.Net 等其他语言一起使用。
实现:要制作一个简单的 hessian 应用程序,您需要制作以下文件:
- 计算。Java
- CalculationImpl.Java
- web.xml
- hessian-servlet.xml
- 客户端 beans.xml
- 客户。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 文件中定义。这个类需要定义两个属性。
- 服务网址
- 服务接口
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));
}
}
输出:
Note: In order to generate the above output,
- Start and deploy the project, assuming that the server is listening on port 8888. Change the serviceURL in client-beans.xml if the port number is changed.
- The Client.java file should then be compiled and run.