Spring MVC http status 404-Fehler
Ich bekomme diese Fehlermeldung nach Eingabe von url
localhost:8080/HelloWeb
HTTP Status 404 - /HelloWeb
type Status report
message /HelloWeb
description The requested resource is not available.
Apache Tomcat/7.0.30
Ich bin nicht in der Lage, es zu lösen, bitte jemand helfen
hier sind meine Dateien, die erforderlich sind, um zu tun, führen Sie diese SPRING MVC hello-Programm
HelloController.java
package com.tutorialspoint;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/hello")
public class HelloController {
@RequestMapping(method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("message", "Hello Spring MVC Framework!");
return "hello";
}
}
Hallo.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
web.xml
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Spring MVC Application</display-name>
<servlet>
<servlet-name>HelloWeb</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWeb</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
HelloWeb-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="com.tutorialspoint" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
und hier ist mein Projekt-Hierarchie
HelloWeb
src
com.tutorialspoint
WebContent
jsp
Hallo.jsp
META-INF
MANIFEST.MF
WEB_INF
lib
HelloWeb-servlet.xml
index.jsp
web.xml
sorry, ich habe vergessen zu zählen, dass ich nach dieser Spring MVC Beispiel von
tutorialspoint.com/spring/spring_mvc_hello_world_example.htm
- Ich bin auch immer die gleichen Fehler. Hast du die Lösung ?
- Nein, ich nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du benutzt die falsche URL. Die richtige URL ist localhost:8080/hello oder localhost:8080/HelloWeb/Hallo, je nach dem, wie, die Sie bereitstellen.
wenn Sie auf die url
localhost:8080/HelloWeb/
es muss eine landing-page anzeigen, was Sie können angeben, in die web.xml. Fügen Sie diese zu Ihrem web.xml unter deraber wenn Sie benötigen Zugriff auf das servlet, die Sie benötigen, um die url anzugeben, die als
localhost:8080/HelloWeb/hello
<mvc:annotation-driven/>
in Ihrem HelloWeb-servlet.xml@RequestMapping(value="/hello", method = RequestMethod.GET)
über Ihre Methode printHelloDies ist zu spät, aber auch ich hatte das gleiche problem, da habe ich auch code aus tutorialspoint.com
versuchen Sie, diese in Ihrem
HelloWeb-servlet.xml
Dies wird es ermöglichen, Annotationen
und wie gut sind diese in Ihrer
web.xml
Ich hatte das gleiche problem und entdeckt, dass meine jsp-Namen hatte einen Raum. Das Beispiel von tutorialspoint funktioniert perfekt so wie es ist.
Ich weiß, dass dieser post schon sehr alt ist, ist dies für den Willen andere stehen vor der gleichen Herausforderung.
Ihre url-mapping ist nicht richtig zugeordnet. Verwenden Sie diese als Ihre controller. beachten Sie die änderung ist einfach nur 'Hallo' zu 'helloWeb' der name in Ihrem Controoler (@RequestMapping("/hello")) sollte die gleiche sein wie der name in Ihrem web-app (
HelloWeb
/
)
Dies ist Ihr code...
Aber Sie haben nicht einen Ordner dort suchen Sie in Ihrer Projekthierarchie.
Daher, ändern Sie den code in unten:
Als @SparkOn darauf hingewiesen, dass die demo fehlt
<mvc:annotation-driven/>
Ich eine funktionierende version auf github, so dass jeder verwiesen auf dieser Seite können Kasse und führen Sie es mit
maven
, wie folgt:build mit maven
browser und gehen Sie zu, Eingabe
http://localhost:8080/hello
sehen Sie
Ich habe in ähnliches problem und folgte nur wenige Schritte, um das Problem zu beheben. Obwohl seine sehr alten Beitrag die Lösung anderen helfen kann 🙂
Die Schritte, die ich gefolgt, um das problem zu lösen
1.Überprüfen Sie die server-Konfiguration
sollten Sie Tomcat-Homepage für http://localhost:8080/ sonst Folgen Sie den unten stehenden link
Tomcat begann in Eclipse, aber nicht in der Lage zu verbinden http://localhost:8085/
2.Warum tomcat-server, location-Eigenschaft ist Grau in Eclipse
3.Vergessen Sie nicht, um die Deploypath, um webapps
4.Recht Klischee auf Projekt-> "RunAs" ->RunOnServer
5.gehen Sie zu browser, Eingabe http://localhost:8080/yourApplicationName/yourPath