在您澄清之后,我将尝试写下如何构建简单的 Web 应用程序(没有框架)
- 一个启动 servlet,只初始化全局的东西并检查资源(db pools,jms)。只有它的 init() 方法实现并加载了订单 0。
- 登录 servlet,以登录 jsp 作为其主视图。
- 一组将用户重定向到登录 servlet 的欢迎页面(在 web.xml 中)
- 一个仪表板 servlet,带有一个简单的 jsp 作为视图,可以插入菜单并为应用程序提供一个很好的起点。
在此之后,每个操作/菜单都将映射到一个或多个 servlet,执行所有免费活动并重定向到 jsp 视图。
通常我将每个请求管理到单个 servlet、doGet() 或 doPost() 方法中,但这不是强制性的,取决于我在做什么。
例如,如果您必须生成一个报告并且此生成需要时间,则 servlet 只需在某处(JMS 队列或启动 Quartz 任务)将一个报告请求加入队列,并通过一个说明请求已完成的礼貌页面将控制权交还给浏览器。排队。
在某些情况下,来自 Web UI 的单个请求在功能上会影响我的更多“servlet”,在这种情况下,我使用 RequestDispatcher 实用程序链接请求。
这样做可能会导致代码重复,因此良好的业务类树设计是必须的。servlet 之间共享的通用业务代码(充当用户输入、业务逻辑和数据逻辑之间的粘合剂 - 就像控制器 ^^)