3 Stimmen

Einfaches C-Programm in Elastic Beanstalk

Ich denke, dass das, was ich zu tun versuche, für jeden, der weiß, was er tut, trivial einfach sein sollte, aber die einzige Sprache, in der ich jemals programmiert habe, ist fast ausnahmslos C. Ich bin so schlecht darin. Ich versuche, eine Webanwendung auf Elastic Beanstalk zu erstellen, die mit einem C-Programm kommuniziert. Mein derzeitiger Plan ist es, JNI zu verwenden, um eine native Funktion zu erstellen, die ich auf der Haupt-JSP-Seite aufrufen kann, wenn jemand ein Formular ausfüllt und eine Schaltfläche drückt.

Bisher habe ich auf der C-Seite eine Funktion geschrieben, die die 7 Eingangsvariablen und die 7 Ausgangsvariablen enthält, die das C-Programm benötigt, um alles zu tun, was es tun muss. Ich muss nicht auf eine Datenbank zugreifen oder irgendetwas Schwieriges tun, ich muss nur 7 Variablen ein- und 7 Variablen ausgeben.

Ich habe eine Java-Klasse eingerichtet, die eine native Methode hat. Ich habe ihr eine Hauptfunktion gegeben, die Dummy-Variablen einfügt und die Ergebnisse ausgibt. Die JNI funktioniert, wenn ich alles in einem Verzeichnis kompilieren, ohne Paketnamen oder irgendetwas, das es kompliziert (ich kann es nicht bekommen, mit Paketnamen zu arbeiten.) Also habe ich eine .so-Datei und eine .class-Datei und das alles funktioniert.

Auf der anderen Seite habe ich die anfängliche Einführungs-Webapp genommen, die man von AWS erhält. Ich habe sie auf meinen Rechner heruntergeladen und die War-Datei entpackt (Eclipse fügt einen Haufen Boilerplate und Strukturierung hinzu, und ich habe kein Vertrauen in meine Fähigkeit, das Ganze mit neuen Tools wie Ant oder ähnlichem weiter zu verkomplizieren, um die Kompilierung durchzuführen (ich komme mit javac, javah und jar sehr gut zurecht, vielen Dank)). Ich habe ein Formular auf der index.jsp-Seite und einige Javascript, die Eingabevariablen nimmt führt eine Funktion auf sie dann klebt Ausgabedaten auf dem Formular erstellt.

Soweit ich das beurteilen kann, muss ich jetzt nur noch die Java-Klasse aus .jsp aufrufen, und das sollte die ganze Sache miteinander verbinden. Ich verstehe, dass es einen besseren Weg, dies zu tun sein kann. Wenn ich gegen ein tiefes Prinzip der Webapp-Programmierung verstoße oder es ein Sicherheitsproblem gibt, lassen Sie es mich wissen. (Ich werde zum Beispiel meine Dateneingaben bereinigen). Ich scheine nicht genau herauszufinden, wie ich es machen soll. Ein Beispiel für eine Hallo-Welt-Anwendung, die dies tut, wäre sehr hilfreich. Muss ich etwas in die Datei web.xml einfügen? Ich weiß nur vage, dass die .class-Datei in das classes-Verzeichnis gehört. Wo kommt die .so-Datei hin?

Zusammengefasst: Gibt es einen einfacheren Weg, das zu tun, was ich tue (weniger Sprachen/Programme/Codezeilen)? (Ich weiß, es gibt besser Wege) Ist das, was ich tue, auf irgendeine Weise gefährlich? Wie rufe ich eine Java-Klasse aus index.jsp auf? Muss web.xml etwas enthalten? Wie kompiliere ich die JNI, um die .so-Datei an einem anderen Ort als die .class-Datei zu finden? Kann ich die .so-Datei zusammen mit der Klassendatei einbinden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X