I think what you mean to do here:

> <% session.setAttribute("conn1",conn1); %>

is actually:

  <% session.setAttribute("conn1",
       pageContext.getAttribute("conn1")); %>

However, as Marius pointed out in a previous email,
this is incredibly bad practice and no substitute for
proper connection pooling.

- Morgan

--- mihai manuta <[EMAIL PROTECTED]> wrote:
> Hello,
> 
> I need to create a connection in one page and then
> pass the same connection
> to another page.
> The following is an example of what I've done:
> 
> FIRST FILE:
> 
> <%@ taglib
> uri="http://jakarta.apache.org/taglibs/jdbc"
> prefix="sql" %>
> 
> <html>
> <head>
>         <title>JSP Test</title>
> </head>
> 
> <body>
> 
> <%
>                     String driver   = "dirver";
>                     String user     = "user";
>                     String password = "password";
>                     String host     = "url";
> %>
> 
> <font color="Green" face="Arial">trying to establish
> a connection...
> 
> <br>
> 
> <sql:connection id="conn1">
>           <sql:url><%=url%></sql:url>
>           <sql:driver><%=driver%></sql:driver>
>           <sql:userId><%=user%></sql:userId>
>           <sql:password><%=password%></sql:password>
> </sql:connection>
> connection established...
> <br>
> 
> <table>
>         <sql:statement id="qGetParam" conn="conn1">
>         <sql:query>
>                 select * from attachedfile
>         </sql:query>
>         <sql:resultSet id ="rs1">
>         <tr>
>           <td><sql:getColumn position="3"/></td>
>     </tr>
>         </sql:resultSet>
>         </sql:statement>
> </table>
> 
> <%=conn1%>
> 
> <% session.setAttribute("conn1",conn1); %>
> 
> <a href="Page2.jsp">xxx</a>
> 
> </font>
> </body>
> </html>
> 
> SECOND FILE:
> 
> <%@ taglib
> uri="http://jakarta.apache.org/taglibs/jdbc"
> prefix="sql" %>
> 
> <%@ page import="java.sql.*" %>
> 
> <html>
> <head>
>         <title>JSP Test</title>
> </head>
> 
> <body>
> 
> <% Connection conn1 =
> (Connection)session.getAttribute("conn1"); %>
> 
> <%=conn1%><br>
> 
> <%
>         Statement stmt=conn1.createStatement();
>         ResultSet rs=stmt.executeQuery("select *
> from attachedfile");
>         rs.next();
> %>
> <br>
> <%=rs.getString(3)%>
> 
> <table>
>         <sql:statement id="qGetgf" conn="conn1">
>         <sql:query>
>                 select * from attachedfile
>         </sql:query>
>         <sql:resultSet id ="rgf">
>         <tr>
>           <td><sql:getColumn position="3"/></td>
>     </tr>
>         </sql:resultSet>
>         </sql:statement>
> </table>
> 
> 
> </body>
> </html>
> 
> Everithing works just fine until I try to use the
> connection stored in
> session from the first page to create another
> statement (using tag lib). At
> that point I get an exeption
> 
> Root cause:
> 
> java.lang.NullPointerException
>       at
>
org.apache.taglibs.jdbc.statement.StatementImplTag.doStartTag(StatementImplT
> ag.java:137)
>       at
>
_0002fnew_0005fpage_0002ejspnew_0005fpage_jsp_7._jspService(_0002fnew_0005fp
> age_0002ejspnew_0005fpage_jsp_7.java:109)
>       at
>
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
>       at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at
>
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
> va:177)
>       at
>
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
>       at
>
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
>       at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at
>
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
>       at
>
org.apache.tomcat.core.Handler.service(Handler.java:286)
>       at
>
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
>       at
>
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
> 7)
>       at
>
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
>       at
>
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
> onnectionHandler.java:210)
>       at
>
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
>       at
>
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
>       at java.lang.Thread.run(Thread.java:484)
> 
> that I have no ideea what it means. The connection
> exists, it's executing
> the querry (from the first part)... but... what can
> I do?!Please help!
> Mihai Manuta
> 
> 


=====
Morgan Delagrange
Britannica.com

__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/

Reply via email to