2012-05-14 18 views
7

Cuando tengo acceso a una página JSP como este en un servidor de desarrollo appengine:appengine servidor de desarrollo java mostrar el código fuente

localhost: 8888/index.jsp/

que está mostrando el código fuente de index.jsp en el navegador. si accede sin la barra inclinada final (es decir, index.jsp), entonces representa jsp pero con la barra inclinada (es decir, index.jsp /) muestra el código fuente

¿Alguna idea de por qué es esto? ¿Y como arreglarlo?

Parece suceder solo en el servidor de desarrollo y no en producción. La producción arroja un error 404 No encontrado, lo cual está bien.

estoy usando SDK 1.6.4

web.xml:

<?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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 

    <servlet> 
     <servlet-name>RegisterPage</servlet-name> 
     <jsp-file>/register.jsp</jsp-file> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>RegisterPage</servlet-name> 
     <url-pattern>/signup</url-pattern> 
    </servlet-mapping> 


    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

==========

así que ...

índice. jsp -> renderiza la página

index.jsp/-> devuelve el código fuente

register.jsp/-> devuelve el código fuente

register.jsp -> renders JSP

de registro/-> muestra register.jsp

de registro -> renders register.jsp

por lo parece que son las direcciones URL con * .jsp/que tienen el problema

+0

¿Puede mostrar el código fuente de la página index.jsp? Sería genial encontrar el problema exacto. –

+0

¿Es un error tipográfico o realmente tiene un '/' después del nombre del archivo? –

+0

Normalmente, este es un error de configuración en el servidor web. – Teg

Respuesta

1

Debe mover todos los archivos * .jsp al directorio/WEB-INF y actualizar su web.xml.

De esta manera, los archivos * .jsp no serán accesibles directamente, y el código fuente estará oculto.

<?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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
<servlet> 
    <servlet-name>RegisterPage</servlet-name> 
    <jsp-file>/WEB-INF/register.jsp</jsp-file> 
</servlet> 
<servlet-mapping> 
    <servlet-name>RegisterPage</servlet-name> 
    <url-pattern>/signup</url-pattern> 
</servlet-mapping> 

<servlet> 
    <servlet-name>IndexPage</servlet-name> 
    <jsp-file>/WEB-INF/index.jsp</jsp-file> 
</servlet> 
<servlet-mapping> 
    <servlet-name>IndexPage</servlet-name> 
    <url-pattern>/index</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>/index</welcome-file> 
</welcome-file-list> 

+0

gracias, ¡funcionó! sin embargo, en la lista de archivos de bienvenida, las rutas absolutas no funcionan, así que tuve que usar "índice" en lugar de "/ índice" ... –

0

Tengo un problema cuando utilizo "redirigir" y apache tomcat 7, porque el redireccionamiento no es compatible con la nueva versión de apache. Para resolver sus problemas de búsqueda de noticias en changelog de su versión de apache (si lo usa) para la etiqueta que utilizó en su página, o publique el código de su página para poder sugerir otras soluciones. Puede ser que estés usando etiquetas obsoletas. Además, mantenga a raya el archivo localhost [DATE] .log para obtener más información

Cuestiones relacionadas