Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过浏览器本地交付Java程序_Java_Mysql_Jdbc_Browser_Language Features - Fatal编程技术网

如何通过浏览器本地交付Java程序

如何通过浏览器本地交付Java程序,java,mysql,jdbc,browser,language-features,Java,Mysql,Jdbc,Browser,Language Features,我想编写一个完全在一台机器上本地运行的应用程序-不需要连接到internet或任何外部机器 我在想,使用web浏览器作为这个应用程序的平台是一个好主意,这样我就不必处理太多的UI内容——我可以相当快地组合网页,并利用CSS在整个应用程序中获得一致的样式 但是,我想与机器上的MYSQL数据库进行交互。考虑到这一点,我认为我可以以某种方式使用Java来处理用户从应用程序输入的信息,并通过JDBC将其传递给数据库 我知道我可以使用小程序来实现这一点,但缺点是我希望用户能够将文件保存到本地机器上——我已

我想编写一个完全在一台机器上本地运行的应用程序-不需要连接到internet或任何外部机器

我在想,使用web浏览器作为这个应用程序的平台是一个好主意,这样我就不必处理太多的UI内容——我可以相当快地组合网页,并利用CSS在整个应用程序中获得一致的样式

但是,我想与机器上的MYSQL数据库进行交互。考虑到这一点,我认为我可以以某种方式使用Java来处理用户从应用程序输入的信息,并通过JDBC将其传递给数据库

我知道我可以使用小程序来实现这一点,但缺点是我希望用户能够将文件保存到本地机器上——我已经了解到小程序运行在沙箱中,这会阻止它们访问本地机器

我也知道我可以使用PHP,但我想利用Java非常适合的面向对象设计

是否有人有任何想法、建议或到教程/网页的链接可以帮助我决定如何最好地进行这项工作


非常感谢您的任何想法。

如果您对基于JavaEE的web开发感到满意,您可以将您的应用程序与Tomcat或Jetty捆绑在一起

如果您不想只为一个应用程序运行独立的servlet容器,还可以将Jetty嵌入到可运行的Java应用程序中(请参阅文档)

无论哪种方式,您都可以利用现有的Java EE框架(Spring JDBC、Hibernate,所有这些web框架)来抽象技术复杂性,尽管使用嵌入式Jetty,您可能需要为您选择的web应用程序框架编写某种集成层。

我认为您应该给出,一个轻量级的rest框架是一个尝试。本教程向您展示了如何启动本地Web服务器,从而在几分钟内通过浏览器提供一个“Hello World”(不开玩笑!),并提供了大量的扩展以满足各种需求

与此相结合,您可以将应用程序部署并启动到本地主机,这应该是您所需要的。

可能是一个有用的起点。它将为您提供一个独立的web服务器解决方案,并通过动态生成的web页面来满足JDBC需求和CRUD(创建-读取-更新-删除)功能。整合一个通过网页提供数据库接口的应用程序应该花费最少的努力


(仅供参考。Grails是Java的等价物)

使用JDBC并不意味着您必须编写小程序,您可以在任何类型的应用程序中使用JDBC:桌面应用程序、web应用程序、EJB、MDB等

您想在服务器端使用浏览器和Java吗?然后使用servlet/jsp。考虑使用演示框架(Struts 2,Spring MVC,…),为其他设施和布线提供数据访问和Spring。这也是个好主意

顺便说一句,我不是PHP专家,但PHP具有面向对象的功能(在PHP4中引入,在PHP5中增强),因此如果选择PHP,您不会牺牲一切


所以这取决于你想做什么。如果您想编写一些Java(webapp或桌面应用程序):选择Java。如果您想快速地放置一些web页面并拥有apache服务器,请选择PHP。如果您希望实现真正的高生产率,那么可以选择Grails或Grails。

如果您希望将其作为小程序来实现,您可以。对小程序进行签名,并授予其访问本地网络的权限(以通过这种方式连接到MYSQL服务器)。。。那应该是可能的

我知道你说过你不想在java中乱搞GUI的东西,但是你看过java web start吗?它几乎完全满足你的需要;用户通过web浏览器单击链接,您的应用程序就部署在他们的机器上,它甚至会检查以确保使用了正确的JVM。因为它是一个完整的应用程序,而不是小程序,所以你的应用程序不会被沙盒,你的程序中没有任何访问限制(除了普通的java东西…),例如,你可以很容易地完成你提到的事情并与mySQL数据库对话。唯一的缺点,就是我前面提到的,就是您必须用java设计UI


正如有人建议的那样,您可以在应用程序上使用embbedjetty服务器,让用户使用某种shell脚本或批处理脚本启动应用程序。您只需使用Java Web应用程序和您的应用程序对layour目录进行投诉。即:

MyApplication app/ WEB-INF/ lib/ classes/ web.xml start.bat | start.cmd - depends on your client OS start.sh | 我的申请 应用程序/ WEB-INF/ 解放党/ 班级/ web.xml start.bat| start.cmd-取决于您的客户端操作系统 start.sh|
然后,你只需要在一开始就启动Jetty。[bat | cmd | sh]并将你的应用程序作为你的webapplication上下文和完成

你可以试试GWT+Google Gears

GWT是一个GUI工具包,类似于用于浏览器的Swing。GoogleGears是一个浏览器端数据库。您的应用程序在单个HTML文件中完全使用Javascript,并且与跨浏览器兼容


GWT应用程序可以进行服务器调用,Gears可以与服务器数据库同步。因此,您不需要将应用程序数据完全限制在本地桌面上。

如果您对一些实验感兴趣,比如新东西,并且希望重用过多的Java LIB(包括JDBC),那么您可能会对,它是基于的。

Jetty/Tomcat的另一个替代品是Winstone—一个非常简单的servlet容器。谢谢,我将对此进行研究。我有使用JBoss应用服务器的经验,Tomcat和Jetty是这样的吗?Tomcat和Jetty是纯servlet容器,但从您描述的情况来看,这很可能就是您所需要的。如果你不知道