java - 资源 URI 在 tomcat 8 服务器上的 Java RESTful Web 服务中不起作用

标签 java rest maven tomcat netbeans

我使用自动生成的实体类和 netbeans 创建了一个 RESTful 网络服务。我也用过maven。我将其作为本地主机部署在 tomcat 8 中。我确实看到了索引页,但我无法访问任何端点。我最初在 Glassfish 服务器上本地运行它并且运行良好。 我在 netbeans 中尝试了测试资源 uri,但它说,

Unable to open resource URL : localhost:8080//api/activity

这是我来自 apache tomcat 的 server.xml 文件。

<?xml version="1.0" encoding="UTF-8"?>

 --><Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>

  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

  <GlobalNamingResources>

    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
  </GlobalNamingResources>

  <Service name="Catalina">


    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

    <Engine defaultHost="localhost" name="Catalina">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log" suffix=".txt"/>

      <Context antiJARLocking="true" docBase="C:\xxx\yyyy\apache-tomcat-8.0.36\apache-tomcat-8.0.36\wtpwebapps\xxDBWithMaven" path="/VoyateDBWithMaven" reloadable="true" source="org.eclipse.jst.jee.server:VoyateDBWithMaven"/></Host>
    </Engine>
  </Service>
</Server>

无论如何我可以解决这个问题以便可以访问资源吗?这很令人困惑,因为应用程序已部署并显示了索引文件。

最佳答案

Unable to open resource URL : localhost:8080//api/activity

“localhost:8080”和“api/activity”之间有两条斜杠。在指定路径的配置中删除一个:api/activity 而不是 /api/activity

关于java - 资源 URI 在 tomcat 8 服务器上的 Java RESTful Web 服务中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39084261/

相关文章:

java - 使用 restful 方法重定向到页面?

java.lang.NoSuchMethodError : org. apache.hadoop.tracing.TraceUtils.wrapHadoopConf 错误

Eclipse 在构建期间从部署路径中删除文件/文件夹

java - 适用于 Android 的 OpenCL Java 绑定(bind)

java - Lucee Java CPU 使用率突然升高

java - 我可以结合java8(流,lambda)和 Guava 吗?

java - Intellij 无法识别的 TestNG 功能

java.lang.Object 无法转换为 boolean

rest - 使用自定义媒体类型是否是一个不错的选择?

java - 如何在 Jersey 中映射以分号分隔的 PathParams?