I created a JSP file.
sample.jsp
<%@ page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
This is jsp program
</body>
</html>
I placed it here in the samplejsp
project.
samplejsp
`-- WebContent
`-- WEB-INF
`-- sample.jsp
I opened it on the following URL.
http://localhost:8080/samplejsp/sample.jsp
But it shows the following error in browser.
404 ERROR
The requested resource (/sample.jsp) is not available.
This error indicates that the server could not find the desired resource. This resource can be any file such as JSP, HTML, or image resource. Usually, the resource is present, but it is referenced incorrectly. In most cases, you can fix this by correcting the URL.
404 simply means "Not Found".
Either the URL is wrong (note: case sensitive!), or the resource is not there where you think it is.
Just verify the URL and/or verify if the resource is there where you'd expect it to be. You placed sample.jsp
in /WEB-INF
folder. This way it is not publicly accessible without calling through a front controller servlet.
Put it outside /WEB-INF
.
samplejsp
`-- WebContent
|-- WEB-INF
`-- sample.jsp
If you want to keep it in /WEB-INF
, then you need to create a front controller servlet which forwards to it in doGet()
method as below.
request.getRequestDispatcher("/WEB-INF/sample.jsp").forward(request, response);
Finally "open" the JSP by just calling servlet's actual URL instead of JSP's fictive URL.
It's mostly related to your directory structure or packaging.
Can you please add your directory structure?
Similar to below -
src
|-html\
|-jsp\
Perhaps this should do it
<form action="sample.jsp" method=get>
<input type =submit value="submit">
</form>
Edit - WEB-INF does not allow direct access to JSP.
In my spring boot web application with JSP it didn't worked until I have added this dependency
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
even after configuring view resolver
spring.mvc.view.prefix: /WEB-INF/views/
spring.mvc.view.suffix: .jsp
If you find why this worked please comment.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With