如何防止sql注入攻击?
什么是sql注入攻击,在http中注入恶意sql代码,服务器在使用数据构建数据库的时候,恶意代码被一起执行
如何防制?
1,过滤特殊字符入单引号双引号
2,使用预编译的preparestatement代替拼接sql
3,web端进行有效性检验并限制字符串的长度
ioc的底层实现?
ioc就是控制反转,是一种设计思想。
在spring中,就是由spring控制对象的生命周期和对象之间的关系。
也就是创建对象的控制权转移,以前是由代码自己控制,现在转移到第三方。
是通过反射机制与工厂模式实现的。
在实例化一个类时,它通过反射调用类中set方法将事先保存在Map中的类属性注入到类中
即由容器动态的将某个依赖关系注入到组件之中。
aop的底层实现?
面向切面编程。
将与业务无关,却被业务共同调用的逻辑与责任封装起来。减少重复代码,降低模块间的耦合度。
目前实现aop的主要代码有两种,一种是动态代理技术,还有一种是静态织入技术。
aop常用的一些注解和方法
@Configuration // 将继承了webmvcconfigureradapter的类在spring中实例化。代理机制
@Autowired .//自动装配javabean
@Component// 实现handlerinterceptor接口上面写
继承WebMvcConfigurerAdapter
实现的方法addInterceptors
registry.addInterceptor(useraop).addPathPatterns("/**");
第二个函数,设置拦截规则 第三个函数设置拦截目标 全部
需要实现HandlerInterceptor接口,实现拦截规则
必须实现的三个方法
prehandle 前置通知,前置切面 ,进入到业务控制类方法之前进行业务控制,切面
posthandle 后置通知,进行数据渲染
afterCompletion 最终通知,记录性能