【问题标题】:JavaWeb java.lang.NoClassDefFoundError: sun/security/ssl/HelloExtensionJavaWeb java.lang.NoClassDefFoundError: sun/security/ssl/HelloExtension
【发布时间】:2020-09-30 15:13:24
【问题描述】:

我在尝试使用 Glassfish 5.0 使用 JavaWeb 项目时遇到错误。每次它试图从我的 SQL 数据库中获取数据时,它都会给我这个错误。
StandardWrapperValve[ListadoPersonas]:Servlet ListadoPersonas 的 Servlet.service() 抛出异常 java.lang.NoClassDefFoundError: sun/security/ssl/HelloExtension

这是 servlet ListadoEstadosCiviles,我在其中调用从数据库中取回数据的函数

GestorPersonas g = new GestorPersonas();
ArrayList<EstadoCivil> lista = g.obtenerEstadosCiviles();
for (EstadoCivil estadoCivil : lista) {
    out.println("<tr><td>" + estadoCivil.getId() + "</td><td>" + estadoCivil.getNombre() + "</td></tr>");
}

这里是GestorPersonas()构造函数:

 public GestorPersonas() {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(GestorPersonas.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

这里是obtenerEstadosCiviles()方法

public ArrayList<EstadoCivil> obtenerEstadosCiviles() {
    ArrayList<EstadoCivil> lista = new ArrayList<>();
    
    try {
        Connection conn = DriverManager.getConnection(CONN,USER,PASS);
        Statement st = conn.createStatement();
        ResultSet rs = st.executeQuery("select * from EstadosCiviles");
        // Si el select devuelve una única fila, en lugar de while, se usa un if
        while (rs.next()) {
            int id = rs.getInt("id");
            String nombre = rs.getString("nombre");
            EstadoCivil ec = new EstadoCivil(id, nombre);
            lista.add(ec);
        }
        
        rs.close();
        st.close();
        conn.close();
    } catch (SQLException ex) {
        Logger.getLogger(GestorPersonas.class.getName()).log(Level.SEVERE, null, ex);
    }
    
    return lista;
}

我没有问题将我的 java 应用程序连接到 sql,我认为问题出在 glassfish 但我不知道为什么它不工作

这是调用 obtenerEstadosCiviles() 函数的 servlet,我希望该表充满数据

我的期望:

更新

我刚刚检查了我的插件,它似乎已激活 Java Web 和 EE,但“活动”符号似乎没有激活。这可能是问题的一部分吗?

【问题讨论】:

    标签: java servlets netbeans glassfish


    【解决方案1】:

    遇到了基本相同的问题,最终用this solution here解决了。

    在您的 glassfish 文件夹中,转到 glassfish5/glassfish/modules/endorsed/ 并使用 winrar 或您喜欢的解压缩器打开 grizzly-npn-bootstrap.jar 文件。

    删除 sun 文件夹并再次尝试运行您的程序。

    【讨论】:

      猜你喜欢
      • 2018-08-13
      • 1970-01-01
      • 2020-11-22
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      • 2013-08-07
      相关资源
      最近更新 更多