黑马程序员技术交流社区
标题: [石家庄校区] 学习笔记 [打印本页]
作者: 中国好邻居 时间: 2018-2-4 15:31
标题: [石家庄校区] 学习笔记
学习笔记
Ø JDBC:Java DataBase Connectivity Java数据库的连接.
* 是SUN公司统一提供的一套接口规范(JDBC).各个数据库生产商提供实现.
Ø 驱动:两个硬件设备之间通信的桥梁.
【JDBC的开发步骤】
Ø 注册驱动:
Ø 获得连接:
Ø 获得执行SQL语句对象:
Ø 释放资源:
【自定义连接池中问题及如何解决】
Ø 问题?
1.如果使用自定义连接池,那么需要额外记住自定义连接池中的API.
2.能不能使用面向接口的编程方式.
Ø 解决:
不额外提供API方法,就可以解决上述两个问题!!!
能不能还调用Connection的close方法.能不能增强Connection的close方法,原有的销毁变为归还!!!
Ø 如何增强Connection的close方法:
* 增强一个Java类中的某个方法有几种方式???
* 一种方式:继承的方式.
* 能够控制这个类的构造的时候,才可以使用继承.
* 二种方式:装饰者模式方式.
* 包装对象和被包装的对象都要实现相同的接口.
* 包装的对象中需要获得到被包装对象的引用.
***** 缺点:如果接口的方法比较多,增强其中的某个方法.其他的功能的方法需要原有调用.
* 三种方式:动态代理的方式.
* 被增强的对象实现接口就可以.
JDBCUtils工具类中,静态代码块读取配置文件, 获取链接的方法,也需要配置文件的用户信息, 因此开始时 把 url username, password等设为成员变量, 且为静态(因为静态只能访问静态)
总结2
1.Servlet
什么是Servlet??
运行在服务器端的小程序
作用???
用来处理用户的请求并作出响应
定义方式:
1.定义一个类去实现Servlet接口---->现在是定义一个类去继承HttpServlet---->要求会模板创建就行了
2.以前需要去web.xml自己手动配置, 现在不需要--->要求大家能够配置
Servlet的声明周期
1.什么时候创建????
第一个人访问Servlet的时候,服务会创建Servlet对象,而且是单例的;并且创建的时候 init(只有第一次执行)方法执行, 所有的访问service方法会执行, 服务器关闭或者项目被移除Servlet销毁并且destroy的方法会执行
注意事项:
1.url-pattern虚拟路径的编写???
1.完全路径 例如:/DemoServlet
2.目录匹配 例如:/aaa/*
3.后缀名匹配: 例如 *.txt
完全路径 >目录匹配>后缀名匹配
2.编写的a的访问路径或者是form的访问路径的问题
相对路径和绝对路径: 不能以/开头
建议以后都使用绝对路径 ; 例如 /项目名称/资源目录
2.案例--->服务器定时跳转
1.设置响应头
响应头属性名:Refresh 响应头属性值 "秒数;url=要跳转的绝对路径"
2.可以调用JS中Location对象中href属性;
3.在页面添加meta的标签
<metahttp-equiv="Refresh" content="3;url=/day12/WEB01/index.html">
4.重定向:
需要设置响应码 302
需要设置一个头 Location的头 --- 值是要跳转的绝对路径
3.ServletContext
是一个域对象:
ServletContext的生命周期
出生: 服务器启动的时候为每一个web工程创建单独的一个ServletContext的域对象有且仅有一个,这个被整个工程所共享
死亡: 服务器关闭或者项目被移除
作用:
1.获取全局参数
2.获取文件mime类型
3.存储全局变量
setAttribute , getAttribute , removeAttribute
4.读取web下的文件
getResouceAsStream("服务器路径(不加工程名)")
***** 完全路径匹配 > 目录匹配 > 扩展名匹配
Ø 开发中的路径的编写:Ø 相对路径:都是需要找位置相对关系.不能以 / 开始的.
* ./ 当前路径 ../上一级目录
* 使用相对路径访问:
Ø 绝对路径:不需要找位置相对关系. 以 / 开始的.
* 绝对路径中分为客户端路径和服务器端路径:
* 客户端路径一定要加工程名. /day09/ServletDemo6
* 服务器端路径不需要加工程名. /ServletDemo6
Ø ServletContext:重要ServletContext的作用:
* 1.用来获得全局初始化参数.
* 2.用来获得文件的MIME的类型.
* 3.作为域对象存取数据.
ServletContext是一个域对象.
* 作用范围:整个web工程.
* 创建:服务器启动的时候,tomcat服务器为每个web项目创建一个单独ServletContext对象.
* 销毁:服务器关闭的时候,或者项目从服务器中移除的时候.
* 4.用来读取web项目下的文件.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |