我有一个现有的Java应用程序(基于Spring),目前没有Web界面,也没有在Web容器中运行。它可以通过启动程序很好地打包起来,而且只需要工作。
我需要做的是添加一个管理Web界面,用于一些管理类型的事情,检索实时指标以及可能提供一些图表,让用户感到温暖和舒适,知道一切都在工作。由于我们是一个Spring商店,而且我们的一些Web应用程序已经使用了Spring MVC,所以对我们来说只有这样做才有意义,然而,我对内部Spring人员提出的建议不满意。
什么是理想的方式来增加这个Web界面?
1.将我的应用程序转换为Web应用程序,并让Web容器启动该应用程序。我不太喜欢这种方法,因为Web层实际上是次要的。
2.创建一个作为War打包的单独项目,将Jetty嵌入到我的现有应用程序中,并让它加载War。我认为我可以使用上下文加载器侦听器将我的应用程序的根上下文作为Web应用程序Spring上下文的父级。我认为这将涉及将我的Maven项目拆分为2个项目。我不能使用现有的Web技术来在Web层和主要应用程序之间进行通信,因为我的主要应用程序没有启用Web。
3.嵌入Jetty并直接将Spring MVC内容放在我的应用程序中。虽然我以前做过这种方法,但它确实涉及到一些丑陋的事情-例如将JSP标签库爆炸到我的jar中。
有什么想法可以进行清晰的分离吗?
此外,我的当前jar包含一些实用程序应用程序,一些shell脚本启动。走纯WAR路线会使这变得不太容易,因为我不能只是指向我的war文件并选择要执行的类。谢谢。
我需要做的是添加一个管理Web界面,用于一些管理类型的事情,检索实时指标以及可能提供一些图表,让用户感到温暖和舒适,知道一切都在工作。由于我们是一个Spring商店,而且我们的一些Web应用程序已经使用了Spring MVC,所以对我们来说只有这样做才有意义,然而,我对内部Spring人员提出的建议不满意。
什么是理想的方式来增加这个Web界面?
1.将我的应用程序转换为Web应用程序,并让Web容器启动该应用程序。我不太喜欢这种方法,因为Web层实际上是次要的。
2.创建一个作为War打包的单独项目,将Jetty嵌入到我的现有应用程序中,并让它加载War。我认为我可以使用上下文加载器侦听器将我的应用程序的根上下文作为Web应用程序Spring上下文的父级。我认为这将涉及将我的Maven项目拆分为2个项目。我不能使用现有的Web技术来在Web层和主要应用程序之间进行通信,因为我的主要应用程序没有启用Web。
3.嵌入Jetty并直接将Spring MVC内容放在我的应用程序中。虽然我以前做过这种方法,但它确实涉及到一些丑陋的事情-例如将JSP标签库爆炸到我的jar中。
有什么想法可以进行清晰的分离吗?
此外,我的当前jar包含一些实用程序应用程序,一些shell脚本启动。走纯WAR路线会使这变得不太容易,因为我不能只是指向我的war文件并选择要执行的类。谢谢。