Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AWS EC2、Tomcat7、Spring Boot、web、mvc、REST-http get方法不起作用_Java_Spring Mvc_Tomcat_Amazon Ec2_Spring Boot - Fatal编程技术网

Java AWS EC2、Tomcat7、Spring Boot、web、mvc、REST-http get方法不起作用

Java AWS EC2、Tomcat7、Spring Boot、web、mvc、REST-http get方法不起作用,java,spring-mvc,tomcat,amazon-ec2,spring-boot,Java,Spring Mvc,Tomcat,Amazon Ec2,Spring Boot,我已经使用Spring Boot开发了“hello world”web应用程序,并且在本地(在嵌入式Tomcat上)运行良好 但是,当我将WAR文件上传到安装在AWS EC2上的Tomcat7时,我在调用简单的http get方法时遇到了问题——我得到了get http://my_server_地址:8080/ping 404(未找到) 所有静态资源都正常工作(html、css文件) 我的控制器看起来像: @RestController public class PingController {

我已经使用Spring Boot开发了“hello world”web应用程序,并且在本地(在嵌入式Tomcat上)运行良好

但是,当我将WAR文件上传到安装在AWS EC2上的Tomcat7时,我在调用简单的http get方法时遇到了问题——我得到了get http://my_server_地址:8080/ping 404(未找到)

所有静态资源都正常工作(html、css文件)

我的控制器看起来像:

@RestController
public class PingController {
@RequestMapping(value = "/ping", method = RequestMethod.GET)
public String ping() {
    return "Live!";
}
}
@SpringBootApplication
public class ServletInitializer extends SpringBootServletInitializer {

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

public static void main(String[] args) {
    SpringApplication.run(ServletInitializer.class, args);
}
}
我的主课看起来像:

@RestController
public class PingController {
@RequestMapping(value = "/ping", method = RequestMethod.GET)
public String ping() {
    return "Live!";
}
}
@SpringBootApplication
public class ServletInitializer extends SpringBootServletInitializer {

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

public static void main(String[] args) {
    SpringApplication.run(ServletInitializer.class, args);
}
}
我想我对DispatcherServlet有问题吧?我没有web.xml,只有简单的application.properties

有人能帮我吗?
提前谢谢

是的,您是对的,您对
DispatcherServlet
有问题。但更准确地说,您对Spring上下文有一个问题

当应用程序通过SpringBoot运行时,SpringBoot关心Spring上下文和组件扫描

如果您想使用Tomcat运行SpringMVC应用程序,您必须通过XML或Java基本配置手动配置Spring应用程序上下文。如果您不想使用
web.xml
,您可以使用“完整Java基础”配置(您使用的是Tomcat 7,因此它支持Servlet API 3.0)

顺便说一下,我建议您以任何方式创建
web.xml
,以便像Tomcat一样在JavaWeb服务器中运行JavaWeb应用程序


请进来搜寻更多信息

非常感谢你的回答!我已经意识到我不需要安装Tomcat——将我的应用程序作为Spring Boot应用程序运行就足够了。因此,我将打包更改为“jar”,并使用“java-jar myjar.jar”运行:)