1 创建项目
利用Maven创建多模块项目。项目名称为hessian-easy,项目有两个模块,为hessian-easy-api和hessian-easy- server。hessian-easy-api模块为jar工程,存放对外发布的接口;hessan-easy-server模块为war工程,存放业务逻辑的实现。接下来将用 eclipse辅助创建Maven多模块项目。从创建主项目开始。
1.1 创建主项目
1.1.1 创建过程
选择Maven Project。
1.2 创建模块hessian-easy-api
1.2.1 创建过程
选择Maven Module。
选择Create a simple project。自己定义项目信息,包括项目坐标。
packaging选择jar。
点击Finish,创建模块完成。
1.2.2 pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.mahz</groupId>
<artifactId>hessian-easy</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>hessian-easy-api</artifactId>
</project>
1.3 创建模块hessian-easy-server
1.3.1 创建过程
此模块为war工程,为了免去创建项目骨架的麻烦,我们选择让eclipse自动生成war工程。因此不选择Create a simple project。
选择maven-archetype-webapp。
点击Finish,创建模块完成。
1.3.2 pom.xml
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.mahz</groupId>
<artifactId>hessian-easy</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>hessian-easy-server</artifactId>
<packaging>war</packaging>
<name>hessian-easy-server Maven Webapp</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.caucho</groupId>
<artifactId>hessian</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.mahz</groupId>
<artifactId>hessian-easy-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>hessian-easy-server</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.12.v20130726</version>
</plugin>
</plugins>
</build>
</project>
1.4 创建hessian客户端
此工程为hession客户端,并且是普通的Java工程。我大费周章用Maven构建的目的,是为了方便依赖管理,不需要去官网下载各类开源jar。
1.4.1 创建过程
跟之前一样,我们还是自己手动填写项目基本信息。
填写项目坐标信息。
点击Finish,创建项目完成。
1.4.2 pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.mahz</groupId>
<artifactId>hessian-easy-client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>hessian-easy-client</name>
<dependencies>
<dependency>
<groupId>org.mahz</groupId>
<artifactId>hessian-easy-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.caucho</groupId>
<artifactId>hessian</artifactId>
<version>3.1.3</version>
</dependency>
</dependencies>
</project>
2 创建hessian服务端
2.1 创建服务接口
在hessian-easy-api模块下创建接口,代码如下:
package org.mahz.easyhessian.api;
public interface Hello {
public String sayHello(String name);
public void printHello(String name);
}
2.2 实现服务接口
在hession-easy-server模块下实现服务接口,代码如下:
package org.mahz.easyheassin.server;
import org.mahz.easyhessian.api.Hello;
public class HelloImpl implements Hello {
public String sayHello(String name) {
return name != null ? "hello " + name : "hello hessian";
}
public void printHello(String name) {
System.out.println("hello " + name);
}
}
2.3 配置Servlet
在hession-easy-server模块下的web.xml中配置Servlet。
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>hessian</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>org.mahz.easyheassin.server.HelloImpl</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hessian</servlet-name>
<url-pattern>/hessian</url-pattern>
</servlet-mapping>
</web-app>
3 创建hessian客户端
3.1 使用HessianProxyFactory创建客户端
在hassian-easy-client项目下创建客户端,代码如下:
package org.mahz.easyhessian.client;
import java.net.MalformedURLException;
import org.mahz.easyhessian.api.Hello;
import com.caucho.hessian.client.HessianProxyFactory;
public class Client {
public static void main(String[] args) throws MalformedURLException {
String url = "http://localhost:8080/hessian";
HessianProxyFactory factory = new HessianProxyFactory();
Hello d = (Hello) factory.create(Hello.class, url);
System.out.println(d.sayHello("刘德华"));//打印从服务器端获取的字符串
d.printHello("Hessian"); //在服务器端控制台打印 "Hello Hessian"
}
}
4 运行
在主项目hessian-easy下,运行mvn clean,mvn install。构建项目。
在模块hessian-easy-server下,运行jetty:run。启动Hessian服务端。
在项目hessian-easy-client下,运行Client主程序。
在控制台中,出现hello 刘德华。即说明创建成功。
相关推荐
在本文中,我们将深入探讨如何利用Maven构建Dubbo项目,以及Dubbo的主要特性和应用场景。 首先,Maven是Java项目管理的重要工具,它通过POM(Project Object Model)文件统一管理项目的依赖、构建过程和配置信息。...
`src`目录存放源代码,而`target`目录则是Maven构建后生成的输出,包括编译后的类文件、资源文件和最终的jar包。 总的来说,这个项目涉及到的知识点包括: 1. Dubbo框架:一个高性能的Java服务框架,支持服务治理...
在本项目中,我们探索的是一个基于SpringMvc、maven、dubbo和zookeeper构建的服务端API实例。这个实例提供了一个全面的框架,用于展示如何将这些技术有效地整合在一起,以构建可扩展、高可用的分布式系统。 首先,...
模块说明 ### 1.kylin-common 通用的类,如Result,ServiceException ### 2.kylin-datasource 对datasource进行自动化配置,给指定包下的每个mapper类生成masterMapper/slaveMapper两个对象. ### 3.kylin-log4j2 使用...
maven作为项目构建工具,管理所有依赖项,确保所有模块能够正确地协同工作。而dubbo则扮演着服务治理的角色,使得不同服务之间可以相互通信,实现分布式系统的解耦。 具体到项目结构,"project"这个压缩包文件很...
本项目以"Dubbo+SpringMVC"为核心,利用Maven进行模块化管理,构建了一个高效的分布式系统。 【Dubbo详解】 Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC框架,它提供了服务注册、服务发现、负载均衡、容错...
【标题】"Dubbo+zookeeper+Maven项目22222"是一个综合性的IT教程,旨在教授如何结合这三个关键组件构建分布式服务。Dubbo是中国阿里巴巴开源的一款高性能、轻量级的服务治理框架,用于实现服务的发布、发现、调用等...
在这个"zookeeper和dubbo简单例子"中,我们将探讨如何利用Maven构建一个简单的Zookeeper和Dubbo应用。 首先,让我们深入了解一下Zookeeper。Zookeeper的核心功能包括命名服务、配置管理、集群同步、领导选举等。它...
CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在多个应用系统间实现统一的认证。在这个“CAS服务端(非原生)”项目中,开发者对标准的CAS服务端进行了改造,以...
通过这些模块的组合,Dubbo构建了一个完整的分布式服务框架,使得开发者可以高效地构建可扩展、高可用的分布式应用。理解这些模块的功能和相互关系是掌握Dubbo的关键,也是进行微服务开发的基础。
他利用Maven提高了开发效率,使用Solr减轻了数据库压力,还利用Hessian进行高效的数据传输,并用Redis作为缓存服务器。 第二个项目是快捷物流管理系统,他参与了需求分析、业务模块划分,主要负责取派员设置、区域...
通过这种方式,可以确保所有子模块共享相同的构建设置,简化项目的维护工作。 6. **文件传输优化**:在实际的文件上传和下载过程中,可能会涉及到断点续传、大文件分块传输、文件缓存等优化策略,以提高传输效率和...
构建可以通过Maven进行,首先确保Eclipse环境配置好,然后导入依赖和Dubbo源码,最后安装Hessian-lite到本地仓库以满足构建需求。 **3.1. 在Eclipse中构建** 在Eclipse中,首先导入Maven依赖,接着导入Dubbo源码...
文件名"meeting_parent"可能表示这是一个关于会议管理的父项目,包含了子模块或者模块的聚合,这通常在大型项目中常见,通过Maven或Gradle等构建工具进行模块化管理,便于代码组织和独立开发。 综上所述,这个项目...
总结来说,"dubbo demo"是一个展示如何在实际项目中运用Dubbo的实例,涵盖了Maven多模块管理、Dubbo服务端与客户端的配置、服务的启动与消费、以及Java Web应用的基本结构等内容。通过学习和实践这个示例,开发者...
- `pom.xml`: Maven构建文件,展示了项目的依赖关系和构建配置。 通过阅读和分析这些源码,开发者不仅可以了解Dubbo的内部工作原理,还能学习到如何设计和实现一个高性能的RPC框架。这对于进行毕业设计论文、开发...
Spring框架还包括数据访问/集成、Web、测试、事务管理和更多其他功能模块。Spring的模块化设计使得开发者可以根据项目需求选择性地使用。 【Dubbo框架】 Dubbo是阿里巴巴开源的一个高性能、轻量级的服务治理框架,...
Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合和面向切面编程(AOP)的特点,极大地简化了企业级应用的构建。"springJAR包"指的是包含了Spring框架所有必需组件的单一JAR文件,这使得开发者能够在...
- **项目构建(Maven)**:管理项目的依赖关系,并自动化构建过程。 - **Web 服务器(Tomcat7.0 或 Apache)**:部署并运行 Java Web 应用。 - **数据库(MySQL 服务器, Navicat 客户端)**:存储应用数据。 - **源码版本...