首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaWeb java.lang.NoClassDefFoundError: sun/security/ssl/HelloExtension

JavaWeb java.lang.NoClassDefFoundError: sun/security/ssl/HelloExtension
EN

Stack Overflow用户
提问于 2020-09-30 15:13:24
回答 1查看 5.4K关注 0票数 3

在尝试使用Glassfish 5.0使用JavaWeb项目时,我遇到了一个错误。每当它试图从我的SQL数据库中获取数据时,它都会给我带来这个错误。

StandardWrapperValveListadoPersonas: Servlet.service() for servlet ListadoPersonas抛出异常java.lang.NoClassDefFoundError: sun/security/ssl/HelloExtension

这里是servlet ListadoEstadosCiviles,在这里我调用了从数据库中返回数据的函数

代码语言:javascript
复制
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()构造函数:

代码语言:javascript
复制
 public GestorPersonas() {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(GestorPersonas.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

这是obtenerEstadosCiviles()方法

代码语言:javascript
复制
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和EE,但是“活动”符号没有显示为活动。这可能是问题的一部分吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-16 09:08:30

有着基本相同的问题,最终用这里的解决方案解决了。

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

删除sun文件夹,然后再次运行您的程序。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64140616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档