Java 弹簧启动错误404
我正在研究SpringMVC和SpringBoot,遇到了以下问题,到目前为止还不能确定。运行main方法后,我得到以下消息 白标错误页面 此应用程序没有/error的显式映射,因此您将其视为一种回退。2016年7月20日星期二21:22:43 BRT发生意外错误(类型=未找到,状态=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
@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清理和编译,看看是否有帮助。好的,我试试。谢谢。请尝试以下答案中的解决方案: