【发布时间】:2017-12-23 11:41:36
【问题描述】:
我已经创建了所需的配置/控制器类。但我不清楚我应该如何编排这些类以使用运行 tomcat 实例。我知道使用 Spring Boot 是使用 SpringApplication.run(..) 的问题。但我正在尝试探索在 Spring Boot 之前使用的替代方法。我对 Spring 框架有点陌生,所以请原谅我的无知。我也没有使用任何仅使用 Java 的 XML 配置
public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer
{
@Override //....
protected String[] getServletMappings(){
return new String[] { "/" };
}
@Override //...
protected Class<?>[] getRootConfigClasses(){
return new Class<?>[] { RootConfig.class };
}
@Override //.....
protected Class<?>[] getServletConfigClasses(){
return new Class<?>[] { WebConfig.class };
}
}
我已经创建了一个控制器
@Controller
@RequestMapping("/")
public class HomeController {
@RequestMapping(method = RequestMethod.GET)
public String home(){
return "home";
}
POM 文件:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.9.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
【问题讨论】:
-
您需要将您的 servlet 添加到您的 tomcat 的 webapps 文件夹中,该文件夹将在运行时发现您的 servlet。或者您想通过您的 java 应用程序启动嵌入式 tomcat?
-
传统的 Spring WEB MVC 应该运行在 servlet 容器中,可以是 Tomcat 或 Pivotal tc 服务器。在这种情况下,您不需要创建应用程序上下文,引导由容器本身完成。在您的 IDE 中右键单击项目,选择 Run as 并选择 Tomcat 或 Pivotal tc。
-
看here如果你想要一个带有嵌入式tomcat的胖罐
-
谢谢你们,我正在重新配置我的 Intellij 项目以使用 Tomcat 启动。会回来报告的。
标签: java spring spring-mvc tomcat spring-boot