现有 Java 应用程序:如何添加 Web 界面?

Existing Java Application: How to add a webinterface?

我写了一个Java应用程序,它是基于swing的。现在我想将我的项目扩展到一个网络界面。 我想说我有一个数据库,其中存储了所有相关数据,因此我可以编写一个外部网络应用程序。

我真的没有更好的方法:

1.Should 我用 web 界面的能力扩展了现有的项目。但是我应该使用什么技术呢?

+GWT?现有项目是我的后端,我构建一个新的前端?

+ServletsJSP?

2.Should 我写了一个外部 Web 应用程序,它从数据库中获取数据? -我应该使用什么技术?

最后我还有一个问题:当我使用Servlets和JSP时,设计是怎样的。创造好看的 JSP 很难吗?

那么更好的选择是什么?我应该使用什么技术? 希望你能帮帮我!

问候 马可

您应该知道 swing 应用程序与 web 应用程序完全不同。当 java-application(console, awt, swt, swing) 使用主函数启动时,web 应用程序由 servlet-container 提供服务,如 tomcat、jetty... 所以你不能只向您的 Swing 应用程序添加 Web 前端。

如果您只是想尝试一下,您可以使用 netbeans 并使用 "Spring MVC" 创建一个新的 "Web Application"-Project。这大约需要 5 分钟。 使用 JSP 有点像 Struts 一样过时了。对于新的 Web 应用程序,我建议使用以下技术之一:JSF2、Spring-MVC、Wicket、GWT。既然你有一个 Swing-Background,你应该像你已经提到的那样选择 GWT。

我认为这里没有足够的信息来真正给你明确的答案,但一些可能会为你指明正确方向的事情是:

您的应用程序的 GUI 和后端代码是否大致分开? 如果您致力于将前端与所有服务(保存和检索数据等)分开,那么您最终会得到一个非正式的 API。从这里开始,您将完全取决于如何实现面向 Web 的部分。您基本上会将您的应用程序分为 3 个部分 - 客户端、服务器和 Web 应用程序。

真的不管你使用什么技术吗? 如果这是 fun/learning,选择新的。如果你需要尽快做,你最好坚持你所知道的。或者项目可能还有其他要求?关于使用什么几乎从来没有一个正确的答案,它归结为细节、知识和偏好。