【问题标题】:RESTful Web Services from Database error 500来自数据库的 RESTful Web 服务错误 500
【发布时间】:2015-08-09 18:01:04
【问题描述】:

我在Netbeans官网上关注这个教程:https://netbeans.org/kb/docs/websvc/rest.html#test-rest

我使用 Netbeans 8、Tomcat 8、Java EE 7 和 MySQL

在我从数据库测试我的 RESTful Web 服务之前,一切正常,我的数据库名为 Article,我收到此错误:

   Etat HTTP 500 - java.lang.NullPointerException

type Rapport d''exception

message java.lang.NullPointerException

description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.

exception

javax.servlet.ServletException: java.lang.NullPointerException
    org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:392)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:382)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:345)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:220)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

cause mère

java.lang.NullPointerException
    com.rest.service.AbstractFacade.findAll(AbstractFacade.java:41)
    com.rest.service.ArticleFacadeREST.findAll(ArticleFacadeREST.java:66)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:497)
    org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
    org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151)
    org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171)
    org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195)
    org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104)
    org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:402)
    org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:349)
    org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:106)
    org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:259)
    org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:318)
    org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:236)
    org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1010)
    org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:373)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:382)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:345)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:220)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/8.0.24.
Apache Tomcat/8.0.24

有人可以帮帮我吗?

【问题讨论】:

  • 错误 500 与数据库无关。 webservice 在这一点上遇到异常 com.rest.service.AbstractFacade.findAll(AbstractFacade.java:41)。 AbstractFacade 似乎没有初始化
  • 好的,但是代码是 Netbeans 在我创建 Web 应用程序时默认生成的代码,然后我使用 Netbeans 向导将 RESTful Web 服务从数据库添加到我的 Web 应用程序中,我没有更改代码。代码没有错误。

标签: mysql web-services rest netbeans


【解决方案1】:

您收到的错误是 HTTP 500 错误,这意味着内部服务器错误,这反过来意味着您有未处理的异常。

根据您发布的信息,错误是您(生成的)java代码中的空指针异常。

您的错误似乎与球衣库有关。来自您的教程:

如果输出窗口显示一个或多个类的错误消息 不存在且项目未构建,添加 Jersey 库到编译时库。右键单击项目节点 并选择属性。在属性树菜单中,选择库。 单击添加库并浏览泽西库

可能与这些如何添加/设置有关

【讨论】:

  • 问题是否来自与我的数据库的连接问题,可能是与我的数据库的连接问题并且存储在我的数据库中的值无法提供给实体,是有可能吗?但是我验证了 mysql 驱动程序位于我项目的 lib 文件夹中,并且它使用的版本与根据 Servers 选项卡中的连接连接到我的数据库时使用的版本相同。
  • 当我创建 RESTful Web 服务时,Jersey 库默认包含在我的项目中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
相关资源
最近更新 更多