我几年来一直是.NET Web开发人员,使用asp.net网络表单和c#,wcf等。但最近开发了支持触摸客户的应用程序。 其设备无关应用程序专为任何能够运行HTML5应用程序(iOS,Android,Windows8)的平台而设计,适用于移动设备(如平板电脑), 辅助或无辅助的信息亭,笔记本电脑或台式电脑。
我们使用asp.net webapi,ASP.net MVC 4.0框架,Jquery移动库,HTML 5,信号R进行开发。
我们是否可以在Java下迁移或转换完整的服务器端代码(即控制器方法)?
Apache tomcat服务器或(webspehere)是否支持PUT,DELETE等动词以及GET和POST?
Java世界中可用的任何与ASP.NET SignalR功能相同的东西?
在java中开发支持设备aganostic触摸的应用程序所需的软件或库是什么?
我认为Web API客观上胜过以下几个关键领域的其他API。
内容谈判, 灵活性, 关注点分离
Spring MVC API或Jersey API将在多大程度上支持上述领域?
答案 0 :(得分:5)
我们是否可以迁移或转换完整的服务器端 Java下的代码(即控制器方法)
你可以,但它不是很容易,因为没有直接映射apis,但你可以使用类似的apis。有很多人已经做到了
Apache tomcat服务器或(webspehere)是否支持像PUT这样的动词, 删除加入GET和POST?
是可以在Tomcat或任何符合JEE标准的App服务器中启用/禁用所有HTTP命令
Java世界中可用的任何与ASP.NET SignalR等效的东西 功能?
DWR(直接网络远程处理),Vaadin,GWT等。但我相信还有更多。
开发设备所需的软件或库是什么 Java中的aganostic touch启用应用程序?
JavaMe,Android,GWT-Touch等。此link也可能对您有帮助。
Java rest Apis
希望这有帮助。
答案 1 :(得分:3)
Jersey (jax-rs)是Java World中ASP.NET Web API的一个非常可靠的替代方案。
Jersey RESTful Web Services框架是开源的,生产的 质量,用Java开发RESTful Web服务的框架......
它是一种基于注释的问题解决方法。我认为这是一个非常好思想和富有成效的环境。您可以自定义各种内容,其中包含合理的默认值。
答案 2 :(得分:1)
答案是肯定的,您可以使用spring框架在Java中创建restful Web服务。这是代码看起来如何的例子
import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GreetingController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@RequestMapping("/greeting")
public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
return new Greeting(counter.incrementAndGet(),
String.format(template, name));
}
}