Datasource
Estoy haciendo una aplicacion en tomcat 5 y mysql, y quiero hacer un datasource pero me da 1 error. Aquí pongo el código:
SERVER.XML
<Context path="/Net-Test" docBase="Net-Test" debug="0" reloadable="true" useNaming="true">
<ResourceParams name="jdbc/dsnettest">
<!-- Para la config. De la fuente de datos -->
<parameter>
<name> DriverClassName </name>
<value> com.mysql.jdbc.Driver </value>
</parameter>
<parameter>
<name> Url </name>
<value> jdbc:mysql://localhost/nettest </value>
</parameter>
<parameter>
<name> Username </name>
<value> Root </value>
</parameter>
<parameter>
<name> Password </name>
<value> 1901 </value>
</parameter>
</ResourceParams>
</Context>
CONTEXT.XML
<Context ...
<ResourceLink global="jdbc/dsnettest" name="jdbc/dsnettest" type="javax.sql.DataSource"/>
...
</Context>
WEB.XML
<servlet>
<servlet-name>IdentificacionServlet</servlet-name>
<servlet-class>IdentificacionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>IdentificacionServlet</servlet-name>
<url-pattern>/servlet/IdentificacionServlet</url-pattern>
</servlet-mapping>
<Resource-ref>
<res-ref-name> jdbc/dsnettest </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth> Container </res-auth>
</resource-ref>
EN EL SERVLET
Context init = new InitialContext();
Context context = (Context) init.lookup("java:comp/env");
DataSource ds = (DataSource) context.lookup("jdbc/dsnettest");
conn = ds.getConnection();
Y me da el siguiente error:
Javax. Naming. NameNotFoundException: El nombre jdbc no este asociado a este contexto
08-jul-2005 13:46:01 org. Apache. Catalina. Core. StandardWrapperValve invoke
GRAVE: Servlet. Service() para servlet IdentificacionServlet lanzó excepción
java. Lang. NullPointerException
At IdentificacionServlet.comprobarBD(IdentificacionServlet.java:101)
At IdentificacionServlet.doPost(IdentificacionServlet.java:83)
At javax. Servlet.http.HttpServlet.service(HttpServlet.java:709)
At javax. Servlet.http.HttpServlet.service(HttpServlet.java:802)
At org. Apache. Catalina. Core. ApplicationFilterChain. InternalDoFilter(ApplicationFilterChain.java:237)
At org. Apache. Catalina. Core. ApplicationFilterChain. DoFilter(ApplicationFilterChain.java:157)
At org. Apache. Catalina. Core. StandardWrapperValve.invoke(StandardWrapperValve.java:214)
At org. Apache. Catalina. Core. StandardContextValve.invoke(StandardContextValve.java:178)
At org. Apache. Catalina. Core. StandardHostValve.invoke(StandardHostValve.java:126)
At org. Apache. Catalina. Valves. ErrorReportValve.invoke(ErrorReportValve.java:105)
At org. Apache. Catalina. Core. StandardEngineValve.invoke(StandardEngineValve.java:107)
At org. Apache. Catalina. Connector. CoyoteAdapter.service(CoyoteAdapter.java:148)
At org. Apache. Coyote.http11.Http11Processor.process(Http11Processor.java:825)
At org. Apache. Coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
At org. Apache. Tomcat. Util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
At org. Apache. Tomcat. Util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
At org. Apache. Tomcat. Util. Threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
At java. Lang. Thread. Run(Unknown Source)
SERVER.XML
<Context path="/Net-Test" docBase="Net-Test" debug="0" reloadable="true" useNaming="true">
<ResourceParams name="jdbc/dsnettest">
<!-- Para la config. De la fuente de datos -->
<parameter>
<name> DriverClassName </name>
<value> com.mysql.jdbc.Driver </value>
</parameter>
<parameter>
<name> Url </name>
<value> jdbc:mysql://localhost/nettest </value>
</parameter>
<parameter>
<name> Username </name>
<value> Root </value>
</parameter>
<parameter>
<name> Password </name>
<value> 1901 </value>
</parameter>
</ResourceParams>
</Context>
CONTEXT.XML
<Context ...
<ResourceLink global="jdbc/dsnettest" name="jdbc/dsnettest" type="javax.sql.DataSource"/>
...
</Context>
WEB.XML
<servlet>
<servlet-name>IdentificacionServlet</servlet-name>
<servlet-class>IdentificacionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>IdentificacionServlet</servlet-name>
<url-pattern>/servlet/IdentificacionServlet</url-pattern>
</servlet-mapping>
<Resource-ref>
<res-ref-name> jdbc/dsnettest </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth> Container </res-auth>
</resource-ref>
EN EL SERVLET
Context init = new InitialContext();
Context context = (Context) init.lookup("java:comp/env");
DataSource ds = (DataSource) context.lookup("jdbc/dsnettest");
conn = ds.getConnection();
Y me da el siguiente error:
Javax. Naming. NameNotFoundException: El nombre jdbc no este asociado a este contexto
08-jul-2005 13:46:01 org. Apache. Catalina. Core. StandardWrapperValve invoke
GRAVE: Servlet. Service() para servlet IdentificacionServlet lanzó excepción
java. Lang. NullPointerException
At IdentificacionServlet.comprobarBD(IdentificacionServlet.java:101)
At IdentificacionServlet.doPost(IdentificacionServlet.java:83)
At javax. Servlet.http.HttpServlet.service(HttpServlet.java:709)
At javax. Servlet.http.HttpServlet.service(HttpServlet.java:802)
At org. Apache. Catalina. Core. ApplicationFilterChain. InternalDoFilter(ApplicationFilterChain.java:237)
At org. Apache. Catalina. Core. ApplicationFilterChain. DoFilter(ApplicationFilterChain.java:157)
At org. Apache. Catalina. Core. StandardWrapperValve.invoke(StandardWrapperValve.java:214)
At org. Apache. Catalina. Core. StandardContextValve.invoke(StandardContextValve.java:178)
At org. Apache. Catalina. Core. StandardHostValve.invoke(StandardHostValve.java:126)
At org. Apache. Catalina. Valves. ErrorReportValve.invoke(ErrorReportValve.java:105)
At org. Apache. Catalina. Core. StandardEngineValve.invoke(StandardEngineValve.java:107)
At org. Apache. Catalina. Connector. CoyoteAdapter.service(CoyoteAdapter.java:148)
At org. Apache. Coyote.http11.Http11Processor.process(Http11Processor.java:825)
At org. Apache. Coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
At org. Apache. Tomcat. Util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
At org. Apache. Tomcat. Util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
At org. Apache. Tomcat. Util. Threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
At java. Lang. Thread. Run(Unknown Source)
1 Respuesta
Respuesta de kalapa
1