是否可以将常规Java应用程序转换为Web应用程序?

是否可以将常规Java应用程序转换为Web应用程序?,java,Java,我的意思是,人们可以启动嵌入到web上的.jar应用程序,还是必须下载它?我制作了一个简单的在线游戏,现在的人们不想单独下载游戏,而不是直接通过浏览器访问。我在桌面上开发了这个游戏,我应该采取哪些步骤使它成为一个web应用程序,或者它可以直接转换为web应用程序?您可以将您的类包装在一个小程序中,只需添加一个按钮即可启动该类。 init方法会重载加载类,start方法是启动东西。小程序是单线程的,所以如果在其中一个重载方法中启动昂贵的循环,小程序可能会卡住。您可能需要线程。您可以将类包装在小程序

我的意思是,人们可以启动嵌入到web上的.jar应用程序,还是必须下载它?我制作了一个简单的在线游戏,现在的人们不想单独下载游戏,而不是直接通过浏览器访问。我在桌面上开发了这个游戏,我应该采取哪些步骤使它成为一个web应用程序,或者它可以直接转换为web应用程序?

您可以将您的类包装在一个小程序中,只需添加一个按钮即可启动该类。
init方法会重载加载类,start方法是启动东西。小程序是单线程的,所以如果在其中一个重载方法中启动昂贵的循环,小程序可能会卡住。您可能需要线程。

您可以将类包装在小程序中,只需添加一个按钮即可启动该类。
init方法会重载加载类,start方法是启动东西。小程序是单线程的,所以如果在其中一个重载方法中启动昂贵的循环,小程序可能会卡住。您可能需要线程。

没有从jar到web应用程序的直接转换。网络服务器不会理解这一点。你需要的是

创建web应用程序文件夹结构,将jar复制到web inf\lib文件夹

根据应用程序的需要准备web.xml

将web应用程序文件夹捆绑到war文件中或将其部署

典型的web应用程序文件夹如下所示:

webapp
 |-*.html,*.images, *.js, *.css
 |-WEB-INF
 |-WEB-INF/web.xml
 |-WEB-INF/lib/*.jar
 |-WEB-INF/classes/*.class, *.properties
在这个场景中,IMO的主要变化是将请求路由到web服务器,而不是桌面应用程序所采取的方法,即单个JVM,直接路由到处理程序类实例的调用

假设从GUI保存数据时,桌面应用程序可能正在将数据序列化到本地磁盘,现在如果是web应用程序,则可能需要将此数据发送到web服务器,例如特定的SaveServlet,它在服务器计算机而不是客户机上处理此逻辑


如果您提供桌面应用程序功能的特定用例,我们可能会提供更好的帮助。

没有从jar到web应用程序的直接转换。网络服务器不会理解这一点。你需要的是

创建web应用程序文件夹结构,将jar复制到web inf\lib文件夹

根据应用程序的需要准备web.xml

将web应用程序文件夹捆绑到war文件中或将其部署

典型的web应用程序文件夹如下所示:

webapp
 |-*.html,*.images, *.js, *.css
 |-WEB-INF
 |-WEB-INF/web.xml
 |-WEB-INF/lib/*.jar
 |-WEB-INF/classes/*.class, *.properties
在这个场景中,IMO的主要变化是将请求路由到web服务器,而不是桌面应用程序所采取的方法,即单个JVM,直接路由到处理程序类实例的调用

假设从GUI保存数据时,桌面应用程序可能正在将数据序列化到本地磁盘,现在如果是web应用程序,则可能需要将此数据发送到web服务器,例如特定的SaveServlet,它在服务器计算机而不是客户机上处理此逻辑


如果您提供桌面应用程序功能的特定用例,我们可能会提供更好的帮助。

您可以使用jnlp java本机语言插件来实现这一点,当用户访问您的页面时,即使通过提供相同的链接,该插件也会自动下载

之后,它将请求用户权限来执行与jar相同的jnlp&您的jar将在客户端执行


您可以使用jnlp java本机语言插件来实现这一点,当用户访问您的页面时,该插件将自动下载,甚至可以提供相同的链接

之后,它将请求用户权限来执行与jar相同的jnlp&您的jar将在客户端执行


如果您不希望用户下载整个应用程序,则必须使用web技术对其重新编码


如果您希望您的答案能够通过他们的浏览启动应用程序,其中包括透明地下载应用程序,您可以制作一个小程序,如@huseyin tugrul buyukisik所说,或者您可以使用Java Web Start:

如果您不希望用户下载整个应用程序,则必须使用Web重新编码技术


如果你希望你的答案能够通过他们的浏览来启动应用程序,这涉及到应用程序的透明下载,你可以制作一个像@huseyin tugrul buyukisik所说的小程序,或者你可以使用Java Web Start:

来制作一个Java小程序。在一些罕见的情况下,你可以制作一个小程序,而不需要太多努力但一般的建议是从头开始构建web界面,并将java保留在服务器端。这对java小程序来说是可行的。在一些罕见的情况下,您可以不费吹灰之力就创建一个小程序,但一般的建议是从头开始构建web界面,并将java保留在服务器端也需要重新开发界面。不一定,您可以将现有的UI(如Applet、Swing等)嵌入到HTML页面中,来自UI的调用将转到Servlet
这当然是一个改变,但可能有点过火:没错,对我来说这是一个过火的问题:@harsh,是的,但这实际上是最难的部分,你在回答中没有提到。他也需要重新开发界面。不一定,你可以将现有的UI(如Applet、Swing等)嵌入HTML页面,用户界面的调用会转到一个Servlet这当然是一个改变,但可能有点过火了:是的,对我来说这是一个过火的问题:@harsh,是的,但这实际上是最难的部分,而你在回答中没有提到这一点。