Java 弹簧启动错误404

Java 弹簧启动错误404,java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,我正在研究SpringMVC和SpringBoot,遇到了以下问题,到目前为止还不能确定。运行main方法后,我得到以下消息 白标错误页面 此应用程序没有/error的显式映射,因此您将其视为一种回退。2016年7月20日星期二21:22:43 BRT发生意外错误(类型=未找到,状态=404)。没有可用的消息 控制器 @Controller @RequestMapping(value="/restauranteWeb") public class HomeController { @R

我正在研究SpringMVC和SpringBoot,遇到了以下问题,到目前为止还不能确定。运行main方法后,我得到以下消息

白标错误页面

此应用程序没有/error的显式映射,因此您将其视为一种回退。2016年7月20日星期二21:22:43 BRT发生意外错误(类型=未找到,状态=404)。没有可用的消息

控制器

@Controller
@RequestMapping(value="/restauranteWeb")
public class HomeController {

    @RequestMapping(method=RequestMethod.GET)
    public String redirect() {
        return "login/login";
    }
}
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

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

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

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

}
主方法

@SpringBootApplication()
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.gervasios.rsw")
public class ApplicationConfiguration extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/pages/");
        viewResolver.setSuffix(".jsp");
        registry.viewResolver(viewResolver);
    }
}

@Bean
    public TilesConfigurer tilesConfigurer() {
        TilesConfigurer tilesConfigurer = new TilesConfigurer();
        tilesConfigurer.setDefinitions(new String[] {"/**/WEB-INF/**/tiles-config.xml"});
        tilesConfigurer.setCheckRefresh(true);
        return tilesConfigurer;
    }
配置

@SpringBootApplication()
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.gervasios.rsw")
public class ApplicationConfiguration extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/pages/");
        viewResolver.setSuffix(".jsp");
        registry.viewResolver(viewResolver);
    }
}

@Bean
    public TilesConfigurer tilesConfigurer() {
        TilesConfigurer tilesConfigurer = new TilesConfigurer();
        tilesConfigurer.setDefinitions(new String[] {"/**/WEB-INF/**/tiles-config.xml"});
        tilesConfigurer.setCheckRefresh(true);
        return tilesConfigurer;
    }
AppInitializer

@Controller
@RequestMapping(value="/restauranteWeb")
public class HomeController {

    @RequestMapping(method=RequestMethod.GET)
    public String redirect() {
        return "login/login";
    }
}
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

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

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

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

}
公共类AppInitializer扩展AbstractAnnotationConfigDispatcherServletInitializer{
@凌驾
受保护类[]getRootConfigClasses(){
返回新类[]{ApplicationConfiguration.Class};
}
@凌驾
受保护类[]getServletConfigClasses(){
返回新类[0];
}
@凌驾
受保护的字符串[]getServletMappings(){
返回新字符串[]{”/“};
}
}
POM

<!-- Spring BOOT-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.5.RELEASE</version>
    </parent>

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/snapshot</url>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <url>http://repo.spring.io/milestone</url>
        </repository>
    </repositories>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring.version>4.2.5.RELEASE</spring.version>          
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!-- Javax - Jsf -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

org.springframework.boot

控制台中的最后一行(在名为“DispatcherServlet”的DispatcherServlet中找不到URI为[/WEB-INF/pages/login/login.jsp]的HTTP请求的映射)表示在定位login.jsp时存在一些问题,因为此位置不存在jsp文件,或者DispatcherServlet的servlet URL映射定义不正确。感谢您的回复,对不起,我说的是巴西。我理解您描述的问题,但我无法确定映射和页面方式的问题。我的问题是在我的项目结构中插入一张带有打印页面的图片。我认为这是Java IDE的问题。你在用Maven吗?再次进行maven清理和编译,看看是否有帮助。好的,我试试。谢谢。请尝试此答案中的解决方案:控制台中的最后一行(在名为“DispatcherServlet”的DispatcherServlet中找不到URI为[/WEB-INF/pages/login/login.jsp]的HTTP请求的映射)表示在定位login.jsp时存在一些问题,因为此位置不存在jsp文件,或者DispatcherServlet的servlet URL映射定义不正确。感谢您的回复,对不起,我说的是巴西。我理解您描述的问题,但我无法确定映射和页面方式的问题。我的问题是在我的项目结构中插入一张带有打印页面的图片。我认为这是Java IDE的问题。你在用Maven吗?再次进行maven清理和编译,看看是否有帮助。好的,我试试。谢谢。请尝试以下答案中的解决方案: