Servlet 02笔记

Servlet 02


DAO 层

data access object (数据访问对象) .

User
	-	UserDao
			-	insert
					1.	连接数据库
					2.	执行sql语句
					3.	根据影响的行数 返回true或false
			-	delete
			-	update
			-	query 
					1.	连接数据库
					2.	执行SQL查询
					3.	遍历结果集
					4.	将结果存储到集合中
					5.	返回这个集合


查询user35表格, 将查询的数据 打印到网页上.

web3.0版本之前, 配置访问地址: 熟悉

1.	编辑 web-inf/web.xml文件
2.	给根节点 加入子节点servlet.
	<servlet>
		<servlet-name>别名</servlet-name>
		<servlet-class>包名.类名</servlet-class>
	</servlet>
3.	给根节点 加入子节点servlet-mapping
	<servlet-mapping>
		<servlet-name>对应第二步的别名</servlet-name>
		<url-pattern>/访问地址</url-pattern>
	</servlet-mapping>
	
注意:	第三步可以编写多个

Servlet的生命周期 ***

指的是Servlet对象 从创建到被垃圾回收的过程.

创建时机:
	默认情况下 , 当用户第一次访问Servlet时 , 对象创建.
	后续重复访问这个Servlet , 是在重复使用第一次创建的对象. 
销毁时机:
	服务器关闭时 或 应用被卸载时 会导致servlet被垃圾回收.

因为servlet的对象 不是我们来维护的, 是tomcat进行创建, 销毁操作的.
为了便于我们更好的使用servlet , JavaEE 为servlet 提供了创建 与 销毁的事件处理.

生命周期存在三个方法:

	1.	init	:	当servlet对象初始化完毕时, 方法执行. 我们通常在这里缓存一些用户请求时 使用的资源.
	2.	service	:	当用户每访问一次servlet,  service方法在新的线程中执行一次.
	3.	destroy	:	当servlet准备销毁时. 执行. 我们通常在这里释放缓存的资源.

线程安全问题 *

异步即并行, 同步即排队.

线程同步: 
	1.	同步方法
	2.	同步代码块

锁对象:
	
	Java中的同步机制, 就像是生活中的君子协定.
	不是真的给代码上了锁, 而是指定一个锁对象, 向对象中加入锁标记, 其他线程执行线程同步代码时, 先观察锁对象是否有锁标记 ,有锁标记时排队.

	同步代码块的锁对象:	由程序员指定传入.
	静态同步方法的锁对象: 类名.class
	非静态同步方法的锁对象: this

接收请求中携带的参数 ***

1.	根据参数的名称, 获取单个值:
		String value = request.getParameter(String name);
2.	根据参数的名称, 获取一组值:
		String[] values = request.getParameterValues(String name);

处理请求时:

方式一:	可以使用 service方法,  处理所有类型的请求.
方式二:	也可以使用doGet方法 处理get请求, doPost方法 处理post请求.

GET请求 和 POST请求的区别 *****

GET请求:
	1.	没有请求体 , 请求的数据在网址的?后拼接
	2.	只能传递字符串
	3.	网址的最大容量为: 4kb
	4.	数据传输时 , 参数在网址中以明文方式显示, 不安全.
	
POST请求:
	1.	存在请求体 , 请求的参数会单独存储在一个数据包中.
	2.	可以传递任意类型的数据, 上传文件操作必须使用POST请求.
	3.	可以传输的数据大小 , 理论上是无限制的.
	4.	数据传输时 , 参数存储在请求体中 , 不会显示出来, 较为安全.

什么请求是get 什么请求是POST

GET:
	-	浏览器输入网址回车
	-	点击超链接跳转
	-	通过js的localtion对象 进行网页跳转
	-	form表单 method=get
	-	ajax的get请求

POST:
	-	form表单 method="post"
	-	ajax的POST请求

请求中文乱码问题

tomcat8.5版本之前, GET请求乱码 , post请求乱码
tomcat8.5开始 , GET请求不乱码, post请求依然乱码.

.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值