我想使用最简单的 Java 工具创建一个 CRUD(创建、检索、更新、删除)网站。该站点将允许用户管理四个表,其中两个是用于构建菜单的参考表,其中两个将进行 CRUD 活动。
我倾向于 Stripes,但我想听听体验开发者的意见。三个关键要求是简单,简单,简单!我认为 Struts 和 Spring MVC 比我需要的更复杂。
-=笨拙
我想使用最简单的 Java 工具创建一个 CRUD(创建、检索、更新、删除)网站。该站点将允许用户管理四个表,其中两个是用于构建菜单的参考表,其中两个将进行 CRUD 活动。
我倾向于 Stripes,但我想听听体验开发者的意见。三个关键要求是简单,简单,简单!我认为 Struts 和 Spring MVC 比我需要的更复杂。
-=笨拙
grails,因为您的工作流程将变为:
您将拥有一个非常简单的 CRUD 应用程序,它也可以扩展到“真正的应用程序状态”,而无需丢弃所有内容并重新开始。grails 中的 CRUD 不超过 5 分钟。为严重。查看Scott Davis 的介绍教程。
最简单的应用程序是一个处理基于 java 的 sql 引擎(例如 Derby (jabaDB) 或 HSQLDB)的简单 servlet
您甚至可以想到用 Java 编写的 CGI。
最简单的解决方案是使用管理界面,它将提供 CRUD 功能、验证、过滤数据、安全性,并具有简单而干净的 UI(如 Django 或 ActiveAdmin/Ruby 中的管理面板)。
我知道的唯一Java解决方案是LightAdmin。它是 JPA 支持的应用程序的可插入开源 Java 库,它为您的 JPA 数据模型提供管理接口。它具有用于 UI 定制的内置 DSL,并且基于 Spring 技术堆栈。
LightAdmin的好处是您不需要维护代码库中的所有支持代码。所有内容都捆绑在库中,包括 UI。
我会使用 Grails,因为它完全符合您的要求。我从来没有更快地创建简单的 CRUD 网站。Stripes 编程模型更像是一个调整过的 Struts - 有点尴尬。
我建议使用 GWT(谷歌网络工具包),尽管我从未使用过 Grails。
使用 GWT,您的客户端 gui 全部用 java 编写。有一个编译器用于创建应用程序的 javascript 版本。因此,创建反映您的对象的简单 GUI 非常容易。当用户按下“保存”时,在服务器端接收到准备保存的对象。然后,只需使用 hibernate/JPA 将对象保存到数据库。
我们曾经有一个简单的内部工具来管理用户权限。管理员只需选中/取消选中一个复选框。AJAX 调用会将更新后的对象发送到服务器,服务器只需在休眠层调用 save()。
jruby 或 Grails 上的导轨。是的,这是一种不同的语言,但它们并不难学,而且值得。
基于 Tapestry 的纯 Java 解决方案,请查看Tynamo。符合要求,它简单但可扩展,没有多余的绒毛。同意前面的评论,H2 是一个很棒的小数据库,它也是 Tynamo 默认使用的
我不建议在您的情况下使用框架。带有 jdbc 的简单 jsp/servlet 应该可以工作。
但是,如果您决定使用框架,根据我使用 Stripes、Struts1 和 JSF(MyFaces) 的经验,请毫不犹豫地推荐 Stripes。
您还可以考虑 Spring Roo,它基本上是纯 Java 的 Grails 等价物。
这是我最近一直在使用的一个非常简单的 Java Web 堆栈:
Restlet 可以在任何 servlet 容器中运行。尽管它们在 Simple 或 Winstone 中效果不佳,但它们在 Jetty 中对我来说效果很好。
可选地,H2 可以与 Active Objects 结合以提供非常轻量级的持久性,但我自己没有尝试过。
如果您的数据量很小并且您真的想要简单,为什么不完全放弃 rdbms 并使用Prevayler,提供仅由 Restlet 和 Prevayler 组成的完整堆栈?