tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "sam wun" <sw2...@gmx.com>
Subject Re: Re: Can't execute servlet project
Date Tue, 02 Sep 2008 15:41:00 GMT
Thanks David,



After copied the jstl and standard dot jar files into the directory:

linux:~/tomcat/apache-tomcat-5.5.26/webapps/DBTest/WEB-INF/lib # ls
.  ..  jstl.jar  mysql-connector-java-5.1.3-rc-bin.jar  standard.jar



I got the following different errors:

(In line 4, what is jdbc/TestDB? I have database called javatest, and table 
testdata. Should I rename it to jdbc/javatest?





HTTP Status 500 - 

type Exception report

message 

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

exception org.apache.jasper.JasperException: Exception in JSP: 
/testdb.jsp:4

1: <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
2: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3: 
4: <sql:query var="rs" dataSource="jdbc/TestDB">
5: select id, foo, bar from testdata
6: </sql:query>
7: 


Stacktrace:
	
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
	
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause javax.servlet.ServletException: Unable to get connection, 
DataSource invalid: "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot 
create JDBC driver of class '' for connect URL 'null'"
	
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
	
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
	org.apache.jsp.testdb_jsp._jspService(testdb_jsp.java:82)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause javax.servlet.jsp.JspException: Unable to get connection, 
DataSource invalid: "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot 
create JDBC driver of class '' for connect URL 'null'"
	
org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.getConnection(QueryTagSupport.java:276)
	
org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doStartTag(QueryTagSupport.java:159)
	
org.apache.jsp.testdb_jsp._jspx_meth_sql_005fquery_005f0(testdb_jsp.java:101)
	org.apache.jsp.testdb_jsp._jspService(testdb_jsp.java:58)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)        
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)





> ----- Original Message -----
> From: David Smith
> Sent: 03/09/08 01:23 am
> To: Tomcat Users List
> Subject: Re: Can't execute servlet project
> 
> Download the binary zip file and expand it.  Within it is a lib 
> directory with just standard.jar and jstl.jar.
> 
> --David
> 
> sam wun wrote:
> > I just went to the website , very confused.
> >
> > The taglib file is not a jar file. they are binary or source file.
> >
> > And I couldn't find standard.jar file either.
> >
> >
> >
> > Thanks
> >
> >
> >
> >   
> >> ----- Original Message -----
> >> From: David Smith
> >> Sent: 02/09/08 11:44 pm
> >> To: Tomcat Users List
> >> Subject: Re: Can't execute servlet project
> >>
> >> Hmmm... good question.  I moved over to Maven and don't manually 
> >> download these any more.  This looks like it should do the trick:
> >>
> >> Try 
> >> 
> http://jakarta.apache.org/site/downloads/downloads_taglibs-standard.cgi
> >>
> >> --David
> >>
> >> sam wun wrote:
> >>     
> >>> Hi David,
> >>>
> >>>
> >>>
> >>> No, I don't have this 2 jar files in the common/lib/ directory.
> >>>
> >>> where can I download it from?
> >>>
> >>>
> >>>
> >>> Thanks
> >>>
> >>> Sam
> >>>
> >>>
> >>>
> >>>
> >>>   
> >>>       
> >>>> ----- Original Message -----
> >>>> From: David Smith
> >>>> Sent: 02/09/08 10:39 pm
> >>>> To: Tomcat Users List
> >>>> Subject: Re: Can't execute servlet project
> >>>>
> >>>> Do you have jstl.jar and standard.jar in your WEB-INF/lib directory?
> >>>>
> >>>> --David
> >>>>
> >>>> sam wun wrote:
> >>>>     
> >>>>         
> >>>>> Hi,
> >>>>>
> >>>>>
> >>>>>
> >>>>> I have added testdb.jsp in the following path in Suse linux (the

> >>>>>           
> >> tomcat 
> >>     
> >>>>> server):
> >>>>>
> >>>>> /tomcat/apache-tomcat-5.5.26/webapps/DBTest/
> >>>>>
> >>>>>
> >>>>>
> >>>>> The content of the testdb.jsp code is:
> >>>>>
> >>>>>
> >>>>>
> >>>>> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"
%>
> >>>>> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
> >>>>>
> >>>>> <sql:query var="rs" dataSource="jdbc/TestDB">
> >>>>> select FIRST_NAME from DBTest.Customer
> >>>>> </sql:query>
> >>>>>
> >>>>> <html>
> >>>>>   <head>
> >>>>>     <title>DB Test</title>
> >>>>>   </head>
> >>>>>   <body>
> >>>>>
> >>>>>   <h2>Results</h2>
> >>>>>
> >>>>> <c:forEach var="row" items="${rs.rows}">
> >>>>>     Foo ${row.foo}<br/>
> >>>>>     Bar ${row.bar}<br/>
> >>>>> </c:forEach>
> >>>>>
> >>>>>   </body>
> >>>>> </html>
> >>>>>
> >>>>>
> >>>>>
> >>>>> when I execute url 10.1.9.1:8080/testdb.jsp in firefox web browser,

