JDBC、Servlet和Spring bean说明

一.使用JDBC完成数据库操作的关键步骤有哪些?

	1.加载JDBC驱动程序
	2.提供JDBC连接的URL  
	3.创建数据库的连接   
	4.创建一个Statement(Statement、PreparedStatement、CallableStatement)
	5.执行SQL语句:executeQuery 、executeUpdate和execute 
	6.关闭链接对象;

二、PreparedStatement和Statement有什么差别

PreparedStatement做了预编译执行效率高,同时提供占位符进行参数替换,可避免SQL注入

三、原生的JDBC接口进行事务操作的关键步骤有哪些?

1.设置事务开启
2.设置事务隔离级别
3.设置事务提交、事务回滚
4.设置保存点和返回保存点(可选)

四、servlet的生命周期

1.实例化
2.初始化init
3.处理请求service()   doGet()和doPost()
4.销毁destory

五、servlet的解决方案

a.实现 SingleThreadModel 接口

该接口指定了系统如何处理对同一个Servlet的调用。如果一个Servlet被这个接口指定,那么在这个Servlet中的service方法将不会有两个线程被同时执行,
当然也就不存在线程安全的问题。这种方法只要继承这个接口就行了

public class XXXXX extends HttpServlet implements SingleThreadModel {
 ………… 
}
b.同步对共享数据的操作

使用synchronized 关键字能保证一次只有一个线程可以访问被保护的区段,可以通过同步块操作来保证Servlet的线程安全。同步后的代码如下:

Public class XXXXXX extends HttpServlet { 
………… synchronized (this){XXXX}
 }
c.避免使用实例变量

线程安全问题还有些是由实例变量造成的,只要在Servlet里面的任何方法里面都不使用实例变量,那么该Servlet就是线程安全的

六、服务端防止表单重复提交的原理

由于用户或网络延迟原因,用户在提交表单时会多次点击提交,此时表单内容会被多次提交给服务器。这样会资源的浪费。
通过在Session维护一个全局的UUID,带入到页面,发起请求的时候对UUID进行检查,请求执行完了删除session数据。重复请求发现没有数据就是重复提交。

七、spring bean的初始化过程

1.容器寻找Bean的定义信息并且将其实例化
2.设置属性值 
3.根据bean的实现不同接口完成方法采用不同的方法来(setBeanName()、setBeanClassLoader())
4.调用BeanPostProcessor的预先初始化方法;
5.调用InitializingBean的afterPropertiesSet()方法;
6.调用init方法;
7.调用BeanPostProcessor的后初始化方法;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值