【发布时间】:2016-12-21 21:48:55
【问题描述】:
我是 Spring 开发的新手。请建议我在我的迷你项目中错过了什么。在 main.Main 类中通过注解定义的 Spring 配置(见下文)。 应用程序成功启动,并显示消息“...RequestMappingHandlerMapping : Mapped "{[/hello],methods=[GET]}..."
但是当我尝试打开页面 http://localhost:8080/hello?name=MyUserName 时,我收到错误消息:“...org.springframework.web.util.NestedServletException: 处理程序处理失败;嵌套异常是 java.lang.NoClassDefFoundError: javax/servlet/ jsp/jstl/core/配置..."
在我看来,我还没有完成配置 DispatcherServlet 以将控制器输出映射到 View。但我错过了什么?
这是 main.Main 类:
@Configuration
@EnableWebMvc
@ComponentScan({"controllers"})
@EnableAutoConfiguration
public class Main {
public static void main(String[] args){
SpringApplication.run(Main.class, args);
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("WEB-INF/views/");
viewResolver.setSuffix(".html");
return viewResolver;
}
}
有一个Controller是用来处理用户请求的:
@Controller
public class HelloController {
private static final String PAGE_URL = "/hello";
@RequestMapping(value = PAGE_URL,method = RequestMethod.GET)
public String getHelloMessage(@RequestParam("name") String name, Model model){
String str = (name == null) || name.equals("") ? "World" : name;
model.addAttribute("name", str);
return "hello";
}
}
这是位于 /WEB-INF/views/ 目录中的 View 类 (hello.html) Class project structure for HelloController application
【问题讨论】:
标签: java spring spring-mvc servlets jstl