我在使用 SpringMVC 中的 AbstractAnnotationConfigDispatcherServletInitializer
来实现使用 java 配置 servlet。
我在访问 localhost:8080/
出现的是 404 错误,下面是相关代码
WebAppInitializer
public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{ WebConfig.class };
}
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{ RootConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
WebConfig
@Configuration
@EnableWebMvc
@ComponentScan("spittr.web")
public class WebConfig extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
HomeController
@Controller
public class HomeController {
@RequestMapping(value = "/",method = GET)
public String home(){
return "home";
}
}
home.jsp
文件在 WEB-INF/views/
下
Maven
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version> 4.1.5.RELEASE</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
...
</dependencies>
请问一下,为什么我在访问 `localhost:8080/` 出现的是 404 错误
Menjumpai jawapannya...
Intellij IDEA
Apabila mengeksportartfacts
, struktur berikut telah dieksport:Anda boleh menemuinya dengan merujuk kepada Reka Letak Direktori Standard Tomcat 7.0.
Bukan di sini
/WEB-INF/lib
Folder ini digunakan untuk mengandungi pakej pergantungan yang diperlukan untuk penyusunan... Projek ini tidak dikonfigurasikan secara automatik untuk anda...Dan
artfacts
yang dieksport belum lagi melaporkan mesej ralat...Pergi ke
Project Structure
diri sendiri untuk menukar kandunganout_put
dan letakkan pakej pergantungan di bawah/WEB-INF/lib
...