java - Web 应用程序工作流程中的 Controller Servlet

标签 java model-view-controller web-applications servlets controller

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

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

如果是这样,请帮助我识别除 Struts、Flext 等之外的流行框架,我可以在这些框架中假设 ActionServlet 作为我的 Controller 。

我脑海中仍然有一个问题,想知道应用程序服务器有什么特定的东西吗?如果是这样,任何见解都将受到高度赞赏。

提前致谢...

最佳答案

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

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

此后,每个操作/菜单都将映射到一个或多个 servlet,完成所有免费工作并重定向到 jsp View 。

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

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

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

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

关于java - Web 应用程序工作流程中的 Controller Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14891437/

相关文章:

Java 相当于 VB With...End With

asp.net-mvc - 有一个用于创建的 View 和一个用于编辑的 View 或一个用于两者的 View 更好吗?

javascript - jQuery Mobile 页面转换不起作用

php - MVC 困惑;梳理模型职责和架构

unit-testing - 单元测试和 Web 应用程序 - 资源

java - Tomcat:尝试访问 Web 服务时出现空指针异常

java - 区分 JOptionPane.showInputDialog() 中的无输入(空字符串)和取消按钮?

java - 如何在java中为设计着色?

javascript - 对表执行计数

java - 如何将字符串拆分为所有可能的 n 元语法/所有可能的 6 元语法