cxf spring Rest 风格的在jetty下的heolloworld例子
来源:互联网 发布:盖亚网络 编辑:程序博客网 时间:2024/06/16 06:01
cxf 3.0.4
spring 3.2.6(cxf自带包)
服务器用的jetty
写代码的顺序忘了,因为中间出了一个小问题折腾了很久。
项目名称:cxf
代码1:接口(可以不要,我只是随意写的)
package com.demo;import java.util.List;import javax.jws.WebParam;import javax.jws.WebService;import javax.ws.rs.Consumes;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.PathParam;import javax.ws.rs.Produces;import javax.ws.rs.core.MediaType;@Path("/helloworld")public interface HelloWorld {//@Produces返回@GET @Consumes(MediaType.APPLICATION_JSON) @Path("/say/{id}/{name}") public void sayName(@PathParam("id")String id,@PathParam("name")String name);@GET@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })@Path("/ssa/{id}") public String ssa(@PathParam("id")String id); }代码2:实现接口:
package com.demo;import java.util.LinkedHashMap;import java.util.List;import java.util.Map;import javax.jws.WebService;public class HelloWorldImpl implements HelloWorld { @Override public void sayName(String id,String name) { System.out.println("id" + id + "name:"+name); } @Override public String ssa(String id){ System.out.println("nihao" + id); return "hello"; }}因为用的jetty服务器(tomcat会不同),WebContent文件是自己建的,然后在build configuration中设置进去。WebContent可以直接从别的地方拷过来。然后里面的web.xml才是重点。
代码3:web.xml代码:
<?xml version="1.0" encoding="UTF-8"?> <web-app> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!--配置CXFServlet--> <servlet> <servlet-name>CXFServlet</servlet-name> <display-name>CXFServlet</display-name> <servlet-class> org.apache.cxf.transport.servlet.CXFServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <!-- url可自定义配置,用于CXFServlet请求地址拦截/webservice --> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>比较简单的配置<url-pattern>/*</url-pattern>此处很重要,跟之后的路径有关系。具体我在下面举例说。
代码4:applicationcontext.xml
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:util="http://www.springframework.org/schema/util" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:jaxrs="http://cxf.apache.org/jaxrs"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-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.xsdhttp://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"> <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"/> <!--address: 要和注释里面声明的服务名对应,对应的是外部访问地址 --> <jaxrs:server id="helloWorld" address="/xiaoxiao" > <jaxrs:serviceBeans><bean class="com.demo.HelloWorldImpl"/></jaxrs:serviceBeans><jaxrs:extensionMappings><entry key="json" value="application/json" /><entry key="xml" value="application/xml" /></jaxrs:extensionMappings><jaxrs:providers><ref bean="jsonProvider" /></jaxrs:providers><jaxrs:languageMappings><entry key="en" value="en-gb" /></jaxrs:languageMappings></jaxrs:server> <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider"><property name="dropRootElement" value="true" /><property name="dropCollectionWrapperElement" value="true" /><property name="serializeAsArray" value="true" /></bean> </beans>代码已经完成。项目右击选择run as——》run jetty发布。
5:浏览器访问http://localhost:8080/cxf/xiaoxiao/helloworld/ssa/1?_type=json
浏览器会返回hello字样。
eclipse日志会输出nihao1字样。
这样就ok了。下篇我会总结一下我在过程中的路径问题与分析。
0 0
- cxf spring Rest 风格的在jetty下的heolloworld例子
- spring 集成rest风格的cxf
- cxf实现rest风格的webservice
- cxf发布rest风格的webService
- spring mvc的 rest风格
- 8、CXF与Spring整合发布http rest 风格的WebService服务
- spring+cxf+maven+rest风格+json/xml
- 简单的Spring+CXF例子
- 使用Apache CXF搭建REST风格的Web Service
- CXF+spring构建restful风格的webservice
- Spring+CXF开发RESTful风格的WebService
- spring mvc rest风格的CRUD
- REST风格编写Spring MVC的CRUD
- spring mvc和rest风格小例子
- springMVC下的REST风格【基础】
- maven 项目 cxf+spring 发布rest风格webservice
- WebService中注解开发,CXF,Spring整合,Rest风格
- 在spring中构建基于jax-RS(即rest风格)的webservice
- Pair【找规律】
- 无题
- JS实现页面等高
- 第六届蓝桥杯C++本科A组
- (三分)Design road,湖南多校对抗赛
- cxf spring Rest 风格的在jetty下的heolloworld例子
- linux 命令——su和sudo
- Android TextView 在java代码中改变字体的颜色的方法
- 解决MySQL5.6.21安装版出现the the service mysql56 failed问题的方法。
- CSS3的[att=val]选择器
- Leetcode---N-Queens
- Jump Game 贪心
- httpclient4.3 线程池超时问题解决
- 公用配置文件