- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为一个项目创建我自己的自定义 MVC Web 框架。该项目具有非常旧的代码库,其中一个 JSP 页面直接向另一个 JSP 提交表单,而路径也是硬编码的。现在这是一个大项目,放置Struts或JSF将花费大量时间。因此,我的建议是构建一个小型的自定义 MVC 框架,并将许多现有的页面流转换到其中,并鼓励他们使用这个新的 MVC 框架开发更新的应用程序。
我想和大家一起回顾一下这是否有意义,或者我们应该直接转向标准 MVC 框架。
我的想法
1. Create one front controller servlet which will have URL pattern like /*.sm
2. This servlet reads one config file and creates a map whose key is requestedURI and value is the class name of the command bean.
3. upon intercepting any action request it reads the parameter map (request.getParameterMap()). This servlet refers the already built map, understand whose command bean is to be invoked? Creates an instance of this command bean.
4. pass the parameter map to this command bean and calls execute method.
5. if any exception is found, front controller servlet forwards the request to one global error page
6. if everything is fine, it then forwards the request to the expected URI (by removong .sm and replace it with .jsp)
你认为我在这里遗漏了什么吗?我知道我可以通过在配置文件中为每个请求页面提供错误页面来使其变得更奇特,但这些也可以稍后完成。
最佳答案
我认为您最终将重新发明轮子,推出自己的 MVC 框架。我知道创建自己的 API 很诱人,因为您不必习惯新的 API,而是创建自己的 API,并且可以更轻松地使其适应您的特定用例。但由于它似乎是一个生命周期很长的应用程序,因此您必须考虑这样一个事实:您自己的框架(现在可能是最先进的)也将在几年后成为遗产。
这就是采用流行框架之一派上用场的地方。新框架的创建者通常希望其他框架也迁移,因此他们将(或应该)提供简单的集成或迁移选项,远离他们认为做得更好的框架(Spring 是一个很好的例子,因为它例如与现有框架无缝集成) Struts 应用程序,您可以逐步移动您的应用程序,而无需将旧应用程序放入垃圾箱)。此外,大多数当前的框架都非常通用(这有时可能是一个问题,因为它们需要更多时间来了解)并且可以适应几乎所有用例。
因此,我建议仔细审查现有的解决方案(您也可以从他们的设计决策和错误中学到很多东西),只有在没有一个符合您的要求时才开始制作自己的解决方案。
关于java - 用于遗留 Java EE 项目的自定义 Web MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2103243/
我想了解为什么一些 Jakarta EE 规范是空的。 例如 Jakarta Annotations规范由免责声明和快速描述(3 行)组成,但是有 Javadoc . 当 JCP 负责 J2EE 规范
我们将在我们的开发中使用 WebSphere 8.0 应用服务器。 我们的网络应用程序使用 Amazon aws java sdk,而后者又使用 Apache http-client 4.1。 但是
Java EE Web Profile 认证服务器(如 JOnAS)和 Java EE Full Platform 认证服务器(如 JBoss AS)有什么区别? 最佳答案 这是一张很好的图片来解释它
Java EE 5 和 Java EE 6 的主要区别是什么? 最佳答案 Oracle 有一篇由三部分组成的文章详细介绍了这些更改:Introducing the Java EE 6 Platform
自从我将 web.xml 从 Java-EE-5 迁移到 Java-EE-6 后,我的应用程序出现问题。这是我部署应用程序时得到的堆栈跟踪: 24 août 2011 14:10:45 org.apa
我想让我的 Java EE 应用程序可插入。主应用程序将部署在一个ear 中,但它在EJB 中的代码将包含插件的入口点。插件可以部署在它们自己的 jar 文件中。有什么好的框架可以做到这一点吗?我正在
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我有一个关于 EE 容器如何控制事务的问题。这是为我的问题提供一些上下文的伪代码。这不是我编码的方式,所以请留在问题上,不要将主题演变成其他内容。 考虑以下两个服务和相关 Controller 。这两
如果在应用程序初始化期间发生异常,是否有任何方法可以防止 Java EE 应用程序启动?在从 JSR-77 抛出未处理的异常之后,我基本上是在寻找一种方法来使应用程序进入“j2ee.state.fai
我们正在开发几个独立的应用程序/模块,我们将它们部署到 Glassfish 3.1.1 应用程序服务器上。在某些情况下,这些应用程序需要通过远程接口(interface)调用彼此的方法。打包这些远程接
我对 Java 有所了解,但对 Enterprise Java 完全陌生。我正在尝试使用 NetBeans 6.1 和 GlassFish Application Server。 请指导我一些资源,这
这个问题在这里已经有了答案: Java / Jakarta EE web development, where do I start and what skills do I need? [close
我有现有的Java EE Web应用程序。我还有一个新的Grails 1.3.7应用程序。 要求是将此Grails应用程序嵌入现有Java EE应用程序中,并将其部署在一个war文件中。请让我知道是否
我熟悉 LAMP 堆栈,多年来已经成功部署了一些基于它的网络站点。我使用过从 Apache + modPerl 到 PHP、Ruby 和 Rails 的一切。通过充分利用缓存,我的 Rails 站点可
这个问题已经有答案了: What exactly is Java EE? (6 个回答) 已关闭 8 年前。 我意识到它的字面意思是Java Enterprise Edition。但我要问的是,这到底
我当前在服务器上有一个 Java EE 应用程序。它使用struts2和Hibernate。我需要访问客户端计算机并搜索客户端计算机检测到的所有蓝牙外设的MAC地址。 那么问题是:如何访问客户端计算机
我们在 StatelessSessionBean 中有一个性能不佳的业务方法。为了提高性能,我们希望将此业务方法拆分为多个异步方法调用。 问题是这些异步方法必须在同一个事务中运行(它们必须使用同一个
希望使用 JSTL 和 Apache Torque 以及某种模板引擎来扩展当前的 Java EE 项目,以便我们可以轻松修改 View 。 有什么建议? 最佳答案 我想 Freemarker是领先的
我有一个在 tomcat 上运行的非常大的 Java EE 应用程序。不幸的是,最近我遇到了堆空间和内存泄漏错误。 所以我想知道是否有一个工具可以帮助我监控我的应用程序并给我一个每个对象的可视化展示,
这个问题在这里已经有了答案: What exactly is Java EE? (6 个答案) 关闭 4 年前。 我知道这个问题已经被问了一百万次,我也做了功课,但最后一件事我不完全理解的是,是否有
我是一名优秀的程序员,十分优秀!