Maison > Questions et réponses > le corps du texte
我在使用 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 错误
ringa_lee2017-04-18 10:30:47
J'ai trouvé la réponse... Intellij IDEA
Lors de l'export artfacts
, la structure suivante a été exportée :
artfacts/
--/ META-INF
--/ WEB-INF
--/ veiws
--/ home.jsp
--/ classes
--/(class文件)
Vous pouvez le trouver en vous référant à la disposition du répertoire standard Tomcat 7.0.
Pas ici /WEB-INF/lib
Ce dossier est utilisé pour contenir les packages de dépendances nécessaires à la compilation... Le projet n'est pas automatiquement configuré pour vous...
Et l'exporté artfacts
n'a pas signalé de message d'erreur...
Allez sur Project Structure
vous-même pour modifier le contenu de out_put
et placez le package de dépendances sous /WEB-INF/lib
...