JBoss rapport d'erreur: code d'État HTTP 404 - Servlet n'est pas disponible
Je suis en train de créer un web de base du projet "web" à l'aide de MyEclipse et JBoss 5 comme un serveur d'application. J'ai créé un package appelé "pages" et à l'intérieur d'une servlet appelle "UserInterface". Le problème est lorsque j'déployer le projet et exécutez le serveur, je reçois toujours le rapport d'erreur: code d'État HTTP 404 - Servlet n'est pas disponible.
C'est une partie de mon web.xml:
<servlet>
<servlet-name>UserInterface</servlet-name>
<servlet-class>pages.UserInterface</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserInterface</servlet-name>
<url-pattern>/UserInterface</url-pattern>
</servlet-mapping>
et je suis à la navigation dans le navigateur pour: http://localhost:8080/web/UserInterface
Ce que je fais mal?
Grâce
Une liste des fichiers dans le déploiement de l'application web serait utile. Êtes-vous de les déployer en tant que .la guerre?
aussi le projet est déployé avec le chemin de contexte = web? pouvez-vous accéder à la racine localhost:8080/web?
Lors du démarrage du serveur ou de l'application commence à être déployée, voyez-vous des problèmes dans les journaux ou à la sortie de la console ?
Oui localhost:8080/web ouvre la page d'index avec des pas de problèmes et @Santosh, non, je l'ai regardé attentivement, pas d'exceptions ou que ce soit
aussi le projet est déployé avec le chemin de contexte = web? pouvez-vous accéder à la racine localhost:8080/web?
Lors du démarrage du serveur ou de l'application commence à être déployée, voyez-vous des problèmes dans les journaux ou à la sortie de la console ?
Oui localhost:8080/web ouvre la page d'index avec des pas de problèmes et @Santosh, non, je l'ai regardé attentivement, pas d'exceptions ou que ce soit
OriginalL'auteur Nada Naoushi | 2011-11-24
Vous devez vous connecter pour publier un commentaire.
404 signifie que l'URL que vous essayez d'accéder n'est pas celui d'une ressource existante sur votre serveur. Vérifiez l'adresse de nouveau, peut-être que le "web" (à partir de
http://localhost:8080/web/UserInterface
) la partie n'est pas correcte parce que peut-être l'application n'est pas déployé avec ce nom. Par défaut le contexte de l'application nom est derrived à partir du nom de fichier de l' ".de la guerre" fichier, par exemple si votre fichier est "myApp.de la guerre", votre application devrait être disponible àhttp://localhost:8080/myApp
Aussi, si vous êtes réellement le déploiement d'une guerre à l'intérieur d'un .fichier ear que ce que l'oreille fichier contiendra une application.xml aplpication descripteur qui peuvent correspondre votre application fichier à un contexte spécifique, peu-importe ce que l' .guerre, le nom de fichier est, quelque chose comme:
Enfin, si vous êtes autodeploying à partir d'Eclipse avec le JBoss, Eclipse connecteur, parfois, la chose la pénétration d'insectes et ne prend pas le fait de déployer votre application correctement (même si l'application elle-même est très bien). Si c'est le cas, en essayant déploiement manuel de l' .la guerre à un serveur d'application et de vérification de cette façon.
OriginalL'auteur Shivan Dragon
Le chargement de la servlet a échoué (si la servlet n'a pas été correctement déclaré dans
web.xml
ou l'URL est incorrecte, alors vous devriez plutôt vu "404 - Ressource introuvable"). Il suffit de mettre, le<servlet-class>
est mal ou la classe de béton fichier n'est pas présent dans les/WEB-INF/classes
.seulement quand jeté par
service()
,doGet()
et ainsi de suite. Mais dans ce cas, la servlet est tout simplement pas disponible à tous. Le conteneur est conscient de l'URL du servlet de cartographie, mais n'ont pas de travail valides instance à mains, parce que l'instanciation/initialisation a échoué.Hm, ouais, mais je suis tout à fait sûr de ma propre merde de codage que si j'ai, par exemple, ont un servlet avec un init() surchargée de la méthode qui jette un NPE, puis accéder à cette servlet (Jetée par exemple) sera de retour HTTP 500.
L'OP est à l'aide de JBoss, pas de la Jetée.
BalusC: Faire une webApp avec un servlet. Lever une exception dans le constructeur ou la méthode init (). Déployer vers JBoss as. Accéder à votre servlet URL. Ensuite, l'accès à une URL inexistante. Voir quand vous obtenez l'erreur HTTP 404 et quand vous obtenez HTTP 500.
OriginalL'auteur BalusC
Je ne comprends toujours pas ce qui n'allait pas, mais j'ai créé un autre servlet l'utilisateur appelé, et dans le web.xml j'ai ajouté /servlet avant de la classe et de naviguer dans le navigateur (http://localhost:8080/web/servlet/User) et cela a fonctionné.
Merci à tous pour votre aide!
OriginalL'auteur Nada Naoushi