[英]Unable to connect to mysql db with JPA (java persistance)
我对Java相当陌生-尽管来自PHP + JS。 我的目标是使用Java Servlet制作CRUD(+ MVC)。
我正在使用Java EE 7 。 根据我的一些在这里与我的模式这个和那个 (都具有相同的最终文件)。
因此,我正在实现MVC,但似乎无法使我的代码正常工作。 JPA似乎是主要问题; 我无法从数据库中获取任何信息。
我有设置controllers.Test
(URL:/ test)来测试是否可以通过JPA与数据库实际通信。 但是,当我转到/ test( controllers.Test
)时,将引发异常。 controllers.NewsEdit
(url:/ edit)也是如此。
java.lang.NullPointerException
controllers.Test.doGet(Test.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
当我访问home(url:/; controller.NewsIndex
)时,我没有收到异常-获得主页,但没有任何数据。 我做错了什么吗?
我的SQL文件位于/sql
文件夹中。 我在META-INF/
上获得了persistent.xml
。
任何帮助或参考,将不胜感激。 真的需要学习它。
谢谢!
好,
有关NullPointerException的详细解释。
当变量(在本例中为private NewsDAO newsDAO;
)尚未初始化时,该“指针”指向内存中的任何内容。 然后,当您尝试调用方法时,那里什么也没有,并且发生NPE。
这里的问题是私人NewsDAO newsDAO; 不是由容器注入的,因此在您调用newsDAO.all();
newDAO为null并引发异常。
CDI注入仅在容器管理的组件上发生。 我是一个春季人,所以我不确定该去哪里。 尝试找出您的NewsDAO是否正在由容器加载。
Tomcat是一个Web容器...您需要一个带有EJB容器的完整Application Server来运行您的示例。 尝试下载并在glassfish,JBoss或任何其他完整的应用程序服务器上运行。
更多信息在这里。
http://en.wikipedia.org/wiki/Application_server#Java_application_servers
和
http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.