我编写了一个独立的Java应用程序,并将其打包成一个jar文件,该文件接受一些命令行参数,进行一些硬核计算,然后将结果与一些指向结果文件的默认输出流输出到文件中。
现在我想在这项技术周围创建一个网站。想法是用户可以填写一个html表单,将其发布到网页上,然后调用Java应用程序,解析Java应用程序的结果,并将其显示给用户。
目前,我正在使用一些PHP来收集来自POST请求的数据,然后只需使用exec调用:
java -jar -Xmx128m myapplication.jar command-line-arguments
这个方法好吗?
我每天都有几千次访问我的网站,每次执行Java应用程序可能需要30秒到1分钟左右,因此我不希望过度浪费时间。似乎有比直接调用Java更好的解决方案。
我一直听到诸如java servlets、bean、tomcat、glassfish等内容,但我不知道它们是什么以及它们如何使我受益。它们能为我带来什么好处?由于不必每次运行应用程序时都创建Java JVM,速度更快?内存使用更少?显然,我希望尽可能快地运行并占用尽可能少的内存空间。
那么,我应该采取什么最佳方法呢?我不想对我的应用程序进行任何严重的重写,因为有很多代码(因此重写为C或C++是行不通的)。
谢谢。