The following files would be in a standalone WAR file, named getversion.war. The derby jar files would be in WEB-INF/lib or DOMAIN_HOME/lib (or both). The class file would be compiled and installed at WEB-INF/classes/demo/GetVersion.class. --------------------------------------------------- WEB-INF/web.xml welcome.jsp GetVersion GetVersion GetVersion demo.GetVersion --------------------------------------------------- WEB-INF/weblogic.xml true ------------------------------------------------------ Java file demo/GetVersion.java package demo; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.SQLException; import javax.annotation.Resource; import javax.annotation.sql.DataSourceDefinition; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.sql.DataSource; @DataSourceDefinition(name="java:global/DSD", className="org.apache.derby.jdbc.ClientDataSource", portNumber=1527, serverName="localhost", databaseName="examples", transactional=false ) @WebServlet(urlPatterns = "/GetVersion") public class GetVersion extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { @Resource(lookup = "java:global/DSD") private DataSource ds; public GetVersion() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter writer = response.getWriter(); writer.println(""); writer.println("GetVersion"); writer.println("" + doit() +""); writer.println(""); writer.close(); } private String doit() { String ret = "FAILED"; Connection conn = null; try { conn = ds.getConnection(); ret = "Connection obtained with version= " + conn.getMetaData().getDriverVersion(); } catch(Exception e) { e.printStackTrace(); } finally { try { if (conn != null) conn.close(); } catch (Exception ignore) {} } return ret; } }