当应用程序部署为war时,Tomcat不会调用Controller

时间:2014-11-28 07:12:19

标签: java spring-mvc spring-boot tomcat7

我正在使用SpringBoot开发Web应用程序。

我面临的问题如下。应用程序从Eclipse运行良好,但是当我在tomcat 7中将项目部署为 war 时,它给了我“HTTP Status 404”。在tomcat日志中没有发现异常。

以下是我的控制器:

@RestController 
public class TinyUrlController{

    @Autowired TinyUrlService tinyUrlService;

    @RequestMapping("/create")
    public String createUrl(@RequestParam("url") String url,HttpServletRequest request){

        TinyUrl tinyUrl = tinyUrlService.createUrl(url);

        return tinyUrl.toString();

    }
}

2 个答案:

答案 0 :(得分:1)

似乎您的应用程序没有切入点,这就是您什么都没有的原因。只需在应用程序中创建入口点即可。

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(applicationClass, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(applicationClass);
    }

    private static Class<Application> applicationClass = Application.class;
}

另见Spring Boot deploying guide

答案 1 :(得分:0)

我建议您尝试使用构建应用程序布局 http://start.spring.io/

它将生成一个SpringBoot应用程序 它也会使java包正确 只需记住将控制器置于java包&#34; demo&#34; ..否则它们不能自动连接&#34;没有更多配置......

我建议你制作一个简单的控制器,只需返回&#34;你好&#34;作为首发......