JSP en /WEB-INF devuelve "Estado HTTP 404 El recurso solicitado no está disponible"
Creé un archivo JSP.
sample.jsp
<%@ page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
This is jsp program
</body>
</html>
Lo coloqué aquí en el samplejsp
proyecto.
samplejsp
`-- WebContent
`-- WEB-INF
`-- sample.jsp
Lo abrí en la siguiente URL.
http://localhost:8080/samplejsp/sample.jsp
Pero muestra el siguiente error en el navegador.
ERROR 404
El recurso solicitado (/sample.jsp) no está disponible.
404 simplemente significa "No encontrado" .
O la URL es incorrecta (nota: ¡distingue entre mayúsculas y minúsculas!) o el recurso no está donde cree que está.
Simplemente verifique la URL y/o verifique si el recurso está donde espera que esté. Lo colocaste sample.jsp
en /WEB-INF
carpeta. De esta manera, no es accesible públicamente sin llamar a través de un servlet de controlador frontal.
Ponlo afuera /WEB-INF
.
samplejsp
`-- WebContent
|-- WEB-INF
`-- sample.jsp
Si desea conservarlo /WEB-INF
, debe crear un servlet de controlador frontal que lo reenvíe con el doGet()
método que se muestra a continuación.
request.getRequestDispatcher("/WEB-INF/sample.jsp").forward(request, response);
Finalmente "abra" el JSP simplemente llamando a la URL real del servlet en lugar de a la URL ficticia del JSP.
Ver también:
- ¿Para qué se utiliza WEB-INF en una aplicación web Java EE?
- Llamar al servlet desde JSP
- doGet y doPost en Servlets
Está principalmente relacionado con la estructura o el empaquetado de su directorio.
¿Puedes agregar la estructura de tu directorio?
Similar a abajo -
src
|-html\
|-jsp\
Quizás esto debería hacerlo.
<form action="sample.jsp" method=get>
<input type =submit value="submit">
</form>
Editar : WEB-INF no permite el acceso directo a JSP.