Question

À l'heure actuelle, j'ai beaucoup de Java qui fait toutes sortes de choses nifty et je suis heureux avec elle. Le code est en ligne de commande qui ont été beaucoup jusqu'à présent, mais j'ai récemment décidé que je veux faire les fonctionnalités disponibles par le biais de services Web. Depuis que mon est complexe et je suis content de la façon dont il est écrit, je ne veux pas passer par la douleur de portage vers d'autres langues. Je suis donc parti pour un voyage de Google pour savoir quels serveurs Web existent (sur une machine Linux, mais il est intéressant d'entendre la réponse sans cette limitation).

D'après ce que je pouvais trouver, il semble qu'il existe deux options viables: Apache Tomcat et Sun Java serveur .

Quelles sont les raisons de choisir l'un sur l'autre? ce sont la force de chacun et quelles sont les faiblesses? Ou, peut-être, il y a une troisième qui est beaucoup plus facile, souple et moins encombrant.

Tout le monde?

Était-ce utile?

La solution

facile, flexible et peu encombrant, ce serait jetée , mais aussi Simpleweb pourrait être utile. Vous ne en dire beaucoup sur votre logiciel donc je ne suis pas vraiment sûr, mais pour un programme de ligne de commande, je ne pense pas que vous avez besoin tous les trucs JavaEE.
Les serveurs traditionnels sont ces .
Je pense que le Tomcat Apache vs Glassfish (Sun Java Server) discussion est hors de propos pour vos besoins, tout FERAIENT.

Autres conseils

Il y a pour de nombreux conteneurs applications Java Web , ils ont tous leurs propres forces et faiblesses . Si vous êtes à la recherche d'un conteneur pour soutenir une application métier, vous devriez probablement jeter un oeil à la façon dont ils diffèrent et travailler qui convient à votre entreprise et les pilotes informatiques.

L'essentiel est que tous en charge la spécification de servlet - vos webapps peuvent fonctionner dans l'un d'eux - ce qui signifie que vous pouvez facilement changer votre esprit. Certains d'entre eux soutiendra également plus des spécifications Java Enterprise Edition, donc peut-être trop lourd pour vos besoins.

Si vous êtes juste de commencer, je vous suggère de Tomcat. Il est simple, mais il est fiable, rapide à exécuter et le démarrage, et il a un Web très facile interface déploiement webapp.

Votre question est en fait un peu trop ambigu et large. Vous pouvez en fait exécuter du code Java à toute machine vous voulez, quelle que soit la langue que vous avez programmé l'interface webbased. Vous pouvez par exemple créer un site web basé sur PHP qui interagit avec une application Java « back-end » ( la « application de ligne de commande » comme vous l'appelez). La seule condition est d'avoir un JRE sur la machine serveur. Ensuite, essentiellement tout comme l'interface web suffit: CGI, PHP, ASP, Python, etc., vous nommez. Tant qu'il a accès à l'exécution de ligne de commande sous-jacente, qui est dans l'exemple de PHP à faire par exec().

Mais Java, Java EE en fait, fournit également une interface de programmation d'applications Web: JSP / API Servlet , le composant web du grand Java EE API . Cette intégration marque avec le « application Java commandline » beaucoup plus transparente. Vous pouvez fondamentalement juste mettre votre application dans le classpath et l'importation / l'accès / l'utiliser dans une classe Servlet réel Java façon:

YourApplication app = new YourApplication();
Result result = app.doStuff();
// ...

Pour être en mesure d'exécuter JSP / Servlet (JSP est à la fin en fait aussi un Servlet), vous avez besoin d'un Béton mise en œuvre de l'API Servlet (l'ensemble Java EE est juste une spécification abstraite). Apache Tomcat est bon de commencer, l'autre alternative populaire étant Eclipse jetée . Ce sont servletcontainers « simples » qui implémente l'API Servlet, avec la jetée étant une approche plus intégrée de celui-ci (vous pouvez configurer et exécuter comme une application Java « plain vanilla »). Mais si vous avez besoin pour soutenir / couvrir les autres aspects de l'API Java EE ainsi, alors vous avez besoin d'un serveur d'applications, telles que JBoss AS (les deux qui, par la voie utilise Tomcat comme pièce servletcontainer).

Pour en savoir plus sur JSP / Servlet, je peux recommander Coreservlets.com tutoriels .

Apache Tomcat doit faire le bien.

Le concept standard pour l'exécution de code à l'intérieur d'un serveur Web est le "API Servlet" de Sun.

Pour l'essentiel, il fournit quelques interfaces que le serveur Web utilise pour appeler votre code, et définit comment le serveur web doit se comporter. Cela vous permet d'écrire du code très générique qui peut fonctionner dans une variété de conteneurs Web qui mettent en œuvre l'API Servlet. Voir l'article de Wikipedia pour plus de détails - http://en.wikipedia.org/wiki/Java_Servlet .

Ils viennent dans toutes les tailles aussi, en fonction de vos besoins. Certains assez petit pour intégrer dans votre propre application, certains très grand. L'API Servlet permet de ne pas prendre soin.

Pour un débutant, le meilleur moyen de se lever et courir, est de télécharger la version complète de Netbeans qui comprend un support complet pour faire ce genre de travail, et a construit dans le conteneur de servlet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top