Java 弹性豆茎中的简单C程序

Java 弹性豆茎中的简单C程序,java,c,amazon-web-services,java-native-interface,amazon-elastic-beanstalk,Java,C,Amazon Web Services,Java Native Interface,Amazon Elastic Beanstalk,我想我要做的对任何一个知道自己在做什么的人来说都应该是很简单的,但是我用C语言编写的程序几乎没有例外。我做得很差。我正在尝试在elastic beanstalk上创建一个与C程序对话的webapp。我目前的计划是使用JNI创建一个本机函数,当有人填写表单并按下按钮时,我可以在主jsp页面上调用该函数 到目前为止,我已经在C端编写了一个函数,其中包含了C程序执行所有操作所需的7个输入变量和7个输出变量。我不需要访问数据库或做任何困难的事情,我只需要传入和传出7个变量 我已经建立了一个java类,它

我想我要做的对任何一个知道自己在做什么的人来说都应该是很简单的,但是我用C语言编写的程序几乎没有例外。我做得很差。我正在尝试在elastic beanstalk上创建一个与C程序对话的webapp。我目前的计划是使用JNI创建一个本机函数,当有人填写表单并按下按钮时,我可以在主jsp页面上调用该函数

到目前为止,我已经在C端编写了一个函数,其中包含了C程序执行所有操作所需的7个输入变量和7个输出变量。我不需要访问数据库或做任何困难的事情,我只需要传入和传出7个变量

我已经建立了一个java类,它有一个本机方法。我给了它一个主函数,它插入虚拟变量并输出结果。当我在一个目录中编译它时,JNI可以工作,没有任何包名或任何使它复杂的东西(我不能让它使用包名)。所以我有一个.So文件和一个.class文件,所有这些都可以工作

另一方面,我对AWS提供的webapp进行了初步介绍。将它下载到我的机器上并解包war文件(Eclipse添加了一堆样板文件和结构,我不相信我有能力使用诸如ant之类的新工具来进一步使它复杂化,也不相信我有能力进行编译(我非常熟悉javac、javah和jar,非常感谢)。我在index.jsp页面上创建了一个表单,一些javascript接受输入变量并对其执行函数,然后将输出数据粘贴到表单上

据我所知,我现在需要做的就是从.jsp调用java类,这将把整个过程联系在一起。我知道可能有更好的办法。如果我违反了webapp编程的一些深层次原则,或者存在安全问题,请告诉我。(例如,我将继续清理我的数据输入)。我似乎不知道该怎么做。举一个hello world这样做的例子会很有帮助。我需要在web.xml文件中粘贴任何内容吗?我隐约知道.class文件在classes目录中。.so文件在哪里

总之: 有没有更简单的方法来完成我正在做的事情(更少的语言/程序/代码行?) (我知道有更好的方法) 我所做的事在某种程度上是危险的吗? 如何从index.jsp调用java类? web.xml必须有什么吗? 如何编译JNI以在.class文件之外的其他地方找到.so文件?
我可以将.so文件与类文件一起粘贴吗?

我会将.so文件放在$CATALINA_HOME/shared/lib文件夹中,不管它在哪里

如果您不想将其放在那里,可能需要将java.library.path的值指定为传递给java运行时环境的选项之一(例如java-Djava.library.path=/path/to/my.so…),这意味着您可能需要破解tomcat启动器,或者可以将此选项添加到java_OPTS环境变量中