简单的Web应用程序设计

时间:2012-02-01 10:06:00

标签: java web-applications

我需要设计一个简单的网络应用程序,它只有3页,即登录,输入新数据的页面和查看以前输入的数据,以及管理用户输入内容的页面。还有一些限制,但这是一般的想法。

我想知道您对以下设计的看法:

  • 一个单独的(!)静态html页面,带有一点点jquery渲染和通信逻辑
  • 一个RESTful Web服务(例如Jersey),它接受jquery发送的数据并对其进行处理(使用jackson确保java-json转换)
  • 数据库中保存的java模型

基本上,HTML + CSS将是视图,jquery + jersey我的控制器,然后是java模型。一切都将使用良好的编程原则等完成。

根据我的理解,这将允许非常快速地开发我的东西,具有非常模块化的设计,高度兼容(常规DB-java-jquery-html),如果需要可以轻松扩展,并且具有炽热响应时间快。

因为我还没有上大学,而且我自己也是这样做的(所以没有人谈论这个设计)我不确定我的设计有多好。也就是说,我想知道以下问题:

  • 我在监督是否有任何缺陷?
  • 我是否过度工程/使其复杂化?
  • 我没有看到任何安全漏洞(来自设计,而非实施)

感谢; P上。

2 个答案:

答案 0 :(得分:2)

你的设计非常好。您可以查看我的proof of concept,它与您设计的完全一致,只是它使用jqGrid来处理所有CRUD操作并且具有模拟的DAO。

安全性不是问题,HTML和JavaScript可以匿名提供,但所有REST操作都需要保护。您必须首先登录才能获得JSESSIONID cookie,并在每次调用AJAX时传递它(这实际上应该自动发生)。

答案 1 :(得分:2)

这是一个很好的设计。事实上,你可以像Facebook,Twitter那样以这种方式发布你的API。您需要做的就是解释您的RESTful服务所期望的内容以及返回的内容。任何人都可以开发一个应用程序。所以,这是很好的一部分。让我们回答您的具体问题:

Are there any flaws I am overseeing?

没有。实际上,这些都是简单的CRUD操作,非常标准的东西。如果你使用一个框架(Wicket,Play!,Struts-2)来处理很多事情,你可以快速完成同样的工作(称为快速闪光到爆炸)。你正在做的是自己开发组件。

Am I over-engineering/complicating this?

是的,有点。如果它只是一个大学项目,你就掌控了。我建议你选择一个最快的网页框架。它们可能会隐藏您可能必须对当前设计执行的许多实现细节。

Is there any security flaw I didn't see.

不。只要您负责对需要它的URL进行身份验证和授权,您就是安全的。您可以考虑使用HTTPS,但这太过分了。