我有一个java程序,它有一些类。三个方法采用输入A并给出输出B.我需要将这些方法作为Web服务提供,以便我可以询问类似http://test.com/method?input=A的内容并返回结果B.我不想重写我现有的代码。是否有可用的东西,如JAVA的Web服务框架,可以让我为这三种方法创建一个Web服务接口。什么是最简单的方法?
我在研究过程中遇到过许多缩略词和其他内容,例如动态项目,JAVA EE,Glassfish等......什么可以实现我的要求?谢谢!
答案 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容器。