目前的webservice风格,rest应该是其中一种 还有种就是soap,rest是轻量级的,越来越流行。下面举一个简单例子说明下rest的用法。

1. 准备ws的jar和spring的jar,如何要连接数据的话就自行准备这边就不提供了

下载jar地址:http://download.csdn.net/detail/taopeng_100/7827035

或者:http://pan.baidu.com/s/1qWVejtq

下载好jar之后将其放入lib下就可以了。

1. 创建个项目,名叫RestwsTest,配置spring配置文件spring-source.xml

spring-source.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://cxf.apache.org/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd">
<context:annotation-config />
<context:component-scan base-package="com.*" />
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<bean id="restSample" class="com.hoo.service.RESTSampleSource" />
<jaxrs:server id="restServiceContainer" address="/rest">
<jaxrs:serviceBeans>
<bean class="com.tp.soft.web.ws.impl.LoginServiceImpl" />
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="json" value="application/json" />
<entry key="" value="application/" />
</jaxrs:extensionMappings>
<jaxrs:languageMappings>
<entry key="en" value="en-gb"></entry>
</jaxrs:languageMappings>
<jaxrs:providers>
<bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
</jaxrs:providers>
</jaxrs:server>
</beans>

2. 配置web.xml文件

web.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>RestwsTest</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-source.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
</web-app>

3. 编写接口LoginService

LoginService.java如下:

package com.tp.soft.web.ws;

import java.util.Map;
import javax.jws.WebService; @WebService
public interface LoginService {
public abstract Map<String, Object> doLogin(String username, String password);
}

4. 编写接口的实现类LoginServiceImpl

LoginServiceImpl.java如下:

package com.tp.soft.web.ws.impl;

import java.util.HashMap;
import java.util.Map; import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType; import com.tp.soft.web.ws.LoginService; @Path("/loginService")
public class LoginServiceImpl implements LoginService {
@POST
@Path(value = "/login")
@Produces(MediaType.APPLICATION_JSON)
public Map<String, Object> doLogin(
@FormParam(value = "username") String username,
@FormParam(value = "password") String password) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("user", username + password);
return map;
}
}

此时可以在本地直接通过浏览器访问地址:http://localhost:8080/RestwsTest/ws/rest/loginService /login?username="zs"&password="123"

特别注意这边访问的是通过get的 如果要能访问就要将@POST改成@GET

4. 服务器写好了,下面就来写客服端的代码,客户端主要就是获取user对象的json,代码如下:

RestClient.java如下:

package com.tp.soft.client;

import java.io.IOException;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod; public class RestClient {
public static void main(String[] args) {
String url = "http://localhost:8080/RestwsTest/ws/rest/loginService/login";
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(url);
NameValuePair[] data = { new NameValuePair("username", "zs"),
new NameValuePair("password", "123") };
method.setRequestBody(data);
try {
int statusCode = client.executeMethod(method);
if (statusCode == 200) {
String strJson = method.getResponseBodyAsString();
System.out.println(strJson);
// System.out.println(map.get("user").getUsername());
}
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

注意上面代码里面的PostMethod,在LoginServiceImpl里面的方法必须是@POST才可以,如果是@GET或者其他会报错的。

aaarticlea/png;base64,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" alt="" />

java rest版简单的webservice的更多相关文章

  1. JAX-WS 学习一:基于java的最简单的WebService服务

    JAVA 1.6 之后,自带的JAX-WS API,这使得我们可以很方便的开发一个基于Java的WebService服务. 基于JAVA的WebService 服务 1.创建服务端WebService ...

  2. Java完成最简单的WebService创建及使用(REST方式,Jersey框架)

    前言: 一直以来都对WebService感兴趣,但因为难以理解WebService到底是什么,所以了解甚少.周二的时候有个跟我关系比较好的同事想要自己写个WebService的小Demo,希望能够做成 ...

  3. Java发布一个简单 webservice应用 并发送SOAP请求

    一.创建并发布一个简单的webservice应用 1.webservice 代码: package com.ls.demo; import javax.jws.WebMethod; import ja ...

  4. 利用Java编写简单的WebService实例

    使用Axis编写WebService比較简单,就我的理解,WebService的实现代码和编写Java代码事实上没有什么差别,主要是将哪些Java类公布为WebService. 以下是一个从编写測试样 ...

  5. 利用Java编写简单的WebService实例-转载

    使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService.下面是一个从编写测试例子到 ...

  6. eclipse安装Axis2插件和简单的webservice发布

    2019独角兽企业重金招聘Python工程师标准>>> Axis2与CXF是现在很主流的WebService开发框架(java6也已经支持了),项目上还都是基本上用前两种做开发,今天 ...

  7. Spring Security4实例(Java config 版) —— Remember-Me

    本文源码请看这里 相关文章: Spring Security4实例(Java config版)--ajax登录,自定义验证 Spring Security提供了两种remember-me的实现,一种是 ...

  8. 使用Axis2创建一个简单的WebService服务

    使用过Java进行过WebService开发都会听过或者接触过Apache Axis2,Axis2框架是应用最广泛的WebService框架之一了. 这里使用Axis2来开发和部署一个最简单的WebS ...

  9. java入门---简介&简单输出小例子&开发前准备

        Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式推出.J ...

随机推荐

  1. CPP: 跨平台生成GUID/UUID

    #ifndef XGUID_H#define XGUID_H #include <string>#include <stdio.h>#ifdef WIN32#include & ...

  2. CCEditBox用法

    1.以下是CCEditBox的相关函数和类型说明: /* 编辑框的一些函数 setText("字符串"); //设置文本 setFontColor(color); //设置文本颜色 ...

  3. 【转】iOS应用崩溃日志揭秘

    这篇文章还可以在这里找到 英语 If you're new here, you may want to subscribe to my RSS feed or follow me on Twitter ...

  4. Elasticsearch .Net Client NEST使用说明 2.x

    Elasticsearch .net client NEST使用说明 2.x Elasticsearch.Net与NEST是Elasticsearch为C#提供的一套客户端驱动,方便C#调用Elast ...

  5. 插入ts以及判断列是否存在(支持多数据库)

    1:增加ts.dr字段,先判断ts.dr字段是否存在,其中ts字段插入的是日期,默认值为当前插入的时间,dr字段是数值型,默认值为0 * 增加ts/dr字段 * * @param tableList ...

  6. 异步DNS解析的实现

    在高性能爬虫为什么使用定制DNS客户端一文中阐述了DNS解析是网络爬虫的瓶颈. 目前主要有两种方法来提高DNS解析效率: 1. 基于多线程的DNS 解析 2. 基于NIO的DNS解析 dnsjava中 ...

  7. Ⅴ.AngularJS的点点滴滴-- 资源和过滤

    资源ngResource(依赖ngResource模块) <html> <script src="http://ajax.googleapis.com/ajax/libs/ ...

  8. Oracle创建存储过程、执行存储过程基本语法

    >>>>>>>>>>>>>>>>>>>>>>>>> ...

  9. readonly时禁用删除键,readonly按删除键后页面后退解决方案

    readonly时禁用删除键, readonly按删除键后页面后退解决方案 >>>>>>>>>>>>>>>&g ...

  10. ManualResetEvent的使用与介绍

    它可以通知一个或多个正在等待的线程已发生事件,允许线程通过发信号互相通信,来控制线程是否可心访问资源 当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用 Reset 以将 Manu ...