是否有任何简单的 java web 框架,如 sinatra(用于 ruby)或 web.py(用于 python)?
14 回答
如果你想要一个严格的 Java 框架Spark可能是一个替代方案:
import static spark.Spark.*;
public class HelloWorld {
public static void main(String[] args) {
get("/hello", (req, res) -> "Hello World");
}
}
玩。自己没有尝试过,但只听说过它的好消息,而且似乎对初学者很友好。
我认为通过 Java 生成 Web 内容最简单的方法是编写一个 Servlet。就像 web.py 允许你定义一个GET
方法一样,你可以实现一个 Servlet 的doGet()
方法并将数据直接写回客户端。
这是Servlets 教程的链接。您还需要知道如何打包和部署 Web 应用程序;为此,我通常会向人们介绍Tomcat 手册(请参阅标题为“第一个 Web 应用程序”的部分)。
编写和部署 Java Web 应用程序不会像在 Ruby 或 Python 中那样快,但 Java 并不是特别以其简洁而闻名。
如果您不严格要求 Java,请查看Grails。它是基于 Groovy 构建的 Web 应用程序框架,Groovy 是一种类似于 Python 和 Ruby 的动态语言,可编译到 JVM。
GlassFish等 Java EE 6 服务器默认捆绑了它。
如果您使用 Tomcat,则可以使用Jersey、Apache CXF或Restlet实现。
使用 JAX-RS 注释,Web 开发感觉就像 Sinatra 或 Merb。顺便说一句,您不必使用 Java 作为语言,您可以使用 Scala、Groovy、JRuby ......
如果您只是在寻找纯Java 的表示框架,那么对我来说, Stripes 1是最接近 RoR 理念的 Java MVC 框架:简单、优雅,并且需要最少的配置。
1 Stripes 开创了Java Web 开发的约定优于配置的方法。虽然其他一些框架采用了它的一些原则(如 Spring MVC 或带有插件的 Struts2),但我仍然更喜欢 Stripes,因为它只做一件事,而且做得很好。
看看这两个:1 . activeweb和 2. dropwizard
如果您必须开发业务或数据库应用程序,OpenXava是一个不错的选择。OpenXava 允许您开发一个完整的 AJAX Web 应用程序,只需编写域类,无需生成代码并生成可用于生产的应用程序。很少的代码,很好的结果。
您可能想看看这 2 个 groovy 项目:
https://github.com/webdevwilson/graffiti
https://github.com/bleedingwolf/Ratpack
真的很轻,类似于 Sinatra。不过可能有点处于前沿:-) 有趣且有前途的东西永远不会少。
检查SerfJ:Java 最简单的 Ever Rest 框架:
使用 SerfJ 是开发 Java REST Web 应用程序的最简单方法。它可以帮助您在优雅的 MVC 架构上开发应用程序,比配置更重视约定,因此,例如,您不必拥有配置文件或注释来指定哪个视图服务于控制器的方法。然而,SerfJ 是一个非常灵活的库,所以如果您想跳过这些约定,您可以根据需要配置应用程序的行为。
该框架试图满足 JSR 311 规范,但它并没有遵循每一点,因为目的是拥有一个非常直观的库,而规范的某些方面超出了 SerfJ 的范围。
SerfJ 是开源的,在 Apache 许可证 2.0 版下发布。
HybridJava 框架非常简单。当然,它的构建类似于 Servlet API 之上的 API,但处理的是页面和组件,而不是请求和响应。换句话说,它是真正的 MVC。
我能找到的支持 Servlet 的最小的 Java“可用”Web 服务器是Miniature JWS。老实说,没有理由运行不支持 Servlet 的 Java Web 服务器。如果你想做 REST,Restlet有一个内置的 HTTP 守护进程,这意味着你可以将它作为一个独立的 Web 服务器运行。
我可以向您推荐Struts2,因为我喜欢插件架构,并且使用约定插件,它可以简单快速地开发。
Step是一个受 Sinatra 启发的 Scala 框架。