tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Smith <d...@cornell.edu>
Subject Re: Can't execute servlet project
Date Wed, 27 Aug 2008 17:06:10 GMT
The datasource for your webapp isn't setup correctly.  Take a look at 
http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html 
for help on how to properly setup a database connection pool.  My only 
edit that article I would recommend is don't add ?autoReconnect=true to 
the end of the mysql database url.  Instead, add validationQuery="select 
1" to the <Resource ... /> element in your context.xml file so 
connections are tested and regenerated as needed.

--David

sam wun wrote:
> HI there,
>
>
>
> I managed to fix the jdk version error, now it comes with a different 
> error.
>
> The url I am trying to put on the firefox browser is 
>
> http://10.1.9.1:8080/DBTest/CreateCustomerServlet
>
>
>
>
>
> The error is:
>
> TTP Status 500 - 
>
> type Exception report
>
> message 
>
> description The server encountered an internal error () that prevented it 
> from fulfilling this request.
>
> exception javax.servlet.ServletException: Cannot create JDBC driver of 
> class '' for connect URL 'null'
> 	servlet.CreateCustomerServlet.doGet(CreateCustomerServlet.java:38)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> root cause org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create 
> JDBC driver of class '' for connect URL 'null'
> 	
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
> 	
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
> 	command.CommandExecutor.getConnection(CommandExecutor.java:54)
> 	command.CommandExecutor.executeDatabaseCommand(CommandExecutor.java:38)
> 	servlet.CreateCustomerServlet.doGet(CreateCustomerServlet.java:33)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> root cause java.sql.SQLException: No suitable driver
> 	java.sql.DriverManager.getDriver(Unknown Source)
> 	
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1143)
> 	
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
> 	command.CommandExecutor.getConnection(CommandExecutor.java:54)
> 	command.CommandExecutor.executeDatabaseCommand(CommandExecutor.java:38)
> 	servlet.CreateCustomerServlet.doGet(CreateCustomerServlet.java:33)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> note The full stack trace of the root cause is available in the Apache 
> Tomcat/5.5.26 logs.
>   
>> ----- Original Message -----
>> From: David Smith
>> Sent: 28/08/08 12:44 am
>> To: Tomcat Users List
>> Subject: Re: Can't execute servlet project
>>
>> Looks normal .. you won't get a file named CreateCustomerServlet under 
>> DbTest.  You should get a class named CreateCustomerServlet.class in 
>> WEB-INF/classes/servlet.  That class will be called when your webapp 
>> receive's a request for 
>> http://localhost:8080/DbTest/CreateCustomerServlet (assuming tomcat was 
>> installed with listening on port 8080 and it's installed on your local 
>> workstation).  That's what the <servlet-mapping> ... </servlet-mapping>

