【发布时间】:2014-10-21 11:42:49
【问题描述】:
我正在为我的Spring MVC web-app 的 servlet 配置而苦苦挣扎。
- 我正在使用 Intellij IDEA IDE;
- 引入
spring-boot-starter-parent,版本 1.1.8.RELEASE,作为 Maven 的 pom.xml 中的父级,spring-boot-starter-web和spring-webmvc作为依赖项; - 用这些 bean 定义了一个 Config 类:
`
@Configuration
@EnableAutoConfiguration
@ComponentScan(basePackages = {"sblog", "sblog.controller", "sblog.repository", "sblog.service"})
@EnableJpaRepositories("sblog.repository")
@EnableTransactionManagement
@EnableWebMvc
public class Config {
...
@Bean
public DispatcherServlet dispatcherServlet() {
return new DispatcherServlet();
}
@Bean
public ServletRegistrationBean dispatcherRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(
dispatcherServlet(), "/*", "/index");
registration.setLoadOnStartup(1);
System.err.println(registration.getServletName());
System.err.println(registration.getUrlMappings());
return registration;
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/resources/");
resolver.setSuffix(".jsp");
return resolver;
}
- 定义了一个类应用程序:
`
public class Application {
public static void main(String[] args) {
SpringApplication.run(Config.class, args);
}
}
` - 添加了一个简单的控制器:
`
@Controller
public class ApplicationController {
@RequestMapping(method = GET, value = "/")
public String index(Model model) {
System.err.println("Index");
return "index";
}
- 并定义了以下项目结构:
`
sblog/
├── pom.xml
├── sblog.iml
├── src
│ ├── main
│ │ └── java
│ │ └── sblog
│ │ ├── Application.java
│ │ ├── Config.java
│ │ ├── controller
│ │ │ ├── ApplicationController.java
│ │ │ ├── PageController.java
│ │ │ ├── PostController.java
│ │ │ └── SessionController.java
│ │ ├── orm
│ │ │ ├── Author.java
│ │ │ └── Post.java
│ │ ├── repository
│ │ │ ├── AuthorRepository.java
│ │ │ └── PostRepository.java
│ │ ├── service
│ │ │ └── PostService.java
│ │ └── WebMVCApplicationInitializer.java
│ └── resources
│ └── index.jsp
`
但每次我访问根目录时,我都会得到o.s.web.servlet.PageNotFound : No mapping found for HTTP request with URI [/resources/index.jsp] in DispatcherServlet with name 'dispatcherServletRegistration'
提前感谢您,任何帮助将不胜感激! :)
【问题讨论】:
标签: java spring jsp spring-mvc servlets