java - SpringBoot 白页
问题描述
我刚开始学习SpringBoot。
我使用 spring boot 内置 tomcat 运行我的 spring boot 程序。但是当我尝试访问该页面时,它给了我一个Whitelabel Error Page。
当我启动这个程序时,它显示如下:
我认为我的程序和tomcat启动成功。
这是我的开始代码: DemoApplication.java
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
这是我的控制器代码:
BookController.java
@Controller
public class BookController {
private IBookService bookService;
public BookController(IBookService bookService) {
this.bookService = bookService;
}
@RequestMapping(value = "/book_list", method = RequestMethod.GET)
public String getAllBook(Model model, HttpSession httpSession, HttpRequest httpRequest) throws Exception {
List<Book> list = bookService.getAllBook();
model.addAttribute("bookList", list);
return "book";
}
}
因此,如果我访问“ localhost:8080/bookstore/book_list ”,它将找到控制器,并且该控制器应该帮助我转到 /WEB-INF/jsp/book.jsp,因为我的 WebMvcConfig 如下所示:
WebMvcConfig.java
@Configuration
public class WebMvcConfig {
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/jsp/");
resolver.setSuffix(".jsp");
return resolver;
}
}
但为什么这是一个白页?
这是我的程序结构:
解决方案
DemoApplication
在一个demo
子包中。默认情况下,它只扫描带有注释的类的子包@SpringBootApplication
,因此它不会找到您的任何组件。
两种修复方法:
将类移出
demo
包。这是 Spring Boot 演示应用程序通常所做的。
指定要扫描的包:
@SpringBootApplication(scanBasePackages = "com.zx")
或者,使用
@ComponentScan
相同的东西:@SpringBootApplication @ComponentScan("com.zx")
推荐阅读
- reactjs - 如何在 React Typescript 中提供带有上下文 API 的 useReducer?
- java - 在 Android Studio 上使用 python 和 matplotlib 绘制时间
- netbeans - 有没有办法在 Netbeans 中获得单独的控制台窗口?一种用于构建消息,一种纯粹用于程序输出?
- bash - 调用另一个函数内部的函数
- react-native - 如何更新 rnfirebase admob 以支持 iOS 14 AppTrackingTransparency
- ruby - 将 xcodeproj 和 ruby 2.7.0 放入 PATH
- sql-server - 使用给定条件合并来自同一表中多个元组的数据
- c# - 使用 Azure DevOps Rest API 重命名文件
- java - 流中的映射和 groupBy 值
- javascript - 单击按钮时,有没有办法为谷歌堆积条形图的特定列着色?