`
free9277
  • 浏览: 107384 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

利用Maven构建多模块的Hessian应用

 
阅读更多

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。


    packaging选择pom。
 

 

    点击Finish创建主项目完成。

1.1.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</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>hessian-easy</name>
	<modules>
		<module>hessian-easy-api</module>
		<module>hessian-easy-server</module>
	</modules>
</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 刘德华。即说明创建成功。

 

 

  • 大小: 67.1 KB
  • 大小: 36.5 KB
  • 大小: 36.7 KB
  • 大小: 39.8 KB
  • 大小: 42.7 KB
  • 大小: 40.4 KB
  • 大小: 54.1 KB
  • 大小: 40.5 KB
  • 大小: 44.5 KB
分享到:
评论

相关推荐

    dubbo-demo-maven版

    在本文中,我们将深入探讨如何利用Maven构建Dubbo项目,以及Dubbo的主要特性和应用场景。 首先,Maven是Java项目管理的重要工具,它通过POM(Project Object Model)文件统一管理项目的依赖、构建过程和配置信息。...

    dubbo源码依赖hessian_lite.jar

    `src`目录存放源代码,而`target`目录则是Maven构建后生成的输出,包括编译后的类文件、资源文件和最终的jar包。 总的来说,这个项目涉及到的知识点包括: 1. Dubbo框架:一个高性能的Java服务框架,支持服务治理...

    SpringMvc+maven+dubbo+zookeeper的服务端api实例

    在本项目中,我们探索的是一个基于SpringMvc、maven、dubbo和zookeeper构建的服务端API实例。这个实例提供了一个全面的框架,用于展示如何将这些技术有效地整合在一起,以构建可扩展、高可用的分布式系统。 首先,...

    基于maven的springboot项目自动化搭建依赖包+源代码+文档说明

    模块说明 ### 1.kylin-common 通用的类,如Result,ServiceException ### 2.kylin-datasource 对datasource进行自动化配置,给指定包下的每个mapper类生成masterMapper/slaveMapper两个对象. ### 3.kylin-log4j2 使用...

    SpringMVC+maven+dubbo项目

    maven作为项目构建工具,管理所有依赖项,确保所有模块能够正确地协同工作。而dubbo则扮演着服务治理的角色,使得不同服务之间可以相互通信,实现分布式系统的解耦。 具体到项目结构,"project"这个压缩包文件很...

    dubbo+SpringMVC分布式项目

    本项目以"Dubbo+SpringMVC"为核心,利用Maven进行模块化管理,构建了一个高效的分布式系统。 【Dubbo详解】 Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC框架,它提供了服务注册、服务发现、负载均衡、容错...

    Dubbo+zookeeper+Maven项目22222

    【标题】"Dubbo+zookeeper+Maven项目22222"是一个综合性的IT教程,旨在教授如何结合这三个关键组件构建分布式服务。Dubbo是中国阿里巴巴开源的一款高性能、轻量级的服务治理框架,用于实现服务的发布、发现、调用等...

    zookeeper和dubbo简单例子

    在这个"zookeeper和dubbo简单例子"中,我们将探讨如何利用Maven构建一个简单的Zookeeper和Dubbo应用。 首先,让我们深入了解一下Zookeeper。Zookeeper的核心功能包括命名服务、配置管理、集群同步、领导选举等。它...

    CAS服务端(非原生)

    CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在多个应用系统间实现统一的认证。在这个“CAS服务端(非原生)”项目中,开发者对标准的CAS服务端进行了改造,以...

    Dubbo 项目结构解析1

    通过这些模块的组合,Dubbo构建了一个完整的分布式服务框架,使得开发者可以高效地构建可扩展、高可用的分布式应用。理解这些模块的功能和相互关系是掌握Dubbo的关键,也是进行微服务开发的基础。

    java工程师简历_java简历.doc

    他利用Maven提高了开发效率,使用Solr减轻了数据库压力,还利用Hessian进行高效的数据传输,并用Redis作为缓存服务器。 第二个项目是快捷物流管理系统,他参与了需求分析、业务模块划分,主要负责取派员设置、区域...

    hession实例代码(文件上传和下载)

    通过这种方式,可以确保所有子模块共享相同的构建设置,简化项目的维护工作。 6. **文件传输优化**:在实际的文件上传和下载过程中,可能会涉及到断点续传、大文件分块传输、文件缓存等优化策略,以提高传输效率和...

    dubbo入门教程

    构建可以通过Maven进行,首先确保Eclipse环境配置好,然后导入依赖和Dubbo源码,最后安装Hessian-lite到本地仓库以满足构建需求。 **3.1. 在Eclipse中构建** 在Eclipse中,首先导入Maven依赖,接着导入Dubbo源码...

    springboot+dubbo+mybatis+zookeeper+thymeleaf 项目实战框架

    文件名"meeting_parent"可能表示这是一个关于会议管理的父项目,包含了子模块或者模块的聚合,这通常在大型项目中常见,通过Maven或Gradle等构建工具进行模块化管理,便于代码组织和独立开发。 综上所述,这个项目...

    dubbo demo

    总结来说,"dubbo demo"是一个展示如何在实际项目中运用Dubbo的实例,涵盖了Maven多模块管理、Dubbo服务端与客户端的配置、服务的启动与消费、以及Java Web应用的基本结构等内容。通过学习和实践这个示例,开发者...

    Dubbo服务框架 v3.1.10.zip

    - `pom.xml`: Maven构建文件,展示了项目的依赖关系和构建配置。 通过阅读和分析这些源码,开发者不仅可以了解Dubbo的内部工作原理,还能学习到如何设计和实现一个高性能的RPC框架。这对于进行毕业设计论文、开发...

    springboot后台管理项目【完整版】.zip

    Spring框架还包括数据访问/集成、Web、测试、事务管理和更多其他功能模块。Spring的模块化设计使得开发者可以根据项目需求选择性地使用。 【Dubbo框架】 Dubbo是阿里巴巴开源的一个高性能、轻量级的服务治理框架,...

    springJAR包

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合和面向切面编程(AOP)的特点,极大地简化了企业级应用的构建。"springJAR包"指的是包含了Spring框架所有必需组件的单一JAR文件,这使得开发者能够在...

    Smart2.0 用户手册

    - **项目构建(Maven)**:管理项目的依赖关系,并自动化构建过程。 - **Web 服务器(Tomcat7.0 或 Apache)**:部署并运行 Java Web 应用。 - **数据库(MySQL 服务器, Navicat 客户端)**:存储应用数据。 - **源码版本...

Global site tag (gtag.js) - Google Analytics