2017-05-12 2 views
0

Ich bin mit Frühling zu arbeiten und beschlossen, dieses Tutorial zu folgen:kann nicht auf Setup Spring + Maven Projekt

http://www.programcreek.com/2014/02/spring-mvc-helloworld-using-maven-in-eclipse/

Meine Dateien und Dateistruktur der Anleitung übereinstimmen, und index.jsp arbeitet. Allerdings, wenn ich zu gehen klicken, um zu helloworld.jsp, erhalte ich die folgenden 404 Fehler:

Der Ursprungsserver nicht eine aktuelle Darstellung für das Ziel Ressource gefunden hat oder nicht bereit ist, dass man offen zu legen existiert .

Kann jemand vorschlagen Orte zu graben? Stimmt etwas nicht mit dem Tutorial, das nicht für Tomcat 8.5 geeignet ist? Oder ist es wahrscheinlicher, dass etwas mit meinem Setup nicht stimmt?

EDIT: Ich habe folgendes installiert:

  1. Tomcat 8.5.14
  2. Eclipse-Neon mit Frühlings-IDE
  3. Maven 3.5.0

Wenn es hilft, Maven hat schon gearbeitet, bevor ich es mit einem Web/Spring verwendet habe (dh mvn install lädt die richtigen Bibliotheken herunter)

Ich habe eine image meiner Dateien enthalten und unten ist der eigentliche Code der Dateien, die ich glaube, sind relevant:

UserController.java

package com.ankurmgoyal.hellotest.controller; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestParam; 
import org.springframework.web.servlet.ModelAndView; 

@Controller 
public class HelloWorldController { 


String message = "Welcome to Spring MVC!"; 

    @RequestMapping("/hello") 
    public ModelAndView showMessage(
      @RequestParam(value = "name", required = false, defaultValue = "World") String name) { 
     System.out.println("in controller"); 

     ModelAndView mv = new ModelAndView("helloworld"); 
     mv.addObject("message", message); 
     mv.addObject("name", name); 
     return mv; 
    } 
} 

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>Archetype Created Web Application</display-name> 

    <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> 
    </context-param> 

    <listener> 
     <listener-class> 
      org.springframework.web.context.ContextLoaderListener 
     </listener-class> 
    </listener> 
</web-app> 

index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 

pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Spring 4 MVC - HelloWorld Index Page</title> 
</head> 
<body> 

    <center> 
     <h2>Hello World</h2> 
     <h3> 
      <a href="hello">Click Here</a> 
     </h3> 
    </center> 
</body> 
</html> 

helloworld.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Spring 4 MVC -HelloWorld</title> 
</head> 
<body> 
    <center> 
     <h2>Hello World</h2> 
    </center> 
</body> 
</html> 

Dispatcher-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.ankurmgoyal.hellotest.controller" /> 

    <bean 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix"> 
      <value>/WEB-INF/views/</value> 
     </property> 
     <property name="suffix"> 
      <value>.jsp</value> 
     </property> 
    </bean> 
</beans> 
+0

könnten Sie bitte Ihre Einrichtung posten? –

+0

Hallo Bill, ich habe einige weitere Informationen hinzugefügt. Vielen Dank! –

Antwort

0

index.jsp wird von DefaultServlet serviert. Das URL-Muster für den Dispatcher ist /./pattern überschreibt das defaultServlet und alle Aufrufe werden über dieses Servlet geroutet. Ändern Sie das URL-Muster in eine nicht leere Zeichenfolge und probieren Sie es aus.

Weitere Informationen finden Sie unter SO Question.

+0

Vielen Dank für die Antwort. Ich schaute ein wenig tiefer und probierte die verschiedenen URL-Muster aus, die in dem von Ihnen gesendeten Link vorgeschlagen wurden, aber als ich diese ausprobierte, bekam ich denselben Fehler, außer jetzt auf Index. Glauben Sie, dass mein Problem im Wesentlichen darin besteht, dass, wenn ich im Index auf "Click Here" klicke, das "/ hallo" nicht an das DispatcherServlet gesendet wird? –

+0

Können Sie den genauen Code posten, den Sie verwenden?Das wird einfacher zu verstehen sein – yaswanth

+0

Sicher Sache - die Dateien hinzugefügt. Nochmals vielen Dank, dass Sie sich die Zeit genommen haben zu helfen. –

Verwandte Themen