我在java中使用Swing设计了一个GUI连接到DB按钮现在我想使它成为webapp应用程序我需要在我的网站上托管它。我是否需要更换所有编码,因为swing仅适用于桌面应用程序。或者还有其他方法吗?
答案 0 :(得分:4)
部分取决于您的应用程序结构。如果没有涉及分层 - 例如,如果GUI类直接连接到数据库,那么是的,你需要重写整个事情。
但是,如果您已经拥有单独的数据访问层,业务逻辑层和表示层,那么您可能只需要完全重写表示层 - 同时检查其他层是否存在并发安全等问题。
Web应用程序的无状态特性 - 除了基于会话的状态 - 可能意味着您需要重新设计应用程序,当然。这可能反过来意味着您现有的“后端”层不太合适。虽然理论是他们的表现层中立,但根据我的经验,设法针对单一UI技术编写应用程序而没有一些使用假设泄漏到底层。
答案 1 :(得分:1)
如果我正确地获取它,您需要重用数据库连接代码。在那种情况下:
您只需要删除引用Swing组件的代码。以J
开头的那些。更准确地说 - 包javax.swing
或java.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,但会使“心理映射”变得容易。