0

我继承了一个不完整但很小的 Web 项目(Java EE 5,在 WebSphere 7 上运行)。

该项目主要由可通过其 URL 直接访问的 JSP 组成,并且大多数 JSP 查找自己对所需 EJB(服务)的引用。此外,JSP 中的 HTML 代码提交的每个表单都有一个 Servlet。

从架构上讲,这有什么问题吗?

我在想拥有 MVC 设计会更好。我不想将所有内容都转换为 JSF,因为我不想将所有 HTML 和嵌入式 Java scriptlet 转换为 JSF 标记和托管 bean。

我真的不想使用 Struts 或 Spring MVC,因为它们不是 WebSphere 开箱即用的 Java EE 5 工具包的一部分,而且我不想通过额外的库和配置文件增加额外的复杂性.

我正在考虑使用“ControllerServlet”构建我自己的小 MVC,它接受命令并动态构建和执行命令对象,并重定向到 JSP 视图。

但是我再次问自己,发布到 Servlet 的 JSP 有什么“错误”吗?它的简单性实际上有点优雅。

你怎么看?

任何建议都非常感谢!抢

4

1 回答 1

2

你问的是一个相当主观/本地化的问题。但是,唉。

提交给单个 servlet 的单个 JSP 在技术上没有任何问题。唯一真正的问题是,当 servlet 包含重复的代码时,这些代码用于非常常见的任务,例如收集请求参数、转换/验证它们、设置 bean 属性、调用操作、执行导航。不是 DRY,而是具有单个前端控制器和明确定义的生命周期的 MVC 框架应该解决的问题。

或者,如果 servlet 的任务实际上是用本地代码很好地重构来执行这些常见任务,那么这反过来就不是很容易维护,因为除了原始开发人员之外没有其他人知道这个自定义框架的来龙去脉。因此,如果不重新学习另一个框架,很难找到其他愿意维护这个 webapp 的人,而新开发人员不太可能在其他未来的 webapps 中看到这种框架。就是为什么公司通常采用现有且开发良好的 MVC 框架,如 JSF、Spring MVC、Stripes、Struts 等。

于 2012-05-14T19:07:21.440 回答