java通过amox-http发布http服务
2013-02-15 11:55
239 查看
前言
做Java也有三年了,一直想自己做个东西出来,于是第一个想到的是做一个自动生成代码的工具,在添加webService服务功能时,想到再添加一个http服务功能,但java添加http服务很麻烦,由此产生的此软件,此软件是自动生成代码工具的附属工具。
我们都知道java的web项目可以对外发布webService服务和http服务,通过xfire只可以很方便的发布webService服务,但是java发布http服务一直不方便。通过java原生的servlet发布http服务可以方便其它平台调用,但是编程比较麻烦而且不太适合目前的j2ee的编程思想,此方式不太合适;通过spring的http-invorke发布的http服务,可以方便快速,但在客户端必须依赖spring本身才能调用,在移动平台火爆的今天许多移动平台原生支持http调用,此种http服务的发布方式显然也不合适;为达到目前j2ee的编程思想并且能方便快速用于其它平台的调用为此产生了本软件(amox-http),本软件可以方便快速的发布http服务,可以跨平台调用。
系统概述
(1) 本软件就是HTTP服务发布工具包;
(2) 主要功能使用本软件能方便快捷发布一个基于java的spring的HTTP服务。
(3) 工作原理:
a) 在web工程启动时,加载类com.amox.http.spring.HttpServiceSpringRegister(http服务注册类)中注册的serviceBeans(需要发布服务的类);加载时只会把服务类中加了@PathMapping的注解的方法发布成服务载入内存;
b) 用户请求时,拦截类com.amox.http.spring.HttpServiceSpringDispatcher拦截获取用户请求的路径,获取用户请求的路径;
c) 根据用户的请求路径匹配对应的服务,若存在对应服务则返回对应方法返回值,若不存在给出错误提示。
实践
提示:本软件是基于spring开发,所以要有spring包(非spring方式暂未提供,正在设计调用方式),本软件的核心是反射所以还要有一个核心jar包javassist.jar
1. 载入jar包(amox-http-1.7.jar)
http://download.csdn.net/detail/qi_w2006/4971419
2. 载入jar包(javassist.jar)
http://download.csdn.net/detail/qi_w2006/4971428
3. 配置web.xml如下:
<servlet>
<servlet-name>AmoXHttpServlet</servlet-name>
<servlet-class>com.amox.http.spring.HttpServiceSpringDispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AmoXHttpServlet</servlet-name>
<url-pattern>/http/*</url-pattern>
</servlet-mapping>
4. 配置spring-http.xml(此文件名为spring配置文件,可自定义需要的名称)配置文件如下:
<!-- Service层类所在的包 -->
<context:component-scan base-package="com.amox.**.bmo"/>
<!-- 需要发布服务的类 -->
<bean id="httpServiceDemo" class="com.amox.demo.httpService.HttpServiceDemoImpl"></bean>
<!-- http服务注册类 -->
<bean id="amoXHttpServiceBean" class="com.amox.http.spring.HttpServiceSpringRegister">
<property name="serviceBeans">
<list>
<ref bean="httpServiceDemo"/>
</list>
</property>
</bean>
5. 编写需要发布的服务类,如下:
public interface HttpServiceDemo {
做Java也有三年了,一直想自己做个东西出来,于是第一个想到的是做一个自动生成代码的工具,在添加webService服务功能时,想到再添加一个http服务功能,但java添加http服务很麻烦,由此产生的此软件,此软件是自动生成代码工具的附属工具。
我们都知道java的web项目可以对外发布webService服务和http服务,通过xfire只可以很方便的发布webService服务,但是java发布http服务一直不方便。通过java原生的servlet发布http服务可以方便其它平台调用,但是编程比较麻烦而且不太适合目前的j2ee的编程思想,此方式不太合适;通过spring的http-invorke发布的http服务,可以方便快速,但在客户端必须依赖spring本身才能调用,在移动平台火爆的今天许多移动平台原生支持http调用,此种http服务的发布方式显然也不合适;为达到目前j2ee的编程思想并且能方便快速用于其它平台的调用为此产生了本软件(amox-http),本软件可以方便快速的发布http服务,可以跨平台调用。
系统概述
(1) 本软件就是HTTP服务发布工具包;
(2) 主要功能使用本软件能方便快捷发布一个基于java的spring的HTTP服务。
(3) 工作原理:
a) 在web工程启动时,加载类com.amox.http.spring.HttpServiceSpringRegister(http服务注册类)中注册的serviceBeans(需要发布服务的类);加载时只会把服务类中加了@PathMapping的注解的方法发布成服务载入内存;
b) 用户请求时,拦截类com.amox.http.spring.HttpServiceSpringDispatcher拦截获取用户请求的路径,获取用户请求的路径;
c) 根据用户的请求路径匹配对应的服务,若存在对应服务则返回对应方法返回值,若不存在给出错误提示。
实践
提示:本软件是基于spring开发,所以要有spring包(非spring方式暂未提供,正在设计调用方式),本软件的核心是反射所以还要有一个核心jar包javassist.jar
1. 载入jar包(amox-http-1.7.jar)
http://download.csdn.net/detail/qi_w2006/4971419
2. 载入jar包(javassist.jar)
http://download.csdn.net/detail/qi_w2006/4971428
3. 配置web.xml如下:
<servlet>
<servlet-name>AmoXHttpServlet</servlet-name>
<servlet-class>com.amox.http.spring.HttpServiceSpringDispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AmoXHttpServlet</servlet-name>
<url-pattern>/http/*</url-pattern>
</servlet-mapping>
4. 配置spring-http.xml(此文件名为spring配置文件,可自定义需要的名称)配置文件如下:
<!-- Service层类所在的包 -->
<context:component-scan base-package="com.amox.**.bmo"/>
<!-- 需要发布服务的类 -->
<bean id="httpServiceDemo" class="com.amox.demo.httpService.HttpServiceDemoImpl"></bean>
<!-- http服务注册类 -->
<bean id="amoXHttpServiceBean" class="com.amox.http.spring.HttpServiceSpringRegister">
<property name="serviceBeans">
<list>
<ref bean="httpServiceDemo"/>
</list>
</property>
</bean>
5. 编写需要发布的服务类,如下:
public interface HttpServiceDemo {
相关文章推荐
- 通过Java代码自动发布Geoserver的地图服务WMS
- .net通过WCF调用java发布的服务,获取数据
- 通过原生的java Http请求soap发布接口
- java通过http调用服务
- 使用Java创建rest 服务 通过HTTP请求访问资源
- 关于通过JAVA的HTTP POST请求传输XML型数据
- Java通过Jolt调用Tuxedo服务-补充说明
- 通过http远程调用服务
- java通过http下载文件
- 通过ArcMap发布服务
- 通过ISA发布内网FTP服务
- Java客户端通过Http发送POST请求上传文件到web服务器
- 通过 Jersey Http请求头,Http响应头,客户端 API 调用 REST 风格的 Web 服务
- 通过分析 JDK 源代码研究 TreeMap 红黑树算法实现 refer from http://www.ibm.com/developerworks/cn/java/j-lo-tree/index.html?ca=drs-
- geoserver 通过代码实现发布地图服务
- JAVA通过访问页面中的URL实现Http文件下载到本地
- JAVA项目中发布WebService服务—简单实例
- Http调用接口,并通过java类存储
- 通过HttpListener实现简单的Http服务
- Android(或者Java)通过HttpUrlConnection向SpringMVC请求数据(数据绑定)