gpt4 book ai didi

java - 连接到127.0.0.1端口8080失败: Connection refused

转载 作者:行者123 更新时间:2023-11-30 05:17:44 26 4
gpt4 key购买 nike

我创建了一个简单的 RestController ,使用 Spring(不是 Boot)。

@RestController
@RequestMapping(UserRestController.REST_URL)
public class UserRestController extends AbstractUserController {

static final String REST_URL = "/users";

@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public User get(int id) {
return super.get(id);
}
}

但是当我调用此方法并使用curl 时,我收到:

$ curl -v http://localhost:8080/users
Trying 127.0.0.1...
TCP_NODELAY set
connect to 127.0.0.1 port 8080 failed: Connection refused
Failed to connect to localhost port 8080: Connection refused

另外:我推送 MocMvc-test 但失败,结果如下:

java.lang.AssertionError: Status expected:<200> but was:<404>
Expected :200
Actual :404

我运行我的应用程序:

public static void main(String[] args) {

try (ConfigurableApplicationContext appCtx = new
ClassPathXmlApplicationContext("spring/spring-app.xml")) {
System.out.println("Bean definition names: " +
Arrays.toString(appCtx.getBeanDefinitionNames()));
UserRestController userRestController =
appCtx.getBean(UserRestController.class);
System.out.println(userRestController.get(2));
}
}

在控制台中我看到 System.out.println(userRestController.get(2)); 的输出所以我的 CRUD 方法效果很好。

最佳答案

为了使用 Spring 处理 HTTP 请求而不使用 Spring Boot,您通常需要以下内容:

  1. 使用 spring-webmvc 依赖项。我知道你已经有了。
  2. 将您的应用程序打包为 war 。如果使用maven构建,需要添加<packaging>war</packaging> pom.xml 中的句子
  3. 在您的 web.xml 中声明 org.springframework.web.servlet.DispatcherServlet 。您还可以使用 org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer 进行注册。
  4. 如果使用 java-config,请在应用程序上下文文件或类中定义映射和配置。
  5. 将您的 war 文件部署到 Tomcat 或 Jetty 等 Servlet 容器中。

我举了一个 Spring 5 的例子 here .

您可以找到 Spring 4 的另一个示例 here .

关于java - 连接到127.0.0.1端口8080失败: Connection refused,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60112293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com