当前位置: 首页 > news >正文

restlet入门搭建hello world

最近研究rest接口,发现restlet应用挺广泛,不过入门资料很少,去官网下载jar包,根据官网说明搭建了一个简单的restlet工程:
 
1、首先导入jar包
  • org.restlet.jar
  • org.restlet.ext.servlet.jar

2、编写业务逻辑类

package com.chen.rest;

import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;

/**
 * @author chenjie
 * @version 1.0
 * @since 2017-02-08
 */
public class HelloWorld extends ServerResource
{
    @Get
    public String represent()
    {
        return "hello world!";
    }
}
 
3、编写应用类
package com.chen.rest;

import org.restlet.Application;
import org.restlet.Restlet;
import org.restlet.routing.Router;

/**
 * @author chenjie
 * @version 1.0
 * @since 2017-02-08
 */
public class FirstApp extends Application
{
    @Override
    public synchronized Restlet createInboundRoot()
    {
        System.out.println("1111111111");
        Router router = new Router(getContext());
        router.attach("/hello",HelloWorld.class);
        return router;
    }
}

 

4、配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>first steps servlet</display-name>

    <!-- Restlet adapter -->
    <servlet>
        <servlet-name>RestletServlet</servlet-name>
        <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
        <init-param>
            <!-- Application class name -->
            <param-name>org.restlet.application</param-name>
            <param-value>com.chen.rest.FirstApp</param-value>
        </init-param>
    </servlet>

    <!-- Catch all requests -->
    <servlet-mapping>
        <servlet-name>RestletServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

 

5、部署工程到tomcat,启动tomcat,访问
http://localhost:8080/myRest/hello

转载于:https://www.cnblogs.com/chenjack/p/6379166.html

相关文章:

  • Vue初探
  • HTML/CSS常用的命名规则
  • Java googlecode JSON 解析示例
  • background-clip
  • Docker的常用命令-02
  • 【MongoDB】从入门到精通mongdb系列学习宝典,想学mongodb小伙伴请进来
  • SAS描述统计量
  • 老毛桃PE修改方法(屏蔽更改主页,屏蔽加装的绿色浏览器)
  • 2017年2月12日 WER学习总结
  • InfluxDB和MySQL的读写对比测试
  • 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
  • HBase入门基础教程 HBase之单机模式与伪分布式模式安装
  • linux 创建sudo账号.md
  • Git基础之(十一)——远程仓库——从远程库克隆
  • 素数筛
  • 【comparator, comparable】小总结
  • 3.7、@ResponseBody 和 @RestController
  • Angular 2 DI - IoC DI - 1
  • eclipse(luna)创建web工程
  • ES6语法详解(一)
  • FineReport中如何实现自动滚屏效果
  • javascript面向对象之创建对象
  • JavaScript中的对象个人分享
  • js操作时间(持续更新)
  • PHP的类修饰符与访问修饰符
  • RxJS: 简单入门
  • vue-loader 源码解析系列之 selector
  • 构造函数(constructor)与原型链(prototype)关系
  • 诡异!React stopPropagation失灵
  • 回顾2016
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 前端技术周刊 2019-02-11 Serverless
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 微信小程序开发问题汇总
  • 小程序button引导用户授权
  • 正则学习笔记
  • 浅谈sql中的in与not in,exists与not exists的区别
  • #《AI中文版》V3 第 1 章 概述
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (arch)linux 转换文件编码格式
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)setTimeout 和 setInterval 的区别
  • (转)创业家杂志:UCWEB天使第一步
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .Net IOC框架入门之一 Unity
  • .NET 依赖注入和配置系统
  • .NET分布式缓存Memcached从入门到实战
  • .NET关于 跳过SSL中遇到的问题
  • .net中我喜欢的两种验证码