2017-10-24 1 views
0

Ich kann nicht verstehen, warum mein Controller nicht zu meinem HTML umleiten. Kann mir bitte jemand helfen?Controller funktionieren nicht im Frühjahr

WebConfig.java 

    @Configuration 
    @EnableWebMvc 
    @ComponentScan(basePackages = { "com.udemy.controller" }) 
    public class WebConfig extends WebMvcConfigurerAdapter { 

     @Bean 
     public InternalResourceViewResolver resolver() { 
      InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
      resolver.setViewClass(JstlView.class); 
      resolver.setPrefix("/WEB-INF/views/"); 
      resolver.setSuffix(""); 
      return resolver; 
     } 
    } 

HelloWorldController.java

@Controller 
@RequestMapping("/example") 
public class HelloWorldController { 

    public static final String EXAMPLE_VIEW = "example.html"; 

    @GetMapping("/") 
    public String fileUploadForm(Model model) { 
     return "fileDownloadView"; 
    } 

    @GetMapping("/helloworld") 
    public String helloWorld(){ 
     return "helloworld"; 
    } 
// @RequestMapping(value="/exampleString", method=RequestMethod.GET) 
    @GetMapping("/exampleString") 
    public String exampleString(Model model){ 
     model.addAttribute("name","John"); 
     return EXAMPLE_VIEW; 
    } 

// @RequestMapping(value="/exampleMAV", method=RequestMethod.GET) 
    @GetMapping("/exampleMAV") 
    public ModelAndView exampleMAV() { 
     ModelAndView mav= new ModelAndView(EXAMPLE_VIEW); 
     mav.addObject("name", "Mike"); 
     return mav; 
    } 

AppInitializer

public class MyWebAppInitializer 
     extends AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     return new Class[] {}; 
    } 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     return new Class[] { WebConfig.class }; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     return new String[] { "/" }; 
    } 
} 

Meine Projektstruktur ist gut gemacht. Also meine html und jsps, sind innerhalb der Wurzel WEB-INF/Ansichten. Auch die Anomalie @ComponentScan erkennt den Controller. Also, es ist kein Problem von root. Wer kann mir sagen, warum im ist nicht auf den .html Umleiten, bitte ..

Fehler sagen:

advertencia: Keine Zuordnung für HTTP-Anforderung mit URI [/ spring-mvc-Download-Beispiel/WEB gefunden -INF/views/example.html] in DispatcherServlet mit dem Namen 'Dispatcher'

+0

Was machst du genau, um diesen Fehler zu erzeugen? Wie lautet die Adresse in der Adressleiste Ihres Browsers, wenn dieser Fehler auftritt? –

+0

Das ist die Adresse, die ich versuche ... http: // localhost: 8082/spring-mvc-download-beispiel/example/exampleString – Dekker

+0

Kannst du die Datei web.xml teilen? –

Antwort

0

in Ihrer Controller-Klasse, über dem

@RequestMapping("/example") 

Insert:

@Controller 

gehen sein:

@Controller 
@RequestMapping("/example") 
+0

Sorry, @Controller-Anotation wurde implementiert. Ich habe es jedoch nicht in die Frage gestellt. – Dekker

+0

Ok, haben Sie einen "AppInitializer"? vielleicht fehlt etwas darin –

+0

Nein, ich habe nicht. Soll ich eine Klasse erstellen? – Dekker

0

Sie Klasse HelloWorldController mit @Controller oder @RestController, mit Anmerkungen versehen haben nur dann wird es durch @Componentscan Anmerkung abgeholt werden.

+0

setzen Sie es. Ich vergesse es, um die Frage zu stellen. Jetzt ist die Frage aktualisiert – Dekker

+0

Bitte verwenden Sie richtige Interpunktion, um Ihren Beitrag lesbarer zu machen. Obwohl ich weiß, was deine Antwort bedeutet, mögen deine Leser das nicht. Versuchen Sie, ein echtes Codebeispiel zu geben. Sie können einen Codeblock mit 4 Leerzeichen einrücken, um ihn als Code lesen zu lassen. Oder, wenn es sich um eine kurze Codezeile oder ein kleineres Snippet handelt, verwenden Sie backticks ('), damit es wie Code aussieht. – Dagrooms

+0

Danke Joanna, nächstes Mal werde ich vorsichtig sein –

Verwandte Themen