Erro ao instanciar classe no servlet

3 respostas
L

Tenho uma classe que trabalha com o banco de dados, e nela tem alguns metodos, um deles é o que faz consulta, chamado “consultaDB(sql)” o qual retorna um RESULTSET

Até ai tudo bem…

Tenho uma classe Usuario, e no construtor dessa classe eu instancio a classe do banco de dados e faço uma consulta a um usuario no banco de dados e chamo um metodo que preenche os atributos da classe “Usuario”.

Criei uma classe teste onde eu instancio a classe Usuário

Usuario user = new Usuario(usuario, senha);

e no construtor dessa classe Usuário eu faço a consulta e preencho os atributos da classe de acordo com o resultado da consulta.

Isso funciona belezinha na classe teste.

Porém ao fazer a mesma coisa em um servlet acontece alguns erros.

No Servlet eu recebo o usuario que o cara digitou no form do jsp anterior, e chamo a classe Usuario passando o parametro do user que o cara digitou!

Usuario user = new Usuario(usuario, senha);

e aí que ocorre os seguintes erros no tomcat:

type Exception report

message 

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

exception 

javax.servlet.ServletException: Servlet execution threw an exception


root cause 

java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/SQLServerDataSource
	dbManager.<init>(dbManager.java:7)
	Usuario.<init>(Usuario.java:16)
	validaLoginUsuario.doPost(validaLoginUsuario.java:28)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.

Agora o que eu quero saber é, porque qdo eu instancio a classe “Usuario” em uma classe normal ela funciona, e no servlet ela não funciona e dah esses erros?

Alguém pode me dar uma luz?

3 Respostas

davidbuzatto

Ele num ta conseguindo achar o driver ou algum outro componente do .jar do driver do sql server.

Usa o jtds ao invés do driver da microsoft.

thiagopassosp

eu tenho quase certeza que o erro não é na hora de passar o usuario e a senhas…
Post o codigo de como vc esta fazendo a conexão.

L

Aí, é que está, pq na classe teste tudo funciona normal… ??

Na classe teste (que não é um servlet) eu faço:

Usuario user = new Usuario(usuario, senha);

Funciona OK!

E no servlet eu faço:

Usuario user = new Usuario(usuario, senha);

Não Funciona!

Pq em uma classe comum funciona, como pode ser o driver ou a passagem de parametro?

E onde eu arrumo esse driver jsdt ?

Criado 19 de janeiro de 2007
Ultima resposta 19 de jan. de 2007
Respostas 3
Participantes 3