2016-07-18 7 views
0

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!

Antwort

0

Sie scheinen nichts geschrieben zu haben, um statischen Inhalt zu liefern. Sie müssen something like this tun.

+0

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

+0

aha - eine Lösung gefunden. http://StackOverflow.com/Questions/22965738/How-to-serve-static-files-in-my-web-application-on-tomcat – nmodi

+0

Aber ich frage mich, ob es möglich ist, den statischen Inhalt mit dem gleichen zu bedienen URL-Muster als dynamischer Inhalt. – nmodi