Olá pessoal,
Estou fazendo um teste para desenvolver aplicações Web com servlets. O meu banco de dados é o SQL Server, estou usando a Java Persistence API para operações com tabelas. Eis o código fonte do servlet:
[b]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package servelets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import conexoesBD.*;
/**
*
-
@author UserName
*/
public class srvSegurados extends HttpServlet {/**
- Processes requests for both HTTP
GET
andPOST
methods. - @param request servlet request
- @param response servlet response
- @throws ServletException if a servlet-specific error occurs
-
@throws IOException if an I/O error occurs
/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Segurados s = new Segurados(); //classe de entidade
s.setNomeSeg(request.getParameter(“txtNome”));
s.setTipoSeg(request.getParameter(“cbTipo”));
s.setCpfcnpjSeg(request.getParameter(“txtCnpjCpf”).replace(".", “”).
replace("/", “”).replace("-", “”));
// s.setDataSeg(request.getParameter(“txtData”).replace("/", “”));
s.setEnderecoSeg(request.getParameter(“txtEndereco”));
s.setNumeroSeg(request.getParameter(“txtNumero”));
s.setBairroSeg(request.getParameter(“txtBairro”));
s.setCidadeSeg(request.getParameter(“txtCidade”));
s.setCepSeg(request.getParameter(“txtCep”).replace("-", “”));
s.setEstadoSeg(request.getParameter(“cbEstado”));
s.setFoneSeg(request.getParameter(“txtFone”).replace("(", “”).
replace(")", “”).replace("-", “”));
s.setEmailSeg(request.getParameter(“txtEmail”));
response.setContentType(“text/html;charset=ISO-8859-1”);
new operacoes().gravar(s); //método gravar, o qual usa o método persist do EntityManager
PrintWriter out = response.getWriter();
try {
/ TODO output your page here
out.println("");
out.println("");
out.println(“Servlet srvDados”);
out.println("");
out.println("");
out.println("Nome: " + nome + “
”);
out.println("Tipo: " + Tipo + “
”);
out.println("CNPJ/CPF: " + CnpjCpf + “
”);
out.println("Data: " + Data + “
”);
out.println("Endereço: " + Endereco + “
”);
out.println("Número: " + Numero + “
”);
out.println("Bairro: " + Bairro + “
”);
out.println("Cidade: " + Cidade + “
”);
out.println(“CEP: " + Cep + “
”);
out.println(“Estado: " + Estado + “
”);
out.println(“Fone: " + Fone + “
”);
out.println(“E-Mail: " + Email + “
”);
out.println(””);
out.println(””); */
} finally {
out.close();
}
}
//
/**- Handles the HTTP
GET
method. - @param request servlet request
- @param response servlet response
- @throws ServletException if a servlet-specific error occurs
-
@throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
- Handles the HTTP
POST
method. - @param request servlet request
- @param response servlet response
- @throws ServletException if a servlet-specific error occurs
-
@throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
- Returns a short description of the servlet.
-
@return a String containing servlet description
*/
@Override
public String getServletInfo() {
return “Short description”;
}//
- Processes requests for both HTTP
}[/b]
Uma página JSP chama esse servlet para gravar os dados. Porém, é exibida outra página com o seguinte erro:
Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b04-fcs (04/11/2008))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: sun.jdbc.odbc.JdbcOdbcDriver cannot be cast to javax.sql.DataSource
Error Code: 0
Alguém tem idéia do que pode ser esse erro? Será que há incompatibilidade com Java Persistence API?
Detalhe: Estou usando GlassFish
Ficarei agradecido com a ajuda.