Hallo liebes Forum,
ich versuche mich gerade an JavaEE. Erfahrung habe ich da noch nicht sehr viele. Nur ein paar Vorlesungen habe ich dazu bisher gehört.
Ich habe ein Servlet gebaut, dass über eine Methode "createCustomer" einen Customer anlegen soll. Dieser soll dann in eine DB geschrieben werden. Und anschließt sollen alle Customer, die sich in der DB befinden ausgegeben werden. Leider bekomme ich beim ersten Aufruf des Servlets diese Fehlermeldung:
Ich habe das jetzt so interpretiert, dass er keine richtige Verbindung aufbauen kann. Die Verbindungseigenschaften, stehen ja in der persistence.xml, die wie folgt aussieht:[XML]
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="OnlineShop" transaction-type="RESOURCE_LOCAL">
<non-jta-data-source>jdbc:mysql://localhost:3306/shop</non-jta-data-source>
<class>de.jofre.entties.Category</class>
<class>de.jofre.entties.Customer</class>
<class>de.jofre.entties.CustomerOrder</class>
<class>de.jofre.entties.OrderedProduct</class>
<class>de.jofre.entties.OrderedProductPK</class>
<class>de.jofre.entties.Product</class>
<properties>
<property name="eclipselink.jdbc.batch-writing" value="None"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/shop"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="root"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties>
</persistence-unit>
</persistence>
[/XML]
Leider ist mir total schleierhaft, warum er keine Verbindung aufbauen kann. Mit den gleichen Daten kann ich in der DB- View von Eclipse eine Verbindung herstellen.
Oder liegt es nicht daran?
Allg. ich nutze TomEE 7, Mac OSX, Eclipse Kepler.
Ich hoffe ihr könnt mir helfen.
VG und ein schönes Fest.
WoodyTD
ich versuche mich gerade an JavaEE. Erfahrung habe ich da noch nicht sehr viele. Nur ein paar Vorlesungen habe ich dazu bisher gehört.
Ich habe ein Servlet gebaut, dass über eine Methode "createCustomer" einen Customer anlegen soll. Dieser soll dann in eine DB geschrieben werden. Und anschließt sollen alle Customer, die sich in der DB befinden ausgegeben werden. Leider bekomme ich beim ersten Aufruf des Servlets diese Fehlermeldung:
Code:
HTTP Status 500 - Error instantiating servlet class de.jofre.demo.TestServlet
type Exception report
message Error instantiating servlet class de.jofre.demo.TestServlet
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Error instantiating servlet class de.jofre.demo.TestServlet
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:724)
root cause
javax.naming.NameNotFoundException: Name [de.jofre.demo.TestServlet/df] is not bound in this Context. Unable to find [de.jofre.demo.TestServlet].
org.apache.naming.NamingContext.lookup(NamingContext.java:820)
org.apache.naming.NamingContext.lookup(NamingContext.java:168)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:724)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs.
Apache Tomcat/7.0.47
Ich habe das jetzt so interpretiert, dass er keine richtige Verbindung aufbauen kann. Die Verbindungseigenschaften, stehen ja in der persistence.xml, die wie folgt aussieht:[XML]
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="OnlineShop" transaction-type="RESOURCE_LOCAL">
<non-jta-data-source>jdbc:mysql://localhost:3306/shop</non-jta-data-source>
<class>de.jofre.entties.Category</class>
<class>de.jofre.entties.Customer</class>
<class>de.jofre.entties.CustomerOrder</class>
<class>de.jofre.entties.OrderedProduct</class>
<class>de.jofre.entties.OrderedProductPK</class>
<class>de.jofre.entties.Product</class>
<properties>
<property name="eclipselink.jdbc.batch-writing" value="None"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/shop"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="root"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties>
</persistence-unit>
</persistence>
[/XML]
Leider ist mir total schleierhaft, warum er keine Verbindung aufbauen kann. Mit den gleichen Daten kann ich in der DB- View von Eclipse eine Verbindung herstellen.
Oder liegt es nicht daran?
Allg. ich nutze TomEE 7, Mac OSX, Eclipse Kepler.
Ich hoffe ihr könnt mir helfen.
VG und ein schönes Fest.
WoodyTD