>> part of web.xml is all about -- mapping URLs to servlets.
>>
>>
>> --David
>>
>> sam wun wrote:
>>     
>>> I got a similar web.xml, but the is different. 
>>>
>>> Here is the entire content of my web.xml.
>>>
>>>
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <web-app id="WebApp_ID" version="2.4" 
>>> xmlns="http://java.sun.com/xml/ns/j2ee" 
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
>>> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
>>>     <display-name>
>>>     DBTest</display-name>
>>>     <servlet>
>>>         <description>
>>>         Servlet to create customers</description>
>>>         <display-name>
>>>         CreateCustomerServlet</display-name>
>>>         <servlet-name>CreateCustomerServlet</servlet-name>
>>>         <servlet-class>
>>>         servlet.CreateCustomerServlet</servlet-class>
>>>     </servlet>
>>>     <servlet-mapping>
>>>         <servlet-name>CreateCustomerServlet</servlet-name>
>>>         <url-pattern>/CreateCustomerServlet</url-pattern>
>>>     </servlet-mapping>
>>>     <welcome-file-list>
>>>         <welcome-file>index.html</welcome-file>
>>>         <welcome-file>index.htm</welcome-file>
>>>         <welcome-file>index.jsp</welcome-file>
>>>         <welcome-file>default.html</welcome-file>
>>>         <welcome-file>default.htm</welcome-file>
>>>         <welcome-file>default.jsp</welcome-file>
>>>     </welcome-file-list>
>>>     <resource-ref>
>>>         <description>DB Connection</description>
>>>           <res-ref-name>jdbc/TestDB</res-ref-name>
>>>          <res-type>javax.sql.DataSource</res-type>
>>>          <res-auth>Container</res-auth>
>>>     </resource-ref>
>>> </web-app>
>>>
>>>
>>>
>>> However, I don't see "CreateCustomerServlet" copied into my DBTest 
>>>       
>> folder 
>>     
>>> in the linux(tomcat) server.
>>>
>>> Here is the project directory listing of my tomcat server (in linux):
>>>
>>> linux:~/tomcat/apache-tomcat-5.5.26/webapps/DBTest # ls
>>> .  ..  META-INF  WEB-INF  customers.jsp
>>>
>>>
>>>
>>> Thanks
>>>
>>> Sam
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>   
>>>       
>>>> ----- Original Message -----
>>>> From: David Smith
>>>> Sent: 27/08/08 11:29 pm
>>>> To: Tomcat Users List
>>>> Subject: Re: Can't execute servlet project
>>>>
>>>> But if you followed the tutorial, there should be a servlet mapping in 
>>>> your web.xml looking like what I copied and pasted from the article 
>>>> below:
>>>>
>>>> <servlet>
>>>>     <description>Create Customers Servlet</description>
>>>>     <display-name>ListCustomers</display-name>
>>>>     <servlet-name>ListCustomers</servlet-name>
>>>>     <servlet-class>servlet.ListCustomersServlet</servlet-class>
>>>> </servlet>
>>>> <servlet-mapping>
>>>>     <servlet-name>ListCustomers</servlet-name>
>>>>     <url-pattern>/ListCustomers</url-pat-tern>
>>>> </servlet-mapping>
>>>>
>>>> This defines a servlet in the <servlet> element and then defines the

>>>> URLs this servlet should service in the <servlet-mapping> element.
 In 
>>>> this case there doesn't need to be a physical file named ListCustomers 
>>>> in the top level of the DbTest webapp.
>>>>
>>>> Your tutorial was very much geared to showing you how Eclipse works, 
>>>> more or less assuming you had some familiarity with servlet and/or 
>>>>         
>> java 
>>     
>>>> programming.  I would recommend finding some tutorial material that 
>>>> focuses on servlet/jsp programming, ignoring IDEs like Eclipse.
>>>>
>>>> --David
>>>>
>>>> sam wun wrote:
>>>>     
>>>>         
>>>>> HI there,
>>>>>
>>>>>
>>>>>
>>>>> It sounds logical, but there is no LIstCustomers in the DBTest 
>>>>>           
>> folder.
>>     
>>>>>
>>>>> Thanks
>>>>>
>>>>> Sam
>>>>>
>>>>>
>>>>>
>>>>>   
>>>>>       
>>>>>           
>>>>>> ----- Original Message -----
>>>>>> From: David Smith
>>>>>> Sent: 27/08/08 09:59 pm
>>>>>> To: Tomcat Users List
>>>>>> Subject: Re: Can't execute servlet project
>>>>>>
>>>>>> I see .... the jsp is a view and as such wasn't designed to be run

>>>>>>             
>> on 
>>     
>>>>>> it's own.  Try http://localhost/DBTest/ListCustomers in your 
>>>>>>             
>> browser.  
>>     
>>>>>> That should hit the servlet which in turn should generate the 
>>>>>>             
>> required 
>>     
>>>>>> bean and forward the user to your jsp.
>>>>>>
>>>>>> --David
>>>>>>
>>>>>>
>>>>>> sam wun wrote:
>>>>>>     
>>>>>>         
>>>>>>             
>>>>>>> Hi, thanks for trying to help.
>>>>>>>
>>>>>>> I dont' have a clue on this *bean*.
>>>>>>>
>>>>>>> The entire tutorial doesn't mention about how to setup a bean...
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> The tutorial I;ve followed is shown as below:
>>>>>>>
>>>>>>> http://java.sys-con.com/node/152270
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> Sam
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>   
>>>>>>>           
>>>>>>>               
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>     
>
>   


-- 
David Smith
Programmer/Analyst
College of Agriculture and Life Sciences
Cornell University
B32 Morrison Hall
Ithaca, NY 14853
Phone: (607) 255-4521


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message