最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中Class.forName()在代碼上無法執(zhí)行報錯NotFound的解決過程

 更新時間:2026年06月01日 11:52:40   作者:蘇木零榆  
這段文章主要討論了ClassNotFoundException的錯誤原因,指出問題源于文件夾命名錯誤,應命名為WEB-INF而非WEB-INFO,并強調(diào)了正確配置的重要性

異常信息

ClassNotFoundException

前因

在寫JDBCUtils工具類的時候,發(fā)現(xiàn)測試時無法獲取到正常的數(shù)據(jù),查看日志后發(fā)現(xiàn)報錯ClassNotFoundException。

錯誤原因

  • jar包導入正常
  • 所有配置文件的配置信息正常
  • SQL語句以及其他代碼編寫正常

文件夾命名異常:

  • 在web目錄下的創(chuàng)建的目錄名稱必須創(chuàng)建為WEB-INF,但是我創(chuàng)建的是WEB-INFO,隨后創(chuàng)建的lib目錄,放進了jar包,因此出現(xiàn)了該錯誤。
  • 然而在最初的學習中也是創(chuàng)建的WEB-INFO目錄,卻可以運行正常,目前原因未知。

代碼實現(xiàn)

配置文件

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/userlogin
username=root
password=guoyuhang
initialSize=5
maxActive=10
maxWait=3000

JDBC代碼實現(xiàn)

package cn.itcast.util;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.Properties;
public class JDBCUtils {
    private static String url;
    private static String password;
    private static String user;
    private static String driverClassName;
    static {
        try {
            //開始讀數(shù)據(jù)
            Properties properties = new Properties();
            //獲取到該類所在的目錄
            ClassLoader classLoader = JDBCUtils.class.getClassLoader();
            URL resource = classLoader.getResource("druid.properties");
            String path = resource.getPath();
            properties.load(new FileReader(path));
            //獲取數(shù)據(jù),賦值
            url = properties.getProperty("url");
            user = properties.getProperty("username");
            password = properties.getProperty("password");
            driverClassName = properties.getProperty("driverClassName");
            Class.forName(driverClassName);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url, user, password);
    }
    /**
     * 釋放資源的方法  這里實現(xiàn)了重載 雙參數(shù)和三參數(shù)
     */
    public static void close(Statement stmt, Connection conn){
        if(stmt!=null){
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(conn!=null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    public static void close(ResultSet rs, Statement stmt, Connection conn){
        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(stmt!=null){
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(conn!=null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 淺談Java 8 新增函數(shù)式接口到底是什么

    淺談Java 8 新增函數(shù)式接口到底是什么

    這篇文章主要介紹了淺談Java 8 新增函數(shù)式接口到底是什么,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • java中常用的排序方法

    java中常用的排序方法

    今天給大家介紹一下,java中常用的排序方法。
    2013-04-04
  • Spring自動配置之condition條件判斷上篇

    Spring自動配置之condition條件判斷上篇

    這篇文章主要為大家介紹了SpringBoot condition條件判斷功能的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • IDEA搭建SpringBoot離線工程的方法

    IDEA搭建SpringBoot離線工程的方法

    這篇文章主要介紹了IDEA搭建SpringBoot離線工程的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • SpringBoot多數(shù)據(jù)源解決方案:dynamic-datasource-spring-boot-starter

    SpringBoot多數(shù)據(jù)源解決方案:dynamic-datasource-spring-boot-starter

    本文主要介紹了SpringBoot多數(shù)據(jù)源解決方案,使用dynamic-datasource-spring-boot-starter實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • Java Unsafe 類的講解

    Java Unsafe 類的講解

    這篇文章主要給大家分享了 Java Unsafe 類的講解,文章圍繞Unsafe 類的相關資料展開詳細內(nèi)容,具有一定的參考價值需要的朋友可以參考一下
    2021-11-11
  • Java的Struts框架中Action的編寫與攔截器的使用方法

    Java的Struts框架中Action的編寫與攔截器的使用方法

    這篇文章主要介紹了Java的Struts框架中Action的編寫與攔截器的使用方法,Struts框架是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-11-11
  • Java并發(fā)編程中的synchronized關鍵字詳細解讀

    Java并發(fā)編程中的synchronized關鍵字詳細解讀

    這篇文章主要介紹了Java并發(fā)編程中的synchronized關鍵字詳細解讀,在Java早期版本中,synchronized 屬于 重量級鎖,效率低下,這是因為監(jiān)視器鎖(monitor)是依賴于底層的操作系統(tǒng)的Mutex Lock來實現(xiàn)的,Java 的線程是映射到操作系統(tǒng)的原生線程之上的,需要的朋友可以參考下
    2023-12-12
  • SpringBoot如何使用Fastjson解析Json數(shù)據(jù)

    SpringBoot如何使用Fastjson解析Json數(shù)據(jù)

    這篇文章主要介紹了SpringBoot如何使用Fastjson解析Json數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Spring Bean的定義及三種創(chuàng)建方式

    Spring Bean的定義及三種創(chuàng)建方式

    本文主要介紹了Spring容器獲取Bean的9種方式小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07

最新評論

鹿邑县| 阿巴嘎旗| 绥化市| 泰和县| 汽车| 娄烦县| 安溪县| 柳州市| 永州市| 贡山| 博兴县| 鸡东县| 赫章县| 抚松县| 班戈县| 东乡县| 班戈县| 吉隆县| 肃南| 灵武市| 秭归县| 保山市| 健康| 兰考县| 会宁县| 山东省| 瓦房店市| 岳池县| 蒙山县| 定日县| 习水县| 台东县| 内乡县| 雷山县| 威宁| 比如县| 保定市| 甘孜县| 沁阳市| 博兴县| 绵竹市|