1.与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序.当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader.中文叫做类加载器.Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader,AppClassLoader类加载器也是Java类,因为其他是java类的类加载器本身也…
一: 理解根目录 <value>classpath*:/application.properties</value> <value>classpath:/application.properties</value>    这里的classpath怎么理解呢,其实指的就是根目录,关于根目录,需要了解: (1): src不是classpath, WEB-INF/classes,lib才是classpath,WEB-INF/ 是资源目录, 客户端不能直接访问. (…
一:前言 在自己获取属性时,碰见了XX.class.getResourceAsStream(fileName),自己对这个其实不是很理解,上网查了下资料,又看到了上述的几个,所以就研究了下. 二:内容 先说说着几个区别吧 getClassLoader().getResourceAsStream("a.txt"):此方法的路径不管是绝对路径还是想对路径,都是从path下找得,即使"./a.txt"的形式去寻找,在此处我们要注意空指向异常的情况(可以看看这里写的http…
本文部分转自:http://xixinfei.iteye.com/blog/1256291 this.getClass().getClassLoader().getResource("template");  首先,调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,而后在类类型上调用getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父子关系,就是子知道父,父不知道…
本文部分转自:http://xixinfei.iteye.com/blog/1256291 this.getClass().getClassLoader().getResource("template");  首先,调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,而后在类类型上调用getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父子关系,就是子知道父,父不知道…
this.getClass().getClassLoader().getResource("template");    首先,调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,而后在类类型上调用getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当…
1.Class.getResourceAsStream(String path) path:不以‘/’开头默认是从此类所在的包下取资源:以'/'开头则是从ClassPath根目录下获取 2.Class.getClassLoader.getResourceAsStream(String path) 默认从ClassPath根目录下获取,不能以‘/’开头 获得Properties文件属性和属性值主要通过Properties 类 Properties类的底层是集成Hashtable,实现map接口(创…
加载配置文件的两种方式; 1. 2. 两者相比,第一种方式更为方便,因为文件目录发生改变就会找不到.…
1.下载 server2008R2驱动jar包 下载jar包 http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=21599 2.代码实现 1)实体: package entity; import java.io.Serializable; import java.util.Date; public class User implements Serializable{ private int id; private Stri…
csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接获取.释放资源的代码都是相同的,为了提高代码的复用性,我们可以写一个工具类,将数据库驱动加载.获取连接.资源释放的代码封装起来.同时,为了提高工具类的灵活性,可以将数据库的驱动.url.用户名.密码等信息以键值对的形式存放在properties文件中,工具类初始化时从配置文件中读取所要连接数据库的信…
在src文件夹下创建配置文件 db.properties db.properties drivername=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mydb user=root password=root JDBCUtil.java package com.gordon.jdbcutil; import java.io.InputStream; import java.sql.Connection; import java.sq…
public class JdbcUtil { private static String driver=null;//驱动 private static String url=null;//连接地址 private static String username=null;//用户名 private static String password=null;//密码 static { try { Properties props=new Properties(); InputStream ins…
* 使用properties读取本地配置文件为代码传递参数 * url.用户名.密码.驱动地址等配置可以在配置文件中使用 main package zj_1_JDBC.properties; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; /* * 使用properties读取本地配置文件为代码传递参数 * url.用户名.密码.驱动地址等配置可以在配置文件中使用 * * 编辑工具…
本文目录:        1.应用程序直接获取连接的缺点(图解)        2.使用数据库连接池优化程序性能(图解)        3.可扩展增强某个类方法的功能的三种方式        4.自定义数据库连接池——基于装饰设计模式       5.数据库连接池核心代码——基于动态代理技术        6.开源数据库连接池介绍        7.DBCP数据源        8.DBCP数据源与应用服务器整合使用——  配置Tomcat数据源        9.C3P0 数据源       …
JDBCCURD操作实例 19. 五 / J2EE / 没有评论   代码目录结构: domain   javabean: util   工具类  jdbcUtil是连接数据mysql数据库的工具类 dbcfg.properties是数据库的参数信息 dbcfg.properties Source code     driverClassName=com.mysql.jdbc.Driver url=jdbc\:mysql\:///day12 username=root password=sorr…
开源数据库连接池 l 现在很多 WEB 服务器 ( Weblogic , WebSphere , Tomcat) 都提供了 DataSoruce 的实现,即连接池的实现.通常我们把 DataSource 的实现,按其英文含义称之为数据源,数据源中都包含了数据库连接池的实现. l 也有一些开源组织提供了数据源的独立实现: • DBCP 数据库连接池 • C3P0 数据库连接池 l 实际应用时不需要编写连接数据库代码,直接从数据源获得数据库的连接. 程序员编程时也应尽量使用这些数据源的实现,以提升程…
1 数据库连接池的原理 应用程序直接获取Connection的缺点: 缺点:用户每次请求都需要向数据库获取连接,而数据库创建连接通常需要消耗相对较大的资源,创建的时间较长.如果一个网站一天访问量是10万,数据库服务器就需要创建至少10万个连接,极大的浪费数据库的资源,并且非常容易造成数据库服务器内存溢出.宕机等. 使用数据库连接池来优化程序: 使用数据库连接池的优点:可以大大的降低对数据库的连接.关闭,提高了系统的性能. 示例:模拟数据库连接池 jdbc.properties jdbc.driv…
1 JDBC 简介 sun公司为了简化.统一对数据库的操作,定义了一套java操作数据库的规范,称之为JDBC. 数据库厂商的驱动就是对JDBC的实现. 没有JDBC之前  vs 有JDBC之后 JDBC的全称:Java Data Base Connectivity,java数据库连接,它主要有接口组成. 组成JDBC的2个包: ①java.sql ②javax.sql 开发JDBC的应用需要以上的2个包的支持外,还需要导入相应的数据库实现(即数据库的驱动). 2 JDBC的编码步骤 示例:us…
开发中使用properties配置文件,方便后期维护. 文件位置: 任意,建议src下 文件名称:任意,扩展名为properties 文件内容:一行一组数据,格式“key=value” key 命名自定义,如果是多单词,习惯使用点分割,例如jdbc.driver value 值不支持中文,如果有需要使用非英文字符,将进行Unicode转化 配置文件只需要加载一次,提供静态代码,当前类被加载到内存执行 package com.jdbc.dao; import java.sql.Connection…
创建数据库连接是一个比较消耗性能的操作,同时在并发量较大的情况下创建过多的连接对服务器形成巨大的压力.对于资源的频繁分配﹑释放所造成的问题,使用连接池技术是一种比较好的解决方式. 在Java中,连接池已经有很多开源实现了,在这里使用commons-dbcp2这个包来 创建JDBC连接池: public final class JDBCUtil{ private static DataSource myDataSource=null; private JDBCUtil(){ } static {…
一.java project项目 如果工程项目是java project的话获取资源文件 1.如果是在本工程根目录下直接访问 FileReader fr = new FileReader("config.properties"); 2.也可以直接根据实际路径进行访问 FileReader fr = new FileReader("D:\\practice\\backend\\myeclipse\\web_db\\config.properties"); 3.使用类加…
1 为什么需要ServletContext 技术 显示网站多少人在线,显示当前登录者是第几位登录者等信息. 2 什么是ServletContext 可以把它想象成一个服务器上的公共空间,每个用户都可以访问到它. Web 容器在启动时,它会为每个Web 应用程序都创建一个对应的ServletContext对象,它代表当前web应用. ① ServletContext 在服务器端 ② ServletContext 被所有客户端共享 ③ ServletContext 当Web应用启动时,自动创建 ④…
JDBC > JAVA Database Connectivity java 数据库连接 * 为什么会出现JDBC > SUN公司提供的一种数据库访问规则.规范, 由于数据库种类较多,并且java语言使用比较广泛,sun公司就提供了一种规范,让其他的数据库提供商去实现底层的访问规则. 我们的java程序只要使用sun公司提供的jdbc驱动即可. 使用JDBC的基本步骤 1. 注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver(…
第77节:Java中的事务和数据库连接池和DBUtiles 前言 看哭你,字数:8803,承蒙关照,谢谢朋友点赞! 事务 Transaction事务,什么是事务,事务是包含一组操作,这组操作里面包含许多个单一的逻辑,只要有一个逻辑没有执行成功就算失败,导致回滚就是指所有的数据都会回到最初的状态. 有事务,是为了保证逻辑一定要成功,如银行转账. 回顾一下 什么是jsp,jsp的三大指令. page: 定义当前页面的信息 include: 包含其他页面 taglib: 引入标签库 三大动作标签: <…
第75节:Java中的JSP,EL和JSTL 哭吧看不完的!!! Cookie和`Session 请求转发和重定向的区别: 地址不一样 请求次数也不一样 数据无法传递 4.跳转范围有限制 效率 请求转发请求1次,只能对当前项目跳转,重定向请求2次.重定向是无法传递的,重定向对跳转范围没有限制. Cookie是服务器发送给客户端,存储在客户端的小数据.发送cookie: Cookie cookie = new Cookie("key", value"); response.ad…
简单使用 Statement 通过 Statement 执行 ,其实是拼接 sql 语句的.  先拼接 sql 语句,然后在一起执行. package com.zze.test; import java.sql.*; public class Test1 { public static void main(String[] args) { Connection connection = null; Statement statement = null; ResultSet resultSet =…
DBCP.C3P0.DBUtils的jar包和配置文件(百度云盘):点我下载 JDBC JDBC(Java 数据库连接,Java Database Connectify)是标准的Java访问数据库的API.JDBC定义了数据库的连接,SQL语句的执行以及处理数据库返回的结果等. Java应用程序使用JDBC API与数据库连接而实际的动作则是由JDBC驱动程序管理器(JDBC Driver Manager)通过JDBC驱动程序(JDBC Driver)与数据库系统进行连接.所以其实真正提供存取数…
====================================================================================JDBC JAVA Database Connectivity java 数据库连接 使用JDBC的基本步骤 1. 注册驱动 Class.forName("com.mysql.jdbc.Driver"); //可以不写,源码中已经帮注册了 // DriverManager.registerDriver(new com.m…
前言: 对于一个简单的数据库应用,由于对于数据库的访问不是很频繁.这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销.但是对于一个复杂的数据库应用,情况就完全不同了.频繁的建立.关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈. 连接复用.通过建立一个数据库连接池以及一套连接使用管理策略,使得一个数据库连接可以得到高效.安全的复用,避免了数据库连接频繁建立.关闭的开销. 对于共享资源,有一个很著名的设计模式:资源池.该…
H2作为一个嵌入型的数据库,它最大的好处就是可以嵌入到我们的Web应用中,和我们的Web应用绑定在一起,成为我们Web应用的一部分.下面来演示一下如何将H2数据库嵌入到我们的Web应用中. 一.搭建测试环境和项目 1.1.搭建JavaWeb测试项目 创建一个[H2DBTest]JavaWeb项目,找到H2数据库的jar文件,如下图所示: H2数据库就一个jar文件,这个Jar文件里面包含了使用JDBC方式连接H2数据库时使用的驱动类,将"h2-1.4.183.jar"加入到[H2DBT…