Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
从JSP网页生成Hello World Exe文件的最短方法是什么?_Jsp_Netbeans_Compilation_Ejb - Fatal编程技术网

从JSP网页生成Hello World Exe文件的最短方法是什么?

从JSP网页生成Hello World Exe文件的最短方法是什么?,jsp,netbeans,compilation,ejb,Jsp,Netbeans,Compilation,Ejb,场景: 当有人进入我的网站:www.domain.com/mypage.jsp时,他会找到一个输入文本框来输入他的名字,还有一个下载按钮。 当用户输入自己的姓名并点击下载按钮时,他将被重定向到一个链接,在该链接中他可以下载在windows下工作的可执行文件。当点击exe时,用户将看到hello world消息 问题:我应该用哪种编程语言编写“helloworld可执行文件”,这样我就可以轻松地对其源代码进行一些修改,并从JSP网页编译它 如果您能分享一些关于如何从JSP网页编译小型Hello

场景:

当有人进入我的网站:www.domain.com/mypage.jsp时,他会找到一个输入文本框来输入他的名字,还有一个下载按钮。 当用户输入自己的姓名并点击下载按钮时,他将被重定向到一个链接,在该链接中他可以下载在windows下工作的可执行文件。当点击exe时,用户将看到hello world消息


问题:我应该用哪种编程语言编写“helloworld可执行文件”,这样我就可以轻松地对其源代码进行一些修改,并从JSP网页编译它


如果您能分享一些关于如何从JSP网页编译小型Hello World exe、需要导入哪些库以及从JSP网页编译哪种语言更容易的示例,我们将不胜感激

这其中最困难的部分可能是找到一种具有现有交叉编译器平台的编程语言,它将在服务器运行的任何操作系统上编译.exe文件。如果您的服务器运行Windows,这并不困难。这里的问题是,我们不确定您正在运行哪个操作系统。不用猜测,解决方案似乎是以VB的形式存在的(无论多么不幸)。您的服务器将永远不必修改源代码。您的代码可能类似于:

Module mainModule
    Sub Main()
        Console.WriteLine("Hello " & Name & ". Press enter to exit.")
        Console.ReadLine()
    End Sub
End Module
要编译此文件,服务器可以调用Microsoft VB编译器或Mono VB编译器作为shell命令,使用
/define:
开关定义名称。确保在将名称放入命令之前对其进行消毒!确保它不包含任何命令行可能不希望解释的字符,如管道字符、换行符和引号

Mono命令:
vbnc filename.vb/define:Name=\“Fred\”/out:Fred.exe

Microsoft命令:
vbc filename.vb/define:Name=\“Fred\”/out:Fred.exe

如果你的服务器碰巧运行Windows,那么你可以调用微软C++编译器来实现与C代码相同的效果。这样也好不到哪里去。也许,如果取得一些成功,您可以将

cl.exe
从Windows环境复制到Linux(或其他非Windows)环境,并使用WINE运行它。如果是这样的话,我更喜欢这个选择。您的源代码可能如下所示:

#include <stdio.h>
int main(void) {
    puts("Hello " NAME ". Press enter to exit");
    getchar();
}
#包括
内部主(空){
放置(“Hello”NAME.按回车键退出”);
getchar();
}

。。。该命令类似于:
wine cl.exe filename.c/DNAME=“Fred”/out:Fred.exe
,具有防止恶意用户劫持系统所需的相同预防措施。

几乎任何使用纯文本源文件并具有编译器的语言都可以工作。对源代码进行简单搜索/替换,编译,完成。@MarcB不正确。这里的挑战是找到一个编译器,为OP运行的操作系统生成不依赖于非本机外部库的.exe文件。