Cannot Register JDBC Driver on host

Hello,

Could anyone help me this?

I am writing a servlet having init mothod() contain:

try {

// loading the database JDBC driver

Class.forName(config.getInitParameter("driver"));

}

catch (ClassNotFoundException e) {

System.out.println("Register Problem! "+e.toString());

}

--

and this is what i get

--

Apache Tomcat/4.0.6 - HTTP Status 500 - Internal Server Error

--

type Exception report

message Internal Server Error

description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.

exception

java.lang.NullPointerException

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:141)

at ProductServlet.init(ProductServlet.java:44)

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918)

at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655)

at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:415)

at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:458)

at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)

at java.lang.Thread.run(Thread.java:534)

[4909 byte] By [baodinha] at [2007-11-26 13:56:18]
# 1

>// loading the database JDBC driver

> Class.forName(config.getInitParameter("driver"));

Did you try printing what is the value for config.getInitParameter("driver")?

> catch (ClassNotFoundException e) {

> System.out.println("Register Problem!

> "+e.toString());

>}

Why don't you print the stack trace here?

aniseeda at 2007-7-8 1:35:46 > top of Java-index,Java Essentials,Java Programming...
# 2

Oh my godness!

I have tried my web.xml file:

I really don't know why this happened, if I remove the bold text below, I can start my tomcat server and it run well. Otherwise, if I keep my testSer, my tomcat server cannot start?

web.xml

-

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<servlet>

<servlet-name>testSer</servlet-name>

<servlet-class>testSer</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>testSer</servlet-name>

<url-pattern>/hello</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>ProductServlet</servlet-name>

<servlet-class>ProductServlet</servlet-class>

<init-param>

<param-name>root</param-name>

<param-value>http://www.myweb.com</param-value>

</init-param>

<init-param>

<param-name>base</param-name>

<param-value>http://www.myweb.com/site</param-value>

</init-param>

<init-param>

<param-name>driver</param-name>

<param-value>com.mysql.jdbc.Driver</param-value>

</init-param>

<init-param>

<param-name>imageUrl</param-name>

<param-value>http://www.myweb.com/images</param-value>

</init-param>

<init-param>

<param-name>host</param-name>

<param-value>localhost</param-value>

</init-param>

<init-param>

<param-name>db</param-name>

<param-value>mydb_com_-_alpha</param-value>

</init-param>

<init-param>

<param-name>username</param-name>

<param-value></param-value>

</init-param>

<init-param>

<param-name>password</param-name>

<param-value></param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>ProductServlet</servlet-name>

<url-pattern>/site</url-pattern>

</servlet-mapping>

</web-app>

baodinha at 2007-7-8 1:35:46 > top of Java-index,Java Essentials,Java Programming...
# 3

> I have tried my web.xml file:

> I really don't know why this happened, if I remove

> the bold text below, I can start my tomcat server and

> it run well. Otherwise, if I keep my testSer, my

> tomcat server cannot start?

Do you have a servlet named testSer ?

Another point worth noting is that Tomcat has some problems using classes with no packages. (Maybe you have a package and you are not specifying it in the web.xml)

aniseeda at 2007-7-8 1:35:46 > top of Java-index,Java Essentials,Java Programming...
# 4
Yes, i had a servlet named testSer.class , and I put it in WEB-INF/classes/ Right?Let me try to put it in package
baodinha at 2007-7-8 1:35:46 > top of Java-index,Java Essentials,Java Programming...
# 5
OK, it run nowThanks for all your advise
baodinha at 2007-7-8 1:35:46 > top of Java-index,Java Essentials,Java Programming...
# 6

However, something I visit the page and I got this error (1/10), this never happened when I test local.

--

pache Tomcat/4.0.6 - HTTP Status 500 - Internal Server Error

--

type Exception report

message Internal Server Error

description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: org/apache/jasper/runtime/JspException

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:481)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:431)

at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:115)

at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:130)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:347)

at FOGBean.ProductServlet.doPost(ProductServlet.java:80)

at FOGBean.ProductServlet.doGet(ProductServlet.java:59)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:458)

at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)

at java.lang.Thread.run(Thread.java:534)

root cause

java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspException

at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:463)

at org.apache.jsp.productsview$jsp._jspService(productsview$jsp.java:489)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:431)

at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:115)

at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:130)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:347)

at FOGBean.ProductServlet.doPost(ProductServlet.java:80)

at FOGBean.ProductServlet.doGet(ProductServlet.java:59)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:458)

at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)

at java.lang.Thread.run(Thread.java:534)

baodinha at 2007-7-8 1:35:46 > top of Java-index,Java Essentials,Java Programming...