Spring o.s.web.servlet.PageNotFound未找到具有URI的HTTP请求的映射

时间:2018-07-20 13:30:29

标签: java spring spring-mvc uri

我正在尝试制作我的第一个spring mvc应用程序,当我尝试查看我的页面时遇到问题。它是根据教程创建的,但是在我的计算机上不起作用。我还没有创建任何xml文件,也没有更改Gradle中的配置。 我正在使用macOS 11

项目结构:

enter image description here

DispatcherServelet:

package com.vavalang.Magazine;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class DispatcherServlet extends AbstractAnnotationConfigDispatcherServletInitializer{

@Override
protected Class<?>[] getRootConfigClasses() {

    return null;
}

@Override
protected Class<?>[] getServletConfigClasses() {

    return new Class[] {WebConfig.class};
}

@Override
protected String[] getServletMappings() {

    return new String[] {"/"};
}

}

MagazineController:

package com.vavalang.Magazine;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
public class MagazineController {

    @RequestMapping(value = "/")
    public String home(Model model) {

        model.addAttribute("nick", "Jan");
        return "home";
    }
}

WebConfig:

package com.vavalang.Magazine;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
@EnableWebMvc
@ComponentScan("com.vavalang.Magazine")
public class WebConfig implements WebMvcConfigurer{

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {

        registry.jsp();
    }
}

MagazineApplication:

package com.vavalang.Magazine;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;


@SpringBootApplication
public class MagazineApplication {

    public static void main(String[] args) {
        SpringApplication.run(MagazineApplication.class, args);
    }
}

然后登录:

2018-07-20 15:14:20.966  INFO 646 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2018-07-20 15:14:21.048  INFO 646 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2018-07-20 15:14:21.049  INFO 646 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.31
2018-07-20 15:14:21.072  INFO 646 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/kamil/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]
2018-07-20 15:14:21.270  INFO 646 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2018-07-20 15:14:21.270  INFO 646 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3098 ms
2018-07-20 15:14:21.453  INFO 646 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2018-07-20 15:14:21.460  INFO 646 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-07-20 15:14:21.660  INFO 646 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public java.lang.String com.vavalang.Magazine.MagazineController.home(org.springframework.ui.Model)
2018-07-20 15:14:21.677  INFO 646 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-07-20 15:14:21.679  INFO 646 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-07-20 15:14:21.818  INFO 646 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3cce5371: startup date [Fri Jul 20 15:14:18 CEST 2018]; root of context hierarchy
2018-07-20 15:14:22.350  INFO 646 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-07-20 15:14:22.410  INFO 646 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2018-07-20 15:14:22.419  INFO 646 --- [           main] c.vavalang.Magazine.MagazineApplication  : Started MagazineApplication in 5.956 seconds (JVM running for 7.034)
2018-07-20 15:14:31.163  INFO 646 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-07-20 15:14:31.165  INFO 646 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2018-07-20 15:14:31.197  INFO 646 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 31 ms
2018-07-20 15:14:31.292  WARN 646 --- [nio-8080-exec-1] o.s.web.servlet.PageNotFound             : No mapping found for HTTP request with URI [/WEB-INF/home.jsp] in DispatcherServlet with name 'dispatcherServlet'

0 个答案:

没有答案