You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Sameer Acharya <ac...@yahoo.com> on 2006/09/01 07:42:53 UTC
javax.servlet.ServletException: Cannot create resource instance
Hi,
Iam using Tomcat 5.5.9 and trying to define a bean resource and get an instance of the same inside a jsp thru JNDI lookup,Iam getting the following exception in the browser :
---------
javax.servlet.ServletException: Cannot create resource instance
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.dates.dtest_jsp._jspService(org.apache.jsp.dates.dtest_jsp:74)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
root cause
javax.naming.NamingException: Cannot create resource instance
org.apache.naming.factory.ResourceEnvFactory.getObjectInstance(ResourceEnvFactory.java:99)
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
org.apache.naming.NamingContext.lookup(NamingContext.java:792)
org.apache.naming.NamingContext.lookup(NamingContext.java:139)
org.apache.naming.NamingContext.lookup(NamingContext.java:780)
org.apache.naming.NamingContext.lookup(NamingContext.java:152)
org.apache.jsp.dates.dtest_jsp._jspService(org.apache.jsp.dates.dtest_jsp:57)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
-------------
The entry in server.xml
-
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="bean/MyBeanFactory" auth="Container"
type="dates.PersonBean"
factory="org.apache.naming.factory.BeanFactory" />
</GlobalNamingResources>
--------
Entry in Web.xml
<resource-env-ref>
<description>
Object factory for MyBean instances.
</description>
<resource-env-ref-name>
bean/MyBeanFactory
</resource-env-ref-name>
<resource-env-ref-type>
dates.PersonBean
</resource-env-ref-type>
</resource-env-ref>
----------
Code snippet inside JSP where lookup is done :
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
PersonBean pb = (PersonBean) envCtx.lookup("bean/MyBeanFactory");
---------
The bean class exists and I can create an instance directly
but when I try to do it thru env lookup it throws the above
exception. I also saw a bug registered for the same but it
was marked as resolved can anyone please tell me whats wrong
with this setting.
Thanks in advance.
-Sameer
---------------------------------
Get your own web address for just $1.99/1st yr. We'll help. Yahoo! Small Business.