码农界的彭于晏 2025-03-30 18:34 采纳率: 0%
浏览 17
已结题

服务器部署springboot项目使用Java -jre 启动命令时,不报错,但无法访问controller测试

在阿里云服务器上部署jar包后,直接启动,启动完,在服务器上访问localhost:8868/public/hello 无法返回test字符串。
启动日志里又无任何错。boot版本是3.3.10 我在本地运行是没问题的。使用jar包启动,也是能正常访问的。
然后说是端口未开放,我在安全组也开放了8868端口,在防火墙中,也开放了8868端口,配置文件yml里也配置了0.0.0.0
可就是没报错,也无法访问,使用的本地跟服务器都是jdk17,求解救。

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-03-30 18:34
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题解答

    你部署了 Spring Boot 项目到阿里云服务器上,使用 Java -jre 启动命令启动成功,但是无法访问 Controller 中的测试方法,返回空白页面。

    可能的原因:

    1. Tomcat 服务器没有正确启动
    2. 项目配置文件没有正确配置
    3. 服务器的网络配置问题

    解决方案:

    1. 检查 Tomcat 服务器是否正确启动,可以使用 netstat -tlnp | grep 8868 命令查看 8868 端口是否被占用。
    2. 检查项目配置文件,确保 server.port 配置正确,例如:
    server:
      port: 8868
    
    1. 检查服务器的网络配置,确保服务器可以访问外部网络。

    如果以上解决方案不行,可以提供更多的日志信息和项目配置文件,以便更好地 debug。

    代码示例

    以下是一个简单的 Spring Boot 项目的配置文件,用于启动 Tomcat 服务器:

    server:
      port: 8868
    spring:
      web:
        servlet:
          context-path: /public
    

    在上面的配置文件中,我们设置了服务器的端口号为 8868,并且设置了 Context Path 为 /public。这样,当访问 localhost:8868/public/hello 时,会被映射到 Controller 中的 hello 方法。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月30日
  • 创建了问题 3月30日