> >>>>>           
> >> it 
> >>     
> >>>>> shown the following error:
> >>>>>
> >>>>> HTTP Status 500 - 
> >>>>>
> >>>>> type Exception report
> >>>>>
> >>>>> message 
> >>>>>
> >>>>> description The server encountered an internal error () that 
> >>>>>           
> >> prevented 
> >>     
> >>>>>       
> >>>>>           
> >>>> it 
> >>>>     
> >>>>         
> >>>>> from fulfilling this request.
> >>>>>
> >>>>> exception org.apache.jasper.JasperException: The absolute uri: 
> >>>>> http://java.sun.com/jsp/jstl/sql cannot be resolved in either 
> web.xml 
> >>>>>       
> >>>>>           
> >>>> or 
> >>>>     
> >>>>         
> >>>>> the jar files deployed with this application
> >>>>> 	
> >>>>>
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
> >>     
> >>>>     
> >>>>         
> >>>>> 	
> >>>>>
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
> >>     
> >>>>     
> >>>>         
> >>>>> 	
> >>>>>
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
> >>     
> >>>>     
> >>>>         
> >>>>> 	
> >>>>>
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:317)
> >>     
> >>>>     
> >>>>         
> >>>>> 	
> >>>>>
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:148)
> >>     
> >>>>     
> >>>>         
> >>>>> 	
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:424)
> >>     
> >>>>     
> >>>>         
> >>>>> 	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:493)
> >>>>> 	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1557)
> >>>>> 	org.apache.jasper.compiler.Parser.parse(Parser.java:127)
> >>>>> 	
> >>>>>
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
> >>     
> >>>>     
> >>>>         
> >>>>> 	
> >>>>>
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
> >>     
> >>>>     
> >>>>         
> >>>>> 	
> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
> >>>>> 	org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
> >>>>> 	org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
> >>>>> 	org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
> >>>>> 	
> >>>>>
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
> >>     
> >>>>     
> >>>>         
> >>>>> 	
> >>>>>
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
> >>     
> >>>>     
> >>>>         
> >>>>> 	
> >>>>>       
> >>>>>           
> >> 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
> >>     
> >>>>     
> >>>>         
> >>>>> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> >>>>>
> >>>>> Here is the web.xml file I got:
> >>>>>
> >>>>> (in the path /tomcat/apache-tomcat-5.5.26/webapps/DBTest/WEB-INF/)
> >>>>>
> >>>>>
> >>>>>
> >>>>> <?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>
> >>>>>                 Create customer servlet</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>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> Thanks
> >>>>>
> >>>>> Sam
> >>>>>
> >>>>> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >>>>>
> >>>>>   
> >>>>>       
> >>>>>           
> >>>>>> ----- Original Message -----
> >>>>>> From: Martin Gainty
> >>>>>> Sent: 28/08/08 10:07 pm
> >>>>>> To: sw2018@gmx.com
> >>>>>> Subject: RE: Can't execute servlet project
> >>>>>>
> >>>>>> david's advice is correct..
> >>>>>>
> >>>>>> configure ./META-INF/ApplicationContext.xml 
> >>>>>> <Context path="/DBTest" docBase="DBTest"
> >>>>>>         debug="5" reloadable="true" crossContext="true">
> >>>>>>
> >>>>>>     <!-- maxActive: Maximum number of dB connections in pool.
Make 
> >>>>>>         
> >>>>>>             
> >>>> sure 
> >>>>     
> >>>>         
> >>>>>> you
> >>>>>>          configure your mysqld max_connections large enough
to 
> >>>>>>             
> >> handle
> >>     
> >>>>>>          all of your db connections. Set to 0 for no limit.
> >>>>>>          -->
> >>>>>>
> >>>>>>     <!-- maxIdle: Maximum number of idle dB connections to
retain 
> in 
> >>>>>> pool.
> >>>>>>          Set to -1 for no limit.  See also the DBCP documentation

