2012-08-02 23 views
5

En Project Web dinámicas que tengo - default.html páginaenlace desde html a JSP

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<link rel="stylesheet" href="./Styles/Site.css" type="text/css" /> 
<title>Create new customer</title> 
</head> 
<body> 
    <a href="\WEB-INF\forms\CustomerMenu.jsp">Test new</a> 

</body> 
</html> 

también tengo la página CustomerMenu.jsp -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<link rel="stylesheet" href="./Styles/Site.css" type="text/css" /> 
<title>Create new customer</title> 
</head> 
<body> 
    // Table .. 
</body> 
</html> 

La jerarquía de páginas es como la instantánea -

enter image description here

Cuando pulso en el enlace en default.html me sale mensaje de error

- HTTP Status 404 - 

-------------------------------------------------------------------------------- 

type Status report 

message 

description The requested resource() is not available. 

Respuesta

9

Ficheros en /WEB-INF carpeta no son accesibles al público sin necesidad de utilizar un controlador frontal servlet o una etiqueta específica como <jsp:include> que hace o bien un RequestDispatcher#forward() o RequestDispatcher#include().

Si necesita acceder a un archivo JSP directamente por URL, entonces no debe colocar el JSP en la carpeta /WEB-INF. Ponerlo fuera de la carpeta /WEB-INF

WebContent 
|-- forms 
| |-- CreateNewCustomer.html 
| |-- CustomerMenu.html 
| `-- CustomerMenu.jsp 
|-- WEB-INF 
: : 

y corregir el enlace correspondiente.

<a href="forms/CustomerMenu.jsp">Test new</a> 
+0

solo una copia de BalusC dice, la carpeta/WEB-INF si está protegida como parte de un contenedor web y es por eso que todos los recursos web -imágenes, css, js, ...- no están incluidos en. –

+0

@BalusC, ¿la carpeta en WebContent debe llamarse "formularios"? – URL87

+1

No. Era exactamente como * tú * lo llamaste originalmente. Simplemente lo toqué. Todo lo que hice fue mover la carpeta al lugar correcto. Puedes ponerle nombre/estructurarlo como quieras siempre que sea de acceso público. Incluso puede deshacerse de él por completo y simplemente poner sus archivos directamente en la carpeta raíz (la carpeta 'WebContent', allí donde también se encuentra el archivo' default.html'). – BalusC

1

WEB-INF carpeta no se puede acceder al exterior. Deberá mover la jsp fuera de WEB-INF o utilizar la solicitud de reenvío a la jsp.

Cuestiones relacionadas