Beim Versuch, auf eine HTML-Datei in meinem Dynamic Web Project zuzugreifen, erhalte ich den Fehler 404.Warum erhalte ich einen Fehler 404 (die angeforderte Ressource ist nicht verfügbar) auf Tomcat 7.0.70, wenn sich meine HTML-Datei im WebContent-Ordner befindet?
Hier ist meine 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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>NMWebServices</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>NMServlet</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.nilaymodi.services</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>NMServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
meine HTML-Datei:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Inspiration Generator</title>
</head>
<body>
<p>testing</p>
</body>
</html>
meine Java Rest Serviceklasse
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@Path("/inspiration")
public class Endpoints {
@GET
@Path("/")
@Produces(MediaType.APPLICATION_JSON)
public Response getInspiration() {
Inspiration inspiration = InspirationFactory.generate();
Gson gson = new Gson();
String result = gson.toJson(inspiration, Inspiration.class);
return Response.ok(result, MediaType.APPLICATION_JSON).build();
}
@GET
@Path("/test")
@Produces(MediaType.TEXT_PLAIN)
public Response testConnection() {
return Response.ok("Sucess! Service is running.", MediaType.TEXT_PLAIN).build();
}
}
, die an der URL vollständig funktioniert gut „localhost : 8080/apps/inspiration/"
mein Kontextstamm ist "apps" und ich versuche, die HTML-Datei mit der URL "localhost: 8080/apps/inspiration.html" zu treffen, die die URL-Eclipse gibt, wenn ich mit der rechten Maustaste auf die HTML-Datei klicke und gehe auf dem Server laufen. Ich benutze Tomcat v7.0.70
jede Hilfe würde sehr geschätzt werden!
danke für die antwort. Ich fand folgendes in der server.xml: NMWebServices ist der Name meines Projekts in Eclipse und Apps ist der Kontext-Root. Ich bin nicht sicher, was ich hinzufügen sollte, basierend auf dem von Ihnen angegebenen Link. –
nmodi
aha - eine Lösung gefunden. http://StackOverflow.com/Questions/22965738/How-to-serve-static-files-in-my-web-application-on-tomcat – nmodi
Aber ich frage mich, ob es möglich ist, den statischen Inhalt mit dem gleichen zu bedienen URL-Muster als dynamischer Inhalt. – nmodi