如何在java中将我的桌面应用程序制作成Web应用程序

时间:2010-01-05 08:06:48

标签: java

我在java中使用Swing设计了一个GUI连接到DB按钮现在我想使它成为webapp应用程序我需要在我的网站上托管它。我是否需要更换所有编码,因为swing仅适用于桌面应用程序。或者还有其他方法吗?

7 个答案:

答案 0 :(得分:4)

部分取决于您的应用程序结构。如果没有涉及分层 - 例如,如果GUI类直接连接到数据库,那么是的,你需要重写整个事情。

但是,如果您已经拥有单独的数据访问层,业务逻辑层和表示层,那么您可能只需要完全重写表示层 - 同时检查其他层是否存在并发安全等问题。

Web应用程序的无状态特性 - 除了基于会话的状态 - 可能意味着您需要重新设计应用程序,当然。这可能反过来意味着您现有的“后端”层不太合适。虽然理论是他们的表现层中立,但根据我的经验,设法针对单一UI技术编写应用程序而没有一些使用假设泄漏到底层。

答案 1 :(得分:1)

如果我正确地获取它,您需要重用数据库连接代码。在那种情况下:

您只需要删除引用Swing组件的代码。以J开头的那些。更准确地说 - 包javax.swingjava.awt中包含的内容。其余代码可以保留。

但是,如果您的数据库连接代码与GUI代码过于耦合,那么最好从头开始,只需在Swings应用程序中复制粘贴部分。

如果你有一个很大的Swing应用程序,那么可能想要使用自动转换器到web(ajax)应用程序。

一个这样的解决方案是AjaxSwing。也可能存在其他人。

答案 2 :(得分:1)

检查GWT,它是一个很棒的框架,允许你在java中编码......

答案 3 :(得分:0)

是的,你需要用web-app东西(jsps,控制器等)替换所有的GUI层。如果将业务层与GUI层分开,则应该相对容易。我建议看看Spring Framework,它对于开发Web应用程序非常有用。

答案 4 :(得分:0)

如果您想在网络上使用类似Swing的应用程序,则可以使用Applet

答案 5 :(得分:0)

如果客户端计算机上安装了JRE,您可以将swing应用程序转换为applet,然后在Web浏览器中运行。

答案 6 :(得分:0)

可以重复使用的内容取决于您的架构。看看Wicket,它提供了一个与Swing非常相似的编程模型。这不会避免重写GUI,但会使“心理映射”变得容易。