Excepción PWC1406: Servlet.service() for servlet SeleccionaReporte threw exception de Glassfish
Hola buen día.
Tengo una aplicación Web con java, que estoy deployando con Glassfish 3.0, y constantemente me da este WARNING con lo que mostré arriba, con uno u otro servlet y el siguiente mensaje "java.lang.NoClassDefFoundError: testonline/dao/ReportesDAO". He probado borrando la clase ReportesDAO del paquete donde se encuentra y volviendola a crear y funciona, pero despues de un rato, vuelve a salirme este warning, que ya no me permite traer la información que necesito y mostrarla al cliente mediante jQuery.
Cualquier ayuda agradezco de antemano!
- Inicie sesión o regístrese para enviar comentarios
Código
Pues colocar el código de tu dao? y si usas algún DTO (o VO o Bean o entity o como quieras llamarle) también postéalo por favor.
Auí está el Servlet, DAO y DTO
De acuerdo, muchas gracias aquí esta el código.
PWC1406: Servlet.service() for servlet MenuAdmin threw exception
java.lang.NoClassDefFoundError: desarrolloTO/dao/PreguntasDAO
/**********************Código del servlet******************************/
public class MenuAdmin extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
try{
String submenu = request.getParameter("btn");
JSONArray jsArray = null;
if (submenu.equals("4")){
PreguntasDAO daoPreguntas = new PreguntasDAO ();
List listaPreg=daoPreguntas.listaTodasPreguntas();
jsArray = new JSONArray(listaPreg);
out.println(jsArray); //Regresa la lista de preguntas a la llamada AJAX que lo invocó medianta un evento click de jQuery.
}
}catch (Exception e){
e.printStackTrace();
}
}
}
/**********************Código del DAO******************************/
public class PreguntasDAO {
private ConexionUsuario conUsu;
public PreguntasDAO () throws NamingException{
conUsu = new ConexionUsuario ();
}
public List listaTodasPreguntas( ){
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
List salida = new ArrayList();
String query="";
try{
con = conUsu.getConexion();
query = "SELECT * FROM preguntas";
ps = con.prepareStatement(query);
rs = ps.executeQuery();
while (rs.next()){
PreguntasDTO tbpreg = new PreguntasDTO ();
tbpreg.setIdPregunta(rs.getInt("idpregunta"));
tbpreg.setDescPregunta(rs.getString("descpregunta"));
salida.add(tbpreg);
}
}catch (Exception e){
e.printStackTrace();
System.out.println(e.getMessage());
}finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (con != null) {
con.close();
}
} catch (Exception err) {
err.printStackTrace();
System.out.println(err.getMessage());
}
}
return salida;
}
/**********************Código del DTO******************************/
public class PreguntasDTO {
private int idPregunta;
private String descPregunta;
public String getDescPregunta() {
return descPregunta;
}
public void setDescPregunta(String descPregunta) {
this.descPregunta = descPregunta;
}
public int getIdPregunta() {
return idPregunta;
}
public void setIdPregunta(int idPregunta) {
this.idPregunta = idPregunta;
}
}
Tengo todos los import donde lo requiere la clase. Muchas gracias!
DTO
En tu clase
agregale la implementación de la interface
A ver si con éso es suficiente.
Lo he agregado y persiste el error
java.lang.NoClassDefFoundError: desarrolloTO/dao/PreguntasDAO
lo que esta mal es tu
lo que esta mal es tu classpath no el codigo.. NoClassDefFoundError quiere decir no encuentro la clase ¿donde esta? .. tienes que poner el jar o war en el lugar adecuado para que el classloder lo pueda ver