Newbie: getting Java Connector to work

Hello I’am not sure how to setup the Servlet correctly. I hope you can help me.

In eclipse I added the jar file as external jar files is this correct?

next step I created a Servlet which looks like this:

package de.winniwinter.filecounter.servlets;

import java.io.IOException;

import java.sql.Connection;
import java.sql.DriverManager;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.dhtmlx.connector.*;
import com.dhtmlx.connector.*;

@WebServlet("/dhtmlxgrid")
public class dhtmlxgrid extends ConnectorServlet {
	protected void configure() {

		Connection conn = null;

		try {
			Class.forName("org.sqlite.JDBC").newInstance();
			conn = DriverManager
					.getConnection("jdbc:sqlite:/D:/Users/i01002486/workspace/Beginning/movingpictures.db3");

		} catch (Throwable e) {
			e.printStackTrace();
		}

		GridConnector c = new GridConnector(conn);

		c.render_table("movie_info", "id", "title", "genres", "runtime");
		try {
			conn.close();
		} catch (Throwable e) {
			e.printStackTrace();
		}

	}
}

Since I’m new at this I just did a right-click and said run on server which throws an exception:

type Exception report

message

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

exception

javax.servlet.ServletException: Error instantiating servlet class de.winniwinter.filecounter.servlets.dhtmlxgrid
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
	java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	java.lang.Thread.run(Thread.java:680)
root cause

java.lang.NoClassDefFoundError: com/dhtmlx/connector/ConnectorServlet
	java.lang.ClassLoader.defineClass1(Native Method)
	java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1148)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1643)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
	java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	java.lang.Thread.run(Thread.java:680)
root cause

java.lang.ClassNotFoundException: com.dhtmlx.connector.ConnectorServlet
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
	java.lang.ClassLoader.defineClass1(Native Method)
	java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1148)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1643)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
	java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	java.lang.Thread.run(Thread.java:680)

First I don’t know if this should even work. But for me it looks that I did already something wrong with adding the jar file

Second question would be how I’am now able to request the data from the servlet. Again pretty dum assumption I tried this:

        myGrid = new dhtmlXGridObject("pObjId");

        myGrid.load("myconnector.do");

would be myconnector.do the Servlet?
The Servlet is hosted on localhost:8080/MyFirstServlet/dhtmlxgrid
the homepage is hosted on localhost:8080/MyFirstServlet/index.html

In my case “myconnector.do” would be just “dhtmlxgrid” ??

ok, problem was that I had to put the jar file in to the lib folder. Now I am able to establish a connection. still what do I have to do on client side to access the data?
Do I always have to export my servlet as war files and deploy it onto my tomcat or am I able to directly establish a connection with the servlet??

ok next step done.

I imported the samples, installed mysql server and created a sample table since I got an error when importing the dump.sql
Now it works!
But if I use my SQLite DB I get an null pointer exception. Isn’t SQLite supported? I of course added the jdbc driver for SQLite…

There is no currently support of SQLLite, but if it is critical the wrapper for SQLite DB can be added.

hi

i am new to dhtmlx library i am having the problem with the connector i write a servlet there is no problem in executing it in server but i don’t know to call it in dhtmlxgrid please help me

in js code you will have something like

grid.loadXML("some_url");

where some_url - path which must be mapped to the servlet