SpringMVC-DispatcherServlet可以';找不到任何页面
我使用SpringMVC-DispatcherServlet可以';找不到任何页面,spring,spring-mvc,jsp,Spring,Spring Mvc,Jsp,我使用springmvc、Java类注释和.jsp而不是.html制作了一个非常简单的演示web应用程序。 当我在本地主机上启动Tomcat时,我总是收到404错误。我在哪里犯错 Config.class @Configuration @EnableWebMvc @ComponentScan(basePackages = "com.mylov.springsecurity.demo.config") public class Config { //Define bean for Vie
springmvc
、Java类注释和.jsp
而不是.html
制作了一个非常简单的演示web应用程序。
当我在本地主机上启动Tomcat时,我总是收到404错误。我在哪里犯错
Config.class
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.mylov.springsecurity.demo.config")
public class Config {
//Define bean for ViewResolver
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/view/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}
调度程序Servlet初始化
public class DispatcherServletInit extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{Config.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
项目结构:
您需要在演示软件包下扫描软件包。因此Spring将找到您的控制器和配置类。但现在您只指向config。所以包“控制器”不会被扫描
尝试这样做:
@ComponentScan(basePackages = "com.mylov.springsecurity.demo")
尝试按如下所示提供映射,以便使用servlet映射所有url:
public class DispatcherServletInit extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{Config.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/*"};
}
}
您知道,如果您部署到Tomcat—并且您不会设置为其他方式—您的应用程序将处于自动生成的根上下文下,比如localhost/someappname/
,而不是localhost/
,对吗?是的,我知道。当应用程序启动时,我将tomcat端点设置为“/”,在信息级别的日志中,列出了所有与响应控制器相关的映射。用该列表交叉检查您的尝试。
public class DispatcherServletInit extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{Config.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/*"};
}
}
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.mylov.springsecurity.demo")
public class Config {
..........
}