> on 
> >>>>>>         
> >>>>>>             
> >>>> this
> >>>>     
> >>>>         
> >>>>>>          and the minEvictableIdleTimeMillis configuration 
> parameter.
> >>>>>>          -->
> >>>>>>
> >>>>>>     <!-- maxWait: Maximum time to wait for a dB connection
to 
> become 
> >>>>>> available
> >>>>>>          in ms, in this example 10 seconds. An Exception is
thrown 
> >>>>>>             
> >> if
> >>     
> >>>>>>          this timeout is exceeded.  Set to -1 to wait 
> indefinitely.
> >>>>>>          -->
> >>>>>>
> >>>>>>     <!-- username and password: MySQL dB username and password
for 
> >>>>>>             
> >> dB 
> >>     
> >>>>>> connections  -->
> >>>>>>
> >>>>>>     <!-- driverClassName: Class name for the old mm.mysql
JDBC 
> >>>>>>             
> >> driver 
> >>     
> >>>>>>         
> >>>>>>             
> >>>> is
> >>>>     
> >>>>         
> >>>>>>          org.gjt.mm.mysql.Driver - we recommend using Connector/J

> >>>>>>         
> >>>>>>             
> >>>> though.
> >>>>     
> >>>>         
> >>>>>>          Class name for the official MySQL Connector/J driver
is 
> >>>>>> com.mysql.jdbc.Driver.
> >>>>>>          -->
> >>>>>>
> >>>>>>     <!-- url: The JDBC connection url for connecting to your
MySQL 
> >>>>>>             
> >> dB.
> >>     
> >>>>>>          The autoReconnect=true argument to the url makes sure

> that 
> >>>>>>         
> >>>>>>             
> >>>> the
> >>>>     
> >>>>         
> >>>>>>          mm.mysql JDBC Driver will automatically reconnect if

> mysqld 
> >>>>>> closed the
> >>>>>>          connection.  mysqld by default closes idle connections

