本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Web 应用程序工作流中的控制器 Servlet

发布于2025-01-07 21:03     阅读(994)     评论(0)     点赞(25)     收藏(1)


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

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

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

我心里还有一个问题,想知道应用服务器是否有任何特定的东西?如果有,任何见解都将不胜感激。

提前致谢...


解决方案


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

  1. 启动 servlet,仅初始化全局内容并检查资源(db 池、jms)。仅实现并以顺序 0 加载其 init() 方法。
  2. 一个登录 servlet,以登录 jsp 作为其主视图。
  3. 一组将用户重定向到登录 servlet 的欢迎页面(在 web.xml 中)
  4. 仪表板 servlet,以简单的 jsp 作为视图,显示菜单并为应用程序提供一个良好的起点。

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

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

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

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

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



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/694655/a8daf1384b5692b31fe7/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

25 0
收藏该文
已收藏

评论内容:(最多支持255个字符)