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 Tue, 02 Sep 2008 12:39:30 GMT
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


Mime
View raw message