jboss - not - http status 404 solucion
Cómo personalizar la página JBoss AS7 404 (3)
Ya creé una página 404 personalizada dentro de mi aplicación web implementada en JBoss AS 7.1. Entonces, si mi aplicación está en fubar dot com: 8080 / Myapp y voy a fubar dot com: 8080 / Myapp / xyzzy, obtengo la página de error personalizada (definida en el archivo web.xml de la aplicación web).
Sin embargo, cuando voy a fubar dot com: 8080 / xyzzy, JBoss muestra la página 404 predeterminada que revela que es JBoss y qué versión de JBoss.
Necesito reemplazar esta página para ocultar esta información.
Por favor avise.
Su problema: definió la página de error personalizada en web.xml
de Myapp
. Ahora, si accede a cualquier recurso con la raíz como Myapp
y la solicitud arroja un 404
, devuelve la página de error personalizada.
Ahora desea que si accede a cualquier otra raíz, aquí xxyzzzz
desea devolver la página de error personalizada.
Ahora, lógicamente, si configuró un archivo para otro proyecto, no puede esperar que sea el mismo para otro proyecto
A no ser que
o configuras lo mismo para otro proyecto, es decir,
xxxyzzz
también. es decir, coloca la configuración 404 en suweb.xml
también.o necesita hacer algo en el alcance del servidor.
La primera solución es bastante simple y fácil en caso de que haya menos proyectos y que no espere una URL que no coincida con ninguno del proyecto.
si quieres ir con la primera solución, sabes cómo hacerlo
En cuanto al segundo enfoque. Podría encontrar algunas publicaciones que deberían ser útiles para usted
referir estos
con jboss as7, la costumbre de web.xml global se ha ido. Solo pude encontrar una forma de configurar una página de error global de 404. refiérase aquí. FUNCIONA: D
Creo que deberás crear tu propia página. JBoss usa Tomcat para atender las solicitudes web.
En Tomcat, la forma de definir su propia página de respuesta 404 es tener el siguiente fragmento en su web.xml (Ref - http://wiki.apache.org/tomcat/FAQ/Miscellaneous#Q6 )
<error-page>
<error-code>404</error-code>
<location>/error/404.html</location>
</error-page>
Mykong @ http://www.mkyong.com/struts/how-to-handle-404-error-in-struts/ crea una página detallada sobre cómo hacer esto con struts.
Si está utilizando cualquier otro marco que los puntales, debe tener un equivalente.
Si desea personalizar las páginas de error para todos los demás contextos en JBoss 7, una parte de la configuración que tiene en su aplicación Myapp, también tendrá:
- para deshabilitar la página de bienvenida de JBoss: en el archivo independiente / configuration / standalone.xml (o domain / configuration / domain.xml), establezca el atributo enable-welcome-root como falso (de manera predeterminada es verdadero)
- Luego tendrá que desplegar un archivo war simple configurando su raíz de contexto a ''/'', y definirá la página de error para esta guerra (usando el mismo método que usó para Myapp). Entonces, la estructura de guerra debería ser similar a (el nombre error.war es arbitrario):
error.war | |- META-INF |- WEB-INF | | | |- web.xml | |- jboss-web.xml | |- error |- 404.html
donde El archivo web.xml es:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>yourcompanyname</display-name>
<error-page>
<error-code>404</error-code>
<location>/error/404.html</location>
</error-page>
</web-app>
Y en jboss-web.xml defina la raíz de contexto como ''/'', por lo que sería:
<jboss-web>
<context-root>/</context-root>
</jboss-web>
El archivo 404.html es su página de error html personalizada que Jboss mostrará en lugar del error predeterminado 404. Eso es todo, implemente esta aplicación en JBoss 7, y tendrá su página personalizada de error 404 cuando visite fubar dot com: 8080 / yzyqqa o cualquier otro contexto raíz. Recuerde que también deberá mantener la configuración de errores en su web.xml de Myapp (y en todas las demás aplicaciones que pueda desplegar en el servidor).
Por cierto, ¿has considerado hacer que tu aplicación Myapp esté disponible directamente desde fubar dot com: 8080 ? O incluso mejor, haciendo que el servidor jboss solo sea accesible desde un proxy (por ejemplo, Apache). De esta forma también evitarías este problema.
¡Espero que ayude!