jersery+jetty嵌入式restful的框架开发

随着微服务的流程,越来越多的后台服务采用了restful api风格的开放API,jersery+jetty嵌入式变成了一个很好的选择,

我自己写了一个简单的框架,https://github.com/wangjiuong/RestFrameWork/tree/master/RestFrameWork 目前还不支持集群,正在优化中。

基于该框架可以快速的开发出简单的restful api风格的服务。

最简单的HelolWorld程序。https://github.com/wangjiuong/RestFrameWork/tree/master/example/resetfulTest

EntryPoint.java

package org.nuaa.resetfulTest;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.nuaa.resetful.RestFulAnontation;

@Path("/entry-point")
@RestFulAnontation
public class EntryPoint {

  @GET
  @Path("test")
  @Produces(MediaType.TEXT_PLAIN)
  public String test() {
    return "EntryPoint Test";
  }
}
@RestFulAnontation表示这个是对外提供restful api接口的类

Main.java

package org.nuaa.resetfulTest;

import org.json.JSONObject;
import org.nuaa.resetful.JettyServer;

/**
 * Hello world!
 *
 */
public class App {
  public static void main(String[] args) {
    try {
      JSONObject parameter = new JSONObject();
      parameter.put("port", 8086);
      parameter.put("address", "127.0.0.1");
      JettyServer.init(parameter);
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

启动日志如下:

2017-04-09 23:42:20.145:INFO::main: Logging initialized @380ms
begin scan 1491752540278
finished scan 1491752543624
restful api mapping class: org.nuaa.resetfulTest.EntryPoint
2017-04-09 23:42:23.625:INFO:oejs.Server:main: jetty-9.3.8.v20160314
2017-04-09 23:42:23.828:INFO:oejsh.ContextHandler:main: Started [email protected]{/,null,AVAILABLE}
2017-04-09 23:42:23.893:INFO:oejs.ServerConnector:main: Started [email protected]{HTTP/1.1,[http/1.1]}{127.0.0.1:8086}
2017-04-09 23:42:23.894:INFO:oejs.Server:main: Started @4140ms

启动后请求结果如下:

时间: 2024-08-07 16:58:51

jersery+jetty嵌入式restful的框架开发的相关文章

一个基于SSM框架开发的高并发电商秒杀Web系统

0 前言 一个基于SSM框架的高并发秒杀系统采用IDEA+Maven+SSM+Mysql+Redis+Jetty.Bootstrap/Jquery开发. 通过这个小项目,理清了基于SSM框架开发Web应用的流程以及常见的避坑方法,并在最后简单采用了Redis缓存以及Mysql Procedure对项目进行了高并发优化. 接下来从DAO层.Service层.Web层开发以及高并发优化4个方面梳理整个项目开发过程. 源码地址https://github.com/Allegr0/seckill 项目准

【视频】嵌入式Linux/Android驱动开发揭秘(1)触摸屏驱动开发

嵌入式Linux/Android驱动开发揭秘(1)触摸屏驱动开发 专题简介:自1971年,美国人SamHurst发明了世界上第一个触摸传感器以来,触摸屏技术不断革新,给了程序设计师和UI工程师无限的想象空间,它极大改善了终端用户对各种设备的操作方便程度,现在我们的日常生活如手机.平板等,已经很大程度上依赖于和习惯于使用和操作触摸屏.做为工程师,我们很有必要掌握触摸屏的工作原理和软件驱动方法,如果您对一窥如何在嵌入式中操控和使用触摸屏这一司空见惯却又神奇的技术感兴趣,敬请关注! 1.LINUX驱动

[转载]JavaScript 的轻框架开发

http://www.open-open.com/news/view/1d64fed 为什么我们不用 Angular, Ember 或者 Backbone! Muut 是一个特殊的论坛平台,它也有着巨大的梦想! 当后端的性能已经极大优化的同时,前端也有着自己的目标:简单API,小体积,快速迭代.写代码就像在纸上先起个草稿,然后写入到许多文件中即可(猜 译).任何一个前端框架,比如,Angular 或者 Ember 都没问题! 下面是我们自己实现,而不用它们的原因. 首先是 API 方面的因素 开

JAX-RS 方式的 RESTful Web Service 开发

JAX-RS 方式的 RESTful Web Service 开发 ——基于 CXF+Spring 的实现 Web Service 目前在风格上有两大类,一个是基于 SOAP 协议,一个是完全遵循 HTTP 协议规范的 RESTful 风格. SOAP 方式的 web service 已经很成熟了,应用也很广,已经成为 Web Service 的工业标准.不过 RESTful Web Service 现在势头越来越猛,特别是其灵活性以及与 Ajax 的完美结合,让人爱不释手,很有必要了解一下.

WebService系列二:使用JDK和CXF框架开发WebService

一.使用JDK开发WebService 服务端程序创建: 1.新建一个JDK开发webservice的服务端maven项目JDKWebServiceServer 2. 定义一个接口,使用@WebService注解标注接口,使用@WebMethod注解标注接口中定义的所有方法 1 package com.study.webservice.ws; 2 3 import javax.jws.WebMethod; 4 import javax.jws.WebService; 5 6 /** 7 * 定义

开源|ns4_frame分布式服务框架开发指南

导语:宜信于2019年3月29日正式开源nextsystem4(以下简称"NS4")系列模块.此次开源的NS4系列模块是围绕当前支付系统笨重.代码耦合度高.维护成本高而产生的分布式业务系统解决方案.NS4系列框架允许创建复杂的流程/业务流,对于业务服务节点的实现可串联,可分布式.其精简.轻量,实现了"脱容器"(不依赖tomcat.jetty等容器)独立运行.NS4系列框架的设计理念是将业务和逻辑进行分离,开发人员只需通过简单的配置和业务实现就可以实现逻辑复杂.性能高

Eclipse+CXF框架开发Web服务实战

一. 说明 采用CXF框架开发webservice. 所用软件及版本如下. ? 操作系统:Window XP SP3. ? JDK:JDK1.6.0_07,http://www.oracle.com/technetwork/java/javase/downloads/index.html. ? Tomcat:apache-tomcat-6.0.14.exe,http://tomcat.apache.org/. ? IDE:eclipse-jee-juno-SR1-win32.zip,http:/

golang的beego框架开发时出现的问题纪录

golang的beego框架开发时出现的问题纪录1.数据库并发时问题:[ORM]2017/02/20 23:44:05 -[Queries/default] - [FAIL / db.Query / 15.9ms] - [SELECT mp_wx_account.app_id, mp_wx_account.app_secret FROM mp_wx_develop INNER JOIN mp_wx_account ON mp_wx_account.app_id = mp_wx_develop.a

运动高级--框架开发

链式运动框架开发 回调函数 •运动停止时,执行函数 /** * @author miaov */ //获取行间样式 function getStyle(obj, attr) { if(obj.currentStyle) { return obj.currentStyle[attr]; } else { return getComputedStyle(obj, false)[attr]; } } //计算对象 属性 数值 未执行函数 function startMove(obj, attr, iT