1

我想知道部署在 JBoss/Weblogic/Webphere 上的任何 Web 应用程序的起点是什么。

例如,如果您采用基于 struts 的应用程序,则起点是 ActionServlets 扮演控制器的角色,它管理所有传入的请求。我确信控制器取决于框架。

如果是这样,请帮助我确定除 Struts、Flext 等之外的流行框架,我可以在其中假定 ActionServlet 作为我的控制器。

在我的脑海里仍然有一个问题,想知道 Application Server 有什么特定的吗?如果是这样,任何见解都将受到高度赞赏。

提前致谢...

4

1 回答 1

1

在您澄清之后,我将尝试写下如何构建简单的 Web 应用程序(没有框架)

  1. 一个启动 servlet,只初始化全局的东西并检查资源(db pools,jms)。只有它的 init() 方法实现并加载了订单 0。
  2. 登录 servlet,以登录 jsp 作为其主视图。
  3. 一组将用户重定向到登录 servlet 的欢迎页面(在 web.xml 中)
  4. 一个仪表板 servlet,带有一个简单的 jsp 作为视图,可以插入菜单并为应用程序提供一个很好的起点。

在此之后,每个操作/菜单都将映射到一个或多个 servlet,执行所有免费活动并重定向到 jsp 视图。

通常我将每个请求管理到单个 servlet、doGet() 或 doPost() 方法中,但这不是强制性的,取决于我在做什么。

例如,如果您必须生成一个报告并且此生成需要时间,则 servlet 只需在某处(JMS 队列或启动 Quartz 任务)将一个报告请求加入队列,并通过一个说明请求已完成的礼貌页面将控制权交还给浏览器。排队。

在某些情况下,来自 Web UI 的单个请求在功能上会影响我的更多“servlet”,在这种情况下,我使用 RequestDispatcher 实用程序链接请求。

这样做可能会导致代码重复,因此良好的业务类树设计是必须的。servlet 之间共享的通用业务代码(充当用户输入、业务逻辑和数据逻辑之间的粘合剂 - 就像控制器 ^^)

于 2013-03-01T08:13:06.593 回答