> >>>>>>             
> >> after 
> >>     
> >>>>>>         
> >>>>>>             
> >>>> 8 
> >>>>     
> >>>>         
> >>>>>> hours.
> >>>>>>          -->
> >>>>>>
> >>>>>>   <Resource name="jdbc/TestDB" auth="Container" 
> >>>>>> type="javax.sql.DataSource"
> >>>>>>                maxActive="100" maxIdle="30" maxWait="10000"
> >>>>>>                username="javauser" password="javadude" 
> >>>>>> driverClassName="com.mysql.jdbc.Driver"
> >>>>>>                
> >>>>>> url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>
> >>>>>>
> >>>>>> </Context>
> >>>>>> //sub in the username and password for the DB
> >>>>>> also in /WEB-INF/web.xml you would need this entry
> >>>>>> <web-app 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"
> >>>>>>     version="2.4">
> >>>>>>   <description>MySQL Test App</description>
> >>>>>>   <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>
> >>>>>> then put in this test code changing :
> >>>>>> DBNAME to the name of your Database
> >>>>>> TABLE to the name of the table in DBNAME you want to query
> >>>>>> COLUMN for the specific attribute to query
> >>>>>> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"
%>
> >>>>>> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
> >>>>>>
> >>>>>> <sql:query var="rs" dataSource="jdbc/TestDB">
> >>>>>> select COLUMN from DBNAME.TABLE
> >>>>>> </sql:query>
> >>>>>>
> >>>>>> <html>
> >>>>>>   <head>
> >>>>>>     <title>DB Test</title>
> >>>>>>   </head>
> >>>>>>   <body>
> >>>>>>
> >>>>>>   <h2>Results</h2>
> >>>>>>
> >>>>>> <c:forEach var="row" items="${rs.rows}">
> >>>>>>     Foo ${row.foo}<br/>
> >>>>>>     Bar ${row.bar}<br/>
> >>>>>> </c:forEach>
> >>>>>>
> >>>>>>   </body>
> >>>>>> </html>
> >>>>>>
> >>>>>> if you need UNICODE support or Character Large Object (strings
> 
> 64k 
> >>>>>>         
> >>>>>>             
> >>>> in 
> >>>>     
> >>>>         
> >>>>>> length) download JDBC 4 driver
> >>>>>> http://dev.mysql.com/downloads/connector/j/5.1.html
> >>>>>>
> >>>>>> personally I am using the 'older' version of MYSQL so I use
the 
> 3.1 
> >>>>>>         
> >>>>>>             
> >>>> jar 
> >>>>     
> >>>>         
> >>>>>> which you can acquire here
> >>>>>> http://dev.mysql.com/downloads/connector/j
> >>>>>>
> >>>>>> location of driver classes:
> >>>>>>
> >>>>>> is located in $TOMCAT_HOME/common/lib
> >>>>>> personally I dont like putting anything in common since it will

> >>>>>>             
> >> affect 
> >>     
> >>>>>> all webapps but i usually 
> >>>>>> place in /WEB-INF/lib
> >>>>>>
> >>>>>> and please follow david's advice and read the tutorial
> >>>>>>
> >>>>>> Martin 
> >>>>>> ______________________________________________ 
> >>>>>> Disclaimer and confidentiality note 
> >>>>>> Everything in this e-mail and any attachments relates to the

> >>>>>>             
> >> official 
> >>     
> >>>>>> business of Sender. This transmission is of a confidential nature

> >>>>>>             
> >> and 
> >>     
> >>>>>> Sender does not endorse distribution to any party other than

> >>>>>>             
> >> intended 
> >>     
> >>>>>> recipient. Sender does not necessarily endorse content contained

> >>>>>>         
> >>>>>>             
> >>>> within 
> >>>>     
> >>>>         
> >>>>>> this transmission. 
> >>>>>>
> >>>>>>
> >>>>>>     
> >>>>>>         
> >>>>>>             
> >>>>>>> Date: Thu, 28 Aug 2008 11:02:52 +0200
> >>>>>>> From: sw2018@gmx.com
> >>>>>>> Subject: Re: Re: Can't execute servlet project
> >>>>>>> To: users@tomcat.apache.org; users@tomcat.apache.org
> >>>>>>>
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> I couldn't find an installation document about installing
the 
> >>>>>>>               
> >> driver.
> >>     
> >>>>>>> I;ve downloaded the driver:
> >>>>>>>
> >>>>>>> linux:~/tomcat/apache-tomcat-5.5.26/common/lib # ls 
> >>>>>>> mysql-connector-java-5.1.3-rc-bin.jar
> >>>>>>> mysql-connector-java-5.1.3-rc-bin.jar
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Do you know how to configure tomcat to make use of it?
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message