Comment puis-je déployer une Servlet dans la Jetée?
J'ai créé un Servlet simple que je souhaite déployer dans la Jetée 7.2. Jetty est en cours d'exécution et qui est capable de servir des pages JSP sur http://localhost:8080/jonas/test.jsp
. J'ai commencé à la Jetée avec le java -jar start.jar
commande.
J'ai sauvé ma compilé Servlet MyServlet.class
à <my_jetty_directory>/webapps/jonas/WEB-INF/classes/MyServlet.class
et a ensuite essayé d'accès que le Servlet sur http://localhost:8080/jonas/servlets/MyServlet
mais je reçois un HTTP 404
erreur.
HTTP ERROR 404
Problem accessing /jonas/servlet/MyServlet. Reason:
Not Found
Est-il quelque chose de plus que j'ai à faire? Où dans la Jetée de la structure de fichier dois-je placer MySerlvet.class
?
J'ai maintenant créé un simple web.xml
fichier et enregistrez-le dans <my_jetty_directory>/webapps/jonas/WEB-INF/web.xml
et redémarré mon Jetée, mais il ne fonctionne pas. Voici mon simple web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
</web-app>
J'ai eu un problème similaire avec JSP, c'est résolu maintenant: Comment puis-je déployer un fichier JSP dans le serveur web Jetty?
Je suis l'aide de la Jetée comme un autonome servletcontainer, et je suis seulement le déploiement d'un simple "Hello World" classe de servlet, je n'ai pas appris sur la façon de créer
.war
fichiers encore. Je vais apprendre les bases en premier.OK, alors Bozho a fait correct. Sinon, la réponse aurait été
context.addServlet(new ServletHolder(new MyServlet(), "/myservlet"))
comme indiqué ici docs.codehaus.org/display/JETTY/Embedding+JetéeOriginalL'auteur Jonas | 2010-11-08
Vous devez vous connecter pour publier un commentaire.
Vous avez à faire correspondre votre servlet dans
web.xml
, à l'aide de<servlet>
et<servlet-mapping>
, ou de les annoter avec@WebServlet
si l'aide de servlet 3.0.web.xml
fichier comme vous l'avez suggéré. Cependant, je ne sais pas vraiment comment il devrait ressembler et être placé. Je suis en train de lire un livre "Murach Java Servlets et JSP" à partir de 2003. - Vous suggérer d'autres balises. Monweb.xml
ne résout pas ce problème.vous avez montré seulement
<servlet>
et pas de<servlet-mapping>
- ajouter un mappage (ce qui définit l'URL de cartes qui servlet)Mon livre était vieux et n'avait pas
<servlet-mapping>
mais maintenant, je dois apprendre à ce sujet, et maintenant il fonctionne très bien. Merci encore.Jeter le livre loin et de lire servlet info tag de la page pour de meilleurs liens/tutoriels/les livres.
un petit exemple sur la façon de modifier web.xml aurait été génial
OriginalL'auteur Bozho
Je pense qu'il devrait y avoir une config ou readme.txt fichier dans le dossier d'installation ou de lib ou un bac ou conf sous-dossiers de votre Serveur Jetty. Lire par ceux et vous obtiendrez les répertoires spécifiques pour mettre vos classes. Le réglage de votre répertoire classes dans le serveur Jetty ou, au moins, rappelez-vous. Ceux-ci seront les classes de fonctionner lorsque le serveur Jetty s'exécute.
Comme pour le classpath java a une manière d'être dit de courir les classes à partir spécifie les dossiers. Vous pouvez ajouter un-:
À cela "." - point, dans la variable classpath, vous ferez l'exécution de la commande java regardez dans les classes actuelles direcory.
OriginalL'auteur Shahab Hameed