gpt4 book ai didi

java - 部署 java web 应用程序 .war 文件后找不到 404

转载 作者:行者123 更新时间:2023-11-28 23:17:29 25 4
gpt4 key购买 nike

我使用 Spring 框架在 Java 中编写了一个 Web 应用程序。对其进行了测试并部署到远程 tomcat 服务器。部署后,我收到消息 OK - Started application at context path [/proxynator]。但是,如果我使用像 http://109.206.178.66:8080/proxynator/http://109.206.178.66:8080/proxynator/proxynator/test 这样的链接,我有 404 – Not FoundDescription:源服务器没有找到目标资源的当前表示,或者不愿意透露它的存在。在应用程序中我有入门类(class)

@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

和 Controller

@RestController
@RequestMapping("/proxynator")
public class MainController {

@Autowired
private ProxyRepo proxyRepo;

@Autowired
private CountryRepo countryRepo;

@RequestMapping("/countries")
@ResponseBody
public List<Country> findCountries() {

return countryRepo.findAll();
}

@RequestMapping("/test")
@ResponseBody
public String testMethod() {

return "HELLO";
}

}

我不知道,为什么我会遇到这个问题,因为我正确设置了我的 tomcat 服务器,我的 Controller 的路径是正确的,并且服务器上的应用程序正在运行。有什么解决办法吗?

更新

我改变了我的 Controller :

@RestController
public class MainController {

@Autowired
private CountryRepo countryRepo;

@RequestMapping("/countries")
@ResponseBody
public List<Country> findCountries() {

return countryRepo.findAll();
}

@RequestMapping("/")
@ResponseBody
public String testMethod() {

return "HELLO";
}

}

现在我的输入点是调用 testMethod()/,但它也不起作用。

最佳答案

为了解决这个问题,我扩展了 SpringBootServletInitializer 并覆盖了配置方法`

@Override
override fun configure(application: SpringApplicationBuilder?):
SpringApplicationBuilder {
return super.configure(application)
}

并且我像在官方文档中那样更改了项目结构。现在效果很好。

附言

我正在将项目重写为 Kotlin

关于java - 部署 java web 应用程序 .war 文件后找不到 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47632707/

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