我该如何实施以下内容?

时间:2012-04-11 18:02:04

标签: java web-services

我有一个java程序,它有一些类。三个方法采用输入A并给出输出B.我需要将这些方法作为Web服务提供,以便我可以询问类似http://test.com/method?input=A的内容并返回结果B.我不想重写我现有的代码。是否有可用的东西,如JAVA的Web服务框架,可以让我为这三种方法创建一个Web服务接口。什么是最简单的方法?

我在研究过程中遇到过许多缩略词和其他内容,例如动态项目,JAVA EE,Glassfish等......什么可以实现我的要求?谢谢!

3 个答案:

答案 0 :(得分:0)

我发现快速Java服务的最简单方法是Restlet

您可以使用他们的教程来启动和运行Web服务器,就像从头开始20分钟一样。下面的Restlet应该是开箱即用的骨架框架。当然,您将替换String b = ...的调用,并将其替换为您自己的库。

public class Main extends Application {

    public static void main(String[] args) {
        Main main = new Main();
        main.start();
    }

    private void start() {
        Component c = new Component();
        c.getServers().add(Protocol.HTTP, 80);
        Application app = new Main();
        c.getDefaultHost().attach(app);
        c.start();
    }

    public Restlet createInboundRoot() {
        Router router = new Router(getContext());
        router.attach("/method/{input}", new Restlet(getContext()) {
            public void handle(Request request, Response response) {
                String a = request.getAttributes().get("input").toString();
                String b = MyLibraries.compute(a);
                response.setEntity(b, MediaType.TEXT_HTML);
            }
        });
        return router;
    }

}

答案 1 :(得分:0)

如果您在Java EE 6服务器上运行,则可以使用JAX-RS:http://docs.oracle.com/javaee/6/tutorial/doc/gilik.html

答案 2 :(得分:0)

您可能需要某种Web框架 - Glassfish就是一个例子。基本上,您的应用程序不是为接收Web请求而构建的,因此您需要某种容器(例如像Tomcat http://en.wikipedia.org/wiki/Web_container这样的Servlet容器)。

我认为" restlet"是一个可以满足您需求的小型servlet容器。

检查出来:http://www.restlet.org/