基于 Java 组件与基于请求的框架

标签 java frameworks struts ejb components

我最近在一次采访中被问到 - 在 java 中,您如何比较基于组件的框架和基于请求的框架?我将 EJB 解释为基于组件的框架的示例,将 Struts 解释为基于请求的框架,但我不相信我是否公正地回答了这个问题。

对于面试官的意思和应该比较的内容有什么想法吗?

问候, 阿瓦朱鲁格

最佳答案

他们最有可能在寻找 web 框架的示例 - 例如,JSF 是一个基于组件的框架,而 Struts 是一个基于请求的框架。

基于请求的框架通常通过其 API 清楚地表明它们正在解析 HTML 请求/生成 HTML 响应,而基于组件的框架试图将其抽象出来并将应用程序视为具有渲染器的组件集合和做事的行动。

在我看来,基于组件的 Web 框架比它们的值(value)要麻烦得多——它们的主要目的通常是让不熟悉 Web 开发的开发人员“更容易”开发 Web 应用程序,并且更接近于传统的桌面开发.但是,在实践中,当出现问题时,您需要开发自定义组件,需要为非“开箱即用”功能的东西自定义框架等。您需要了解底层的“传统”Web 开发基于组件的框架如何对其进行抽象 - 如果您是一位经验丰富的 Web 开发人员并且拥有适用于“传统”Web 开发的现有解决方案、实用程序、库或片段,那么您将浪费时间重新实现它们以在基于组件的框架内工作。

关于基于 Java 组件与基于请求的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1247627/

相关文章:

使用相对路径上传 Java Spring Web 应用程序文件

java - 服务器到客户端的响应状态

java - 非法状态异常 : Cannot forward after response has been committed

ios - 自动选择本地 CocoaPods 框架的正确路径

struts - 如何覆盖 struts servlet 映射中的 url 模式?

java - 是否可以使用 Struts 访问集合中的第三个元素?

java - Project Reactor - 如何从 Java 8 流创建滑动窗口 Flux

javascript - 如何创建寻找元素网页游戏

url - 从 URL 或其他线索识别框架/CMS 的资源?

java - Struts 1.2 中的控制流(生命周期)