问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

tomcat服务器无法正常启动,求解答,下面是启动失败内容

发布网友 发布时间:2022-05-01 21:56

我来回答

3个回答

懂视网 时间:2022-05-02 02:17

driverClass = com.mysql.jdbc.Driver 2 url = jdbc:mysql://localhost:3306/day02 3 user = root 4 password = 123456

我们可以通过 ResourceBundle工具快速获取里面的配置信息
  使用步骤:
    1.获取ResourceBundle 对象:
      static ResourceBundle getBundle("文件名称不带后缀名")
    2.通过ResourceBundle 对象获取配置信息
      String getString(String key) :通过执行key获取指定的value

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class JdbcUtils01 {
 static final String DRIVERCLASS;
 static final String URL;
 static final String USER;
 static final String PASSWORD;
 
 static{  //静态代码块
 //获取ResourceBundle ctrl+2 松手按L
 //块编辑 alt+shift+a
 //变大写ctrl+shift+x
 //变小写ctrl+shift+y
 //向下复制一行alt+ctrl+下箭头
 //向上复制一行alt+ctrl+上箭头
 ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
 
 //获取指定内容
 DRIVERCLASS = bundle.getString("driverClass");
 URL = bundle.getString("url");
 USER = bundle.getString("user");
 PASSWORD = bundle.getString("password");
 }
 
 static{
 //注册驱动
 try {
  Class.forName(DRIVERCLASS);
 } catch (ClassNotFoundException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 }

 public static Connection getConnection() throws SQLException {
 return DriverManager.getConnection(URL, USER, PASSWORD);
 }

 /**
 * 释放资源
 * @param conn 链接
 * @param st 语句执行者
 * @param rs 结果集
 */
 public static void closeResource(Connection conn, Statement st, ResultSet rs) {
 closeResultSet(rs);
 closeStatement(st);
 closeConn(conn);
 }
 /**
 * 释放链接
 * @param conn 链接
 */
 public static void closeConn(Connection conn) {
 if (conn != null) {
  try {
  conn.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
  conn = null;
 }
 }
 /**
 * 释放语句执行者
 * @param st 语句执行者
 */
 public static void closeStatement(Statement st) {
 if (st != null) {
  try {
  st.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
  st = null;
 } 
 }
 /**
 * 释放结果集
 * @param rs 结果集
 */
 public static void closeResultSet(ResultSet rs) {
 if (rs != null) {
  try {
  rs.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
  rs = null;
 }
 }
 
}
 1 //更新操作
 2 //@Test
 3 public void f4(){
 4  Connection conn = null;
 5  ResultSet rs = null;
 6  PreparedStatement st = null;
 7  
 8  try {
 9  conn = JdbcUtils01.getConnection();
10  String sql = "update category set cname = ? where cid = ?";
11  st = conn.prepareStatement(sql);
12  st.setString(1, "手机");
13  st.setString(2, "c006");
14  
15  int i = st.executeUpdate();
16  
17  if(i==1){
18   System.out.println("success");
19  }else{
20   System.out.println("fail");
21   }
22  
23  } catch (SQLException e) {
24   e.printStackTrace();
25  }finally{
26  //释放资源
27   JdbcUtils01.closeResource(conn, st, rs);
28  } 
29  }
30 
31 //删除操作
32  @Test
33 public void f5(){
34  Connection conn = null;
35  ResultSet rs = null;
36  PreparedStatement st = null;
37  
38  try {
39  conn = JdbcUtils01.getConnection();
40  String sql = "delete from category where cid = ?";
41  st = conn.prepareStatement(sql);
42  st.setString(1, "c006");
43  
44  int i = st.executeUpdate();
45  if(i==1){
46   System.out.println("success");
47  }else{
48   System.out.println("fail");
49   }
50  } catch (SQLException e) {
51   e.printStackTrace();
52  }finally{
53   JdbcUtils01.closeResource(conn, st, rs);
54  }
55 }

 


案例2-通过连接池(数据源)优化我们的操作.
需求:
  使用jdbc的时候,每操作一次都需要获取连接(创建)用完之后把连接释放掉了(销毁),通过连接池来优化curd操作.
连接池概述:
  管理数据库的连接,
作用:
  提高项目的性能.
  就是在连接池初始化的时候存入一定数量的连接,用的时候通过方法获取,不用的时候归还连接即可.
  所有的连接池必须实现一个接口 javax.sql.DataSource接口

获取连接方法:
  Connection getConnection()
  归还连接的方法就是以前的释放资源的方法.调用connection.close();
  自定义一个连接池(理解思想)

常用连接池:
  DBCP
  C3P0
///////////////////
增前方法
  1.继承
  2.装饰者模式(静态代理)
  3.动态代理
//////////////
装饰者模式:★★★
  使用步骤:
    1.装饰者和被装饰者实现同一个接口或者继承同一个类
    2.装饰者中要有被装饰者的引用
    3.对需要增强的方法进行加强
    4.对不需要加强的方法调用原来方法
////////////////////////////////////
常用的连接池:
  DBCP:(理解)
    apache组织
    使用步骤:
      1.导入jar包(commons-dbcp-1.4.jar和commons-pool-1.5.6.jar)
      2.使用api
        a.硬编码   

1  //创建连接池
2       BasicDataSource ds = new BasicDataSource();
3 
4       //配置信息
5       ds.setDriverClassName("com.mysql.jdbc.Driver");
6       ds.setUrl("jdbc:mysql:///day07");
7       ds.setUsername("root");
8       ds.setPassword("1234");   

  b.配置文件
    实现编写一个properties文件

1 //存放配置文件
2 Properties prop = new Properties();
3 prop.load(new FileInputStream("src/dbcp.properties"));
4 //设置
5 //prop.setProperty("driverClassName", "com.mysql.jdbc.Driver");
6 //创建连接池
7 DataSource ds = new BasicDataSourceFactory().createDataSource(prop);

 


C3P0:(★)
  hibernate和spring使用
  有自动回收空闲连接的功能.
    使用步骤:
      1.导入jar包(c3p0-0.9.1.2.jar)
      2.使用api
        a.硬编码(不推荐)
          new ComboPooledDataSource()
        b.配置文件
          配置文件的名称:c3p0.properties 或者 c3p0-config.xml
          配置文件的路径:src下

编码只需要一句话
new ComboPooledDataSource()//使用默认的配置
new ComboPooledDataSource(String configName)//使用命名的配置 若配置的名字找不到,使用默认的配置

////////////////////////////
案例3-使用dbutils完成curd操作
技术分析:
dbutils
dbutils:
是apache组织的一个工具类,jdbc的框架,更方便我们使用
使用步骤:
1.导入jar包(commons-dbutils-1.4.jar)
2.创建一个queryrunner类
queryrunner作用:操作sql语句
构造方法:
new QueryRunner(Datasource ds);
3.编写sql
4.执行sql
query(..):执行r操作
update(...):执行cud操作
////////////////////////////
核心类或接口
QueryRunner:类名
作用:操作sql语句
构造器:
new QueryRunner(Datasource ds);
注意:
底层帮我们创建连接,创建语句执行者 ,释放资源.
常用方法:
query(..):
update(..):

DbUtils:释放资源,控制事务 类
closeQuietly(conn):内部处理了异常
commitAndClose(Connection conn):提交事务并释放连接
....

ResultSetHandler:封装结果集 接口

ArrayHandler, ArrayListHandler, BeanHandler, BeanListHandler, ColumnListHandler, KeyedHandler, MapHandler, MapListHandler, ScalarHandler

(了解)ArrayHandler, 将查询结果的第一条记录封装成数组,返回
(了解)ArrayListHandler, 将查询结果的每一条记录封装成数组,将每一个数组放入list中返回
★★BeanHandler, 将查询结果的第一条记录封装成指定的bean对象,返回
★★BeanListHandler, 将查询结果的每一条记录封装成指定的bean对象,将每一个bean对象放入list中 返回.
(了解)ColumnListHandler, 将查询结果的指定一列放入list中返回
(了解)MapHandler, 将查询结果的第一条记录封装成map,字段名作为key,值为value 返回
★MapListHandler, 将查询结果的每一条记录封装map集合,将每一个map集合放入list中返回
★ScalarHandler,针对于聚合函数 例如:count(*) 返回的是一个Long值

2.JDBC-02

标签:run   success   异常   1.5   方法   statement   delete   not   处理   

热心网友 时间:2022-05-01 23:25

超时了

这里设置下:

热心网友 时间:2022-05-02 00:43

2014-02-12 16:22:38 [org.hibernate.util.JDBCExceptionReporter]-[ERROR] An attempt by a client to checkout a Connection has timed out.

从这个来看,是你的数据库配置有问题,连接失败。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
上海什么酒店最高大上 业精于勤荒于嬉。行成于思毁于随 ""业精于勤,荒于嬉,行成于思,毁于随"是什么意思?解释的好点 文才神摆在阳台东南面朝窗户好吗 高锰酸钾鱼缸要泡多久合适 高锰酸钾泡鱼缸的时间介绍 高锰酸钾浸盆要多久 高锰酸钾浸泡需要的时间是多久? 高锰酸钾要泡多久合适 高锰酸钾要泡多长时间合适 天气炎热,长途车下面放行李的地方放活的黄鳝会死吗 15款明锐1.4 t烧机油吗 ...年斯柯达明锐换了四个点火线圈四个火花塞油耗增大两升左右为什么... 贷款51万25年5年后还1O万后月供多少? 谁能帮我用excel做一个销售管理表格啊? 求个销售管理的EXCEL表格,要能解决以下几个问题: Excel在市场营销与销售管理中的应用的内容提要 如何以Excel表格制作一个每日销售客户管理?自动入库出库库存格式?请给位老师指点,谢谢! 怎样才能打开VIP 如何阅读vip文档 SIS防屏蔽程序和VIP浏览器下载时总有360病毒木马提示是怎么回事? 梦见在水管旁刷牙,水池里面有很多水 梦见水池漫水有什么寓意吗? 梦到很多铁水好吗?梦到很多铁水罐,还有红红的铁水!还有一个同时掉了融浆里给融化了,好吗 甲骨文字体是什么字? 仙境传说 题材电影 《网》 中国最早可拷贝的文字是什么? 网的详细剧情 请问哪里可以免费下载甲骨文字体输入法? 韩寒的好友都有哪些? 甲骨文要怎么电脑上写出来? 找个电影《网》 怎样能打出甲骨文或篆体的字? 贷款51万25年月供3400元,利率是多少? 房贷51万5.85的利息25年月供多少? 房贷51万25年和利息加起来一共有多少钱 总价51万,首付6万。贷款45万。如果待25年的话,月供要多少元?25年共还款要多少?利息要多少? 做房贷51万,年利率百分之四点九。接等额本息的方法按揭二十年,月供是多少? 贷款50万利率51年限25年等额本息每月要还多少钱? 贷款57万,利率5.19.需25年还清。月供多少元? 我贷款51万每月还3500.47元,还款满一年提前还11万后面每个月还多少? 液化气成分有哪些? 请问液化气的种类有多少?液化气的特点是什么? 液化气有哪些品牌 液化气有哪些?此无色无味不能燃烧的? 液化石油气危险特性有哪些? 大块布料都是油渍,不易手洗,机洗怎么能去掉 白色布料上食油怎么洗? 面麻布料油渍怎么去除 90°无缝弯头 88.9 4MM 20# 1.5D GB/T12459-2005都是很么意思啊,如果没有这个国标的和这个描述的有区别么 无缝弯头的标准 无缝碳钢弯头规格159*5是什么意思 这句话日语怎么翻?