【问题标题】:Couldn't get JSON response from Java Jersey app using Tomcat or GlassFish server无法使用 Tomcat 或 GlassFish 服务器从 Java Jersey 应用程序获取 JSON 响应
【发布时间】:2015-05-01 20:13:53
【问题描述】:

我的 Java Jersey 应用程序有问题。我正在使用本教程编写一个应用程序: http://programmerguru.com/android-tutorial/android-restful-webservice-tutorial-how-to-create-restful-webservice-in-java-part-2/ 我的应用程序与此示例中的几乎相同,但我使用 Maven 导入 .jar 文件。我对 db 也有一些变化。我在 wamp 服务器 上运行此数据库,并且正在使用 phpMyAdmin。 我的应用程序结构如下图所示:

当我在 Tomcat 或 GlassFish 服务器上运行我的应用程序时,总是会收到 404 错误。我检查了所有内容,更正了 web.xml 文件,因为我遇到了 Servlet 问题。我用 GlassFish 解决了几个问题,但没有任何帮助。 我正在尝试运行这个: http://localhost:8080/silownia_java/login/dologin 我得到 404 错误,但是当我运行 http://localhost:8080/silownia_java/hello.jsp 时它可以工作,所以它可能不是服务器的问题。我还尝试通过在 Chrome Advanced Rest Client 中执行命令来对我的数据库进行一些更改,它也不起作用,我只收到这些错误: 我不知道问题可能出在哪里。我知道很难猜出我的代码中哪里有错误,但我需要向您寻求帮助。如有必要,我可以在 GitHub 上发布我的整个项目,或者只是在此处发布一些类或文件,只需告诉我应该发布什么。


编辑:(来自 Github 的 web.xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>silownia_java</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
  <servlet-name>Jersey REST Service</servlet-name>
<servlet-class>
  com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
  <init-param>
    <param-name>com.sun.jersey.config.property.packages</param-name>
    <param-value>silownia_java</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>Jersey REST Service</servlet-name>
  <url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>

【问题讨论】:

  • 如果您还没有弄清楚,请发布 github 链接。有机会我去看看
  • 如果你能看看这个就好了。 Git repo。提前谢谢!
  • 您的网址中似乎缺少/rest/ 部分(login 之前)。 rest 在您的 web.xml 中设置为 servlet 映射
  • 非常感谢!我花了几个小时,试图弄清楚,但我没有得到这个。再次感谢您!

标签: eclipse tomcat jakarta-ee glassfish jersey


【解决方案1】:

您的网址中似乎缺少/rest/ 部分(login 之前)。 rest 在您的 web.xml 中设置为 servlet 映射

<servlet-mapping>
  <servlet-name>Jersey REST Service</servlet-name>
  <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

所以只需将 URL 更改为

http://localhost:8080/silownia_java/rest/login/dologin 

【讨论】:

    猜你喜欢
    • 2013-03-22
    • 1970-01-01
    • 2015-06-28
    • 2015-04-13
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多