resteasy的使用
来源:互联网 发布:禁忌搜索算法 特赦规则 编辑:程序博客网 时间:2024/05/20 15:57
RESTEasy是JBoss的开源项目之一,是一个RESTful Web Services框架。RESTEasy的开发者Bill Burke同时也是JAX-RS的J2EE标准制定者之一。JAX-RS是一个JCP制订的新标准,用于规范基于HTTP的RESTful Web Services的API。JAXB-XML绑定:将XML映射成成面向对象的数据类。这个过程也有J2EE标准,而RESTEasy是全面支持JAXB的。
我们已经有SOAP了,为什么需要Restful WebServices?用Bill自己的话来说:"如果是为了构建SOA应用,从技术选型的角度来讲,我相信REST比SOAP更具优势。开发人员会意识到使用传统方式有进行SOA架构有多复杂,更不用提使用这些做出来的接口了。这时他们就会发现Restful Web Services的光明之处。"
SOA和WOA所作用的抽象层面也有所不同。前者是一种系统层面的架构模式,致力于实施可被多种应用程序消化的新业务功能;而后者则是一种接口层面的架构模式,专注于各种服务功能以何种方式提供给应用程序。
web.xml
<web-app> <display-name>Archetype Created Web Application</display-name> <context-param> <param-name>javax.ws.rs.core.Application</param-name> <param-value>com.service.ChannelApplication</param-value> </context-param> <context-param> <param-name>resteasy.servlet.mapping.prefix</param-name> <param-value>/1.0</param-value> </context-param> <listener> <listener-class> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap </listener-class> </listener> <servlet> <servlet-name>Resteasy</servlet-name> <servlet-class> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher </servlet-class> </servlet> <servlet-mapping> <servlet-name>Resteasy</servlet-name> <url-pattern>/1.0/*</url-pattern> </servlet-mapping></web-app>Java类
import java.util.HashSet;import java.util.Set;import javax.ws.rs.core.Application;public class ChannelApplication extends Application{ HashSet<Object> singletons = new HashSet<Object>(); public ChannelApplication() { singletons.add(new GsmModemChannelService()); } @Override public Set<Class<?>> getClasses() { HashSet<Class<?>> set = new HashSet<Class<?>>(); return set; } @Override public Set<Object> getSingletons() { return singletons; }}
Service @Path(value="smsmessaging")public class GsmModemChannelService { @POST@Path("outbound/requests")@Produces("text/html")public String sendMessage(@FormParam("address") String address,@FormParam("message") String message,@FormParam("senderName") String senderName) {return "test";}@GET@Path("inbound/messages")@Produces("application/json")public List<Record> getMessages() {return getRecordList();}@GET@Path("inbound/messages/{sendAddress}/messages.html")@Produces("text/html")public String getMessageBySender(@PathParam("sendAddress") String sendAddress) throws Exception {List<Record> list = new ArrayList<Record>();for (Record r : getRecordList()) {if (r.getFromAddr().equals(sendAddress)) {list.add(r);}}JettisonMappedContext context = new JettisonMappedContext(RecordList.class);StringWriter writer = new StringWriter();Marshaller marshaller = context.createMarshaller();marshaller.marshal(new RecordList(list), writer);return writer.toString();}}
import java.util.List;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlRootElement;import com.magima.messenger.gsmmodem.job.Record;@XmlRootElement(name="listing")public class RecordList { private List<Record> records; public RecordList(){ } @XmlElement(name="records")public List<Record> getRecords() {return records;}public RecordList(List<Record> records) {this.records = records;} }
- resteasy的使用
- RestEasy 使用
- RESTEasy使用json返回的例子
- 普通web项目的Resteasy配置使用
- RESTEasy使用json返回的例子
- Resteasy配置及其使用
- RESTEasy使用总结
- RESTEasy注解及使用
- Resteasy配置及其使用
- resteasy配置与使用
- RESTEasy底层使用Netty
- Resteasy 的用法实例
- Resteasy 的用法实例
- RestEasy的WEB配置
- RESTeasy
- Resteasy
- resteasy
- RESTEasy使用httpclient上传文件
- 【Visual C++】游戏开发笔记之八——基础动画显示(二)游戏循环的使用
- ATCommand 指令封装
- RMAN Backup 学习
- 初学MVC 3
- 剖析为什么在多核多线程程序中要慎用volatile关键字?
- resteasy的使用
- Memory Barriers and JVM Concurrency
- D3D新兵的第一篇
- iPhone/iPad开发札记 2012/03/15 总结与思考音频问题
- 如何运行opengl红宝书中的源码,傻瓜版
- 精品课程
- 黑马程序员_关于线程对象和目标对象的问题
- OOD沉思录 之 面向动作与面向对象2--避免泛滥成灾的类
- 珠联璧合共享,LatexinWord, 在Word里用Latex编辑公式