reate-react-app 打包后引用路径问题

本文介绍了解决create-react-app项目中打包后css、js文件路径引用错误的方法。通过设置package.json中的homepage属性为'.',可以确保生成的静态资源文件路径正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### 错误分析 在遇到 `ERROR 22776` 的情况下,通常意味着 Druid 数据源初始化过程中遇到了特定问题。根据描述中的错误信息以及提供的配置代码片段,可能的原因之一在于连接池验证查询未设置而启用了相应的检测功能。 当 `testWhileIdle` 设置为 `true` 并且没有指定 `validationQuery` 参数时,Druid 将无法执行必要的空闲连接有效性检查[^1]。这可能导致应用程序尝试使用无效或过期的数据库连接,进而引发各种异常情况。 另外,如果存在其他类型的错误码(如 errorCode 1698),则可能是由于权限不足或其他环境因素引起的连接失败问题[^3]。 ### 配置调整建议 为了修复上述提到的问题并确保 Druid 连接池能够正常工作,应当按照以下方式修改配置: #### 修改 druid.properties 文件 确保包含如下属性设定: ```properties druid.testWhileIdle=true druid.timeBetweenEvictionRunsMillis=60000 druid.minEvictableIdleTimeMillis=300000 druid.validationQuery=SELECT 'x' ``` 这里特别注意的是 `validationQuery` 属性,它用于定义一个简单的 SQL 查询语句来检验连接的有效性。对于 MySQL 数据库来说,推荐使用的验证查询是 `SELECT 'x'` 或者类似的简单 SELECT 语句。 此外,还可以考虑增加更多关于连接池管理的相关参数以优化性能表现,比如最大活跃数 (`maxActive`) 和最小闲置数量 (`minIdle`) 等等。 #### 测试类改进 考虑到当前测试程序仅打印了获得到的第一个连接实例,可以进一步扩展该例子以便更好地展示整个流程的工作状态。下面是一个增强版的例子: ```java public class DruidDemo { public static void main(String[] args) throws Exception { try (Connection conn = getDataSource().getConnection()) { System.out.println("Database connected successfully."); Statement stmt = null; ResultSet rs = null; String query = "select CURRENT_TIMESTAMP"; try { stmt = conn.createStatement(); rs = stmt.executeQuery(query); while(rs.next()){ System.out.println("Current timestamp from DB: "+rs.getString(1)); } } finally { if(stmt != null){ stmt.close(); } if(rs != null){ rs.close(); } } } catch (SQLException e) { e.printStackTrace(); } } private static DataSource getDataSource() throws SQLException{ Properties prop = new Properties(); prop.load(DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties")); return DruidDataSourceFactory.createDataSource(prop); } } ``` 这段代码不仅展示了如何建立与释放资源的最佳实践,还通过实际执行一条SQL查询确认了数据库连接的状态良好。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值