style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

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!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

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.

Imagen de marielyen

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!

Imagen de neko069

DTO

En tu clase PreguntasDTO agregale la implementación de la interface Serializable

public class PreguntasDTO implements Serializable

A ver si con éso es suficiente.

Imagen de marielyen

Lo he agregado y persiste el error

java.lang.NoClassDefFoundError: desarrolloTO/dao/PreguntasDAO

Imagen de echan

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

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">