comment exécuter du code c++ à côté serveur à l'aide de serveur tomcat?
Je suis un débutant dans l'écriture d'applications web, veuillez donc coopérer si ses une question idiote. Notre application web est hébergé à l'aide de tomcat 6. J'ai peu de code C++ pour être exécuté au serveur lorsque l'utilisateur clic sur le bouton correspondant. Côté Client est écrit en html/JS et hébergé à l'aide de tomcat.
Donc, Mon problème est que je ne sais pas comment ce code C++ sera exécutée lorsque l'on clique sur un bouton dans la page html. Quelqu'un peut-il m'aider?
[mise à jour]
Je peux changer de tomcat sur un autre serveur mais le code doit être en c++. Donc, si vous avez un autre serveur(wamp ou smthing) ou des liens à faire de même. S'il vous plaît laissez-moi savoir
OriginalL'auteur ashmish2 | 2011-06-22
Vous devez vous connecter pour publier un commentaire.
Tomcat, Java Servlet container est certainement pas le moyen le mieux approprié pour exécuter du code C++. Vous pourrait essayez d'utiliser JNI pour faire une servlet exécuter le code C++, mais il me semble qu'il y a de plus facile et de moyens fiables, comme la bonne vieille CGI. Tomcat peut faire CGI, comme expliqué ici, avec certaines restrictions.
Mise à jour: je pense que nous pouvons convenir que le CGI route est le chemin à parcourir. La plupart des serveurs vous permettent d'exécuter du cgi, et il va certainement être plus simple qu'avec Tomcat. Je vous conseille aussi de déléguer le travail de la connexion de votre code sur le serveur web d'une bibliothèque, comme gnu cgicc (nice tutoriel ici) ou cgic. Un simple vieux WAMP (il vous suffira d'utiliser le WA partie ici) et que l'exemple de code devrait vous obtenir jusqu'à la vitesse en un rien de temps. Le reste sera assez standard de développement Web.
OriginalL'auteur fvu
https://stackoverflow.com/questions/175507/c-c-web-server-library les réponses peuvent bien vous aider.
Donné que le serveur Tomcat n'est plus une obligation, à l'aide d'un différent http frontale peut bien faire de votre vie plus facile.
Si vous décidez de l'utiliser Tomcat Qui de la Bibliothèque C++ pour la Programmation CGI? peut vous aider à choisir une bibliothèque.
Sauf que, si vous utilisez Apache, vous pouvez écrire un plugin module lui-même, au lieu de CGI, qui vous donnera de bien meilleures performances. (D'autres serveurs web ont généralement similaires plug-in méthodologies...)
Bonne Chance
OriginalL'auteur sdg
Je ne suis pas sûr que l'une de ces réponses abordé la question. Le codage d'un CGI en C++ signifierait la lecture des variables d'environnement sont définies par le serveur web, indépendamment de si oui ou non vous utilisez une bibliothèque tierce ou de serveur web est exécuté, y compris tomcat. L'exemple suivant est rapide et sale pour récupérer le plus intéressant d'entrée, la chaîne de requête. Si vous êtes débutant, je crois qu'il est préférable de commencer avec les bases, donc si vous décidez d'utiliser une sorte de bibliothèque externe, il semble moins mystique. Cela devrait vous donner assez de frapper google et de travailler sur ce qui se passe.
Note Content-Type dans la sortie. C'est un en-tête HTTP. Vous pouvez ajouter n'importe quel nombre d'en-têtes avant la double endl. Pour une ampoule moment d'essayer de changer Content-Type text/plain.
Compiler le code d'exemple shiney_cpp_cgi, de le copier dans votre répertoire cgi dir (pour tomcat qui est généralement tomcat_root/webapps/ROOT/WEB-INF/cgi), puis frappez-le avec votre navigateur en tant que tel à l'utilisation de la méthode GET:
À envoyer une requête post, l'utilisation de CURL en tant que tel:
Pour servir de C++ à partir de tomcat, vous pouvez modifier tomcat_root/conf/web.xml et le changement de l'exécutable à une chaîne vide. Par défaut, tomcat va essayez d'exécuter votre C++ comme un script perl, perl qui va (je l'espère!) ne pas être capable d'analyser.
OriginalL'auteur