So, it looks like an NPE is happening when attempting to use the emf (at
line 21):

> 20: emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
> 21: em = emf.createEntityManager();

This would indicate that the createEntityManagerFactory is returning null,
which probably indicates that the Persistence processing couldn't find the
persistence.xml file.  Is your persistence.xml file in your META-INF
directory and properly packaged with your JSP and other Entities?

Kevin

On Fri, Aug 1, 2008 at 6:35 AM, Anish <[EMAIL PROTECTED]> wrote:

>
> Hey i have just been trying to get openjpa and jsp to work.... and i seem
> to
> get some errors.... iam using eclipse for this and running it on tomcat 6.0
>
> Greeeting.java
> package foo;
>
> import java.io.Serializable;
> import javax.persistence.Basic;
> import javax.persistence.Entity;
> import javax.persistence.GeneratedValue;
> import javax.persistence.Id;
>
> @Entity
> public class Greeting implements Serializable {
>         @Id @GeneratedValue private int id;
>         @Basic private String message;
>         @Basic private String language;
>
>         public Greeting() {}
>         public Greeting(String message, String language) {
>             this.message = message;
>             this.language = language;
>         }
>
>         public String toString() {
>             return "Greeting id=" + id + ", message=" + message + ",
> language=" +
> language;
>         }
> }
>
>
> HelloWorld.java
> package foo;
> import javax.persistence.EntityManager;
> import javax.persistence.EntityManagerFactory;
> import javax.persistence.Persistence;
>
>
>
> persistence.xml
> <?xml version="1.0" encoding="UTF-8"?>
> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd";>
>        <persistence-unit name="projectjpa">
>        <class>foo.Greeting</class>
>         <properties>
>            <!--
>                We can configure the default OpenJPA properties here. They
>                happen to be commented out here since the provided examples
>                all specify the values via System properties.
>            -->
>
>
>            <property name="openjpa.ConnectionURL"
>                value="jdbc:mysql://localhost:3306/greeting"/>
>            <property name="openjpa.ConnectionDriverName"
>                value="com.mysql.jdbc.Driver"/>
>            <property name="openjpa.ConnectionUserName"
>                value="root"/>
>            <property name="openjpa.ConnectionPassword"
>                value="admin"/>
>            <property name="openjpa.jdbc.SynchronizeMappings"
> value="buildSchema(SchemaAction='dropDB,add')"/>
>        </properties>
>        </persistence-unit>
> </persistence>
>
> open.jsp
> <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
>    pageEncoding="ISO-8859-1"%>
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd";>
> <[EMAIL PROTECTED] import="javax.persistence.EntityManager"%>
> <[EMAIL PROTECTED] import="javax.persistence.EntityManagerFactory"%>
> <%@ page import="data.Greeting" %>
> <[EMAIL PROTECTED] import="javax.persistence.Persistence"%>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
> <title>Insert title here</title>
> </head>
> <body>
> <%
> final EntityManagerFactory emf;
> final EntityManager em;
> final String PERSISTENCE_UNIT_NAME = "projectjpa";
>
>
> emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
> em = emf.createEntityManager();
> ////////////////////////
>
> em.getTransaction().begin();
> Greeting g_en = new Greeting("hello world", "en");
> Greeting g_es = new Greeting("hola, mundo", "es");
> Greeting[] greetings = new Greeting[]{g_en, g_es};
> for(Greeting g : greetings) {
>    em.persist(g);
> }
> em.getTransaction().commit();
> ///////////////////
>
> Greeting g = (Greeting) em.createQuery(
>        "select g from Greeting g where g.language = :language")
>        .setParameter("language", "en").getSingleResult();
>                out.println("Query returned: " + g);
> ////////////////////////////////////
> em.close();
> emf.close();
>
> %>
>
> </body>
> </html>
>
> Errors...
> org.apache.jasper.JasperException: An exception occurred processing JSP
> page
> /open.jsp at line 21
>
> 18:
> 19:
> 20: emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
> 21: em = emf.createEntityManager();
> 22: ////////////////////////
> 23:
> 24: em.getTransaction().begin();
>
>
> Stacktrace:
>
>
> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
>
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
>
>  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
>
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
>
> root cause
>
> java.lang.NullPointerException
>        org.apache.jsp.open_jsp._jspService(open_jsp.java:76)
>        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
>
>  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
>
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
>
> note The full stack trace of the root cause is available in the Apache
> Tomcat/6.0.16 logs.
> --
> View this message in context:
> http://n2.nabble.com/using-jsp-and-openjpa....-tp664117p664117.html
> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>
>

Reply via email to