crm系统java源代码,java必背综合知识点总结(框架篇)
最常用的是:
判断
循环
输出
九、SSI整合
1、继承于
2、引入–.jar包,从而完成和的整合
3、在的中注入,保证的名字和配置文件中的一致,并生成get,set方法
4、Dao层继承于rt
5、在dao层的配置文件中注入
十、SSH整合
1.首先在web.xml中通过r来融入,
并加载的相关配置文件
2.同样配置的前端总控制器来过滤相关的
请求并且加载.xml
3.继承,然后通过引入–.jar
包并且根据配置文件中的id生成get,set方法来注入层。
4.dao层继承于,并且在dao的配置文件中注入.
5.通过中的配置文件加载.cfg.xml文件从而融入.
在ssh框架中是怎么整合?
首先在web.xml中通过r来融入,
并加载的相关配置文件
在ssh框架中是怎么整合?
通过中的配置文件加载.cfg.xml文件从而融入
dao层继承于,并且在dao的配置文件中注入
在ssh框架中是怎么整合?
配置的前端总控制器来过滤相关的
请求并且加载.xml
十、 MVC整合
1.首先,要在web.xml里面配置的核心控制器,,对指定的后缀请求进行拦截。
2.层要加 @注解,表明该类是MVC的控制层。
3.创建接口,给接口加上注解 @或者 @ 表明这是业务处理层
4.在层声明变量(属性),给变量(属性) 加上 @注解,通过自动绑定机制将注入到。 (注:@默认是,如果想根据属性名注入,那么就再加上注解 @(name=“属性名”))
5.在层的方法上加上注解 @(“”) 表明该方法的请求地址
6.Dao层要加上注解 @ 表明这是数据库持久层
7.同样将dao实例注入到层中。
8.配置视图解析器 “”,对处理后的跳转进行统一配置。
十一、 中get 和 load的区别
加载方式:
load为延迟加载(返回的是一个只有id属性的代理,只有使用该对象属性时,才发出sql语句);
get为立即加载(执行时,会立即向数据库发出sql语句)
返回结果:
load检索不到记录时,会抛ion异常
get检索不到记录时,会返回null
十二、、、Jdbc三者的区别
属于全自动, 属于半自动,Jdbc属于手动,从开发效率上讲较高,居中,jdbc较低,从执行效率上讲较低,居中,jdbc较高,因为jdbc是手工写sql语句,程序员对sql的控制能力更大,可以根据业务需要进行优化,而虽然也可以对sql进行优化,但是他里面将封装为实体的过程中采用了反射机制所以一定程度上影响了性能,而因为高度封装所以开发效率相对较高,但正因为这个原因,所以程序员在对sql语句的控制和优化方面相对比较弱,而且在将封装成实体的过程中也采用了反射机制,所以在性能方面较低
十三、的运行原理
首先通过去加载.cfg.xml这个配置文件,根据
配置文件的信息去创建,是线程安全的,
是一个工厂,用来创建,是线程不安全的,相当于
jdbc的,最后通过去进行数据库的各种操作,在进行操作
的时候通过进行事务的控制。
十四、五大核心(类/接口)简述
1 .接口的作用是对进行配置,以及对它进行启动。(加载.cfg.xml)并创建一个对象。
2 .接口
接口负责初始化。它充当数据存储源的代理,并负责创建对象。是线程安全的。
3 .接口
(会话)接口是应用使用的主要接口。接口负责执行被持久化对象的CRUD操作(增删改查)。对象是非线程安全的。 相当于jdbc的
4 .Query与接口
总之Query和接口负责执行各种数据库查询。
5 .接口
(事务)负责操作相关的事务。
十五、与JDBC的区别
1、和jdbc主要区别就是,先检索缓存中的映射对象( 即操作的是对象),而jdbc则是直接操作数据库.
2、是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架。可以用在任何JDBC可以使用的场合
3、是一个和JDBC密切关联的框架,所以的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App 没有任何关系,也不存在兼容性问题。
4、如果正确的使用JDBC技术,它的执行效率一定比要好,因为是基于jdbc的技术.
5、JDBC使用的是SQL语句,使用的是HQL语句,但是HQL语句最终还会隐式转换成SQL语句执行。
十六、中的两大配置文件
.hbm.xml:主键生成策略,映射关系,一对多,一对一的关系。
.cfg.xml:方言(用哪个数据库),数据库连接信息,包含.hbm.xml内容,映射文件,也可以配事务。
十七、事务处理
开启事务 .();
执行相关的操作,如果成功则.().();
执行操作失败则 ..();
十八、的三种状态以及状态的转换
(临时)
new 一个初始化对象后,并没有在数据库里保存数据,处于临时状态;
(持久化)
当执行save()方法,调用.close()方法之前,内存中的对象与数据库有 对应关系处于持久化状态;
(托管/游离)
当执行.close()之后,处于托管状态;
状态的转换
处于托管状态下,调用()方法后,转换为持久化状态;
在持久化状态下,执行()方法后,转换为临时状态;
在未初始化对象之前,调用get(),load(),find(),()之后,直接进入持久化状态。
十九、分页步骤
①前台封装一个显示分页的组件
②查询总条数
③后台封装分页工具类,计算开始位置、结束位置、总页数
④后台写支持分页的sql语句
⑤前台包含分页组件,实现分页效果
注意:
查询总条数的where和查询列表信息的where条件要保证一致。
二十、缓存概述
分为一级缓存即缓存也叫事务级别的缓存以及
二级缓存即应用级别的缓存,还有查询缓存即三级缓存.
一级缓存的生命周期和的生命周期保持一致,
默认就启用了一级缓存,
不能将其关闭,可以通过.clear()和.evict()来管理一级缓存。其中get,load,都会使用一级缓存,一级缓存缓存的是对象。
二级缓存的生命周期和的生命周期保持一致,可以跨,被多个共享,默认开启二级缓存,也可以手动开启并指定缓存插件如,
等。二级缓存也只能缓存对象。
三级缓存也叫查询缓存,查询缓存是针对普通属性结果集的缓存,
对实体对象的结果集只缓存id。对query.list()起作用,query.不起作用,也就是query.不使用查询缓存
二十一、Ssh的概述:
ssh是web开发中常见的一种框架
s-
s-
h-
其中在框架中充当控制器,实现MVC,主要用来处理用户的请求,和跳转页面。使项目结构清晰,开发者只需要关注业务逻辑的实现即可。
在ssh充当粘合剂,粘合-sping-,主要用来进行事物的控制,
-充当数据库持久层,主要用它来与数据库交互,提高开发效率,减轻程序员sql控制要求,而且通过反射机制,有灵活的映射性,还支持各种关系,一对一,一对多,多对多。
在进行ssh整合的时候,我们应该注意:
继承于引入–.jar包,从而完成和的整合在的中注入,保证的名字和配置文件中的一致,并生成get,set方法Dao层继承于在dao层的配置文件中注入
二十二、防止表单重复提交
针对于重复提交的整体解决方案:
1.用来解决重复提交的问题
2.点击一次之后,按钮失效
3.通过
4.自定义重复提交过滤器
5.解决重复提交
可以结合s:token标签来解决重复提交问题
利用token的原理:
1.在前端的jsp页面中加入s:token标签,在访问该页面时就会生成
隐藏域,该隐藏域中包含一个随机生成的字符串crm系统java源代码,并把该字符串
存入中
2.在的配置文件中加入token拦截器后,当正常访问
的时候,会从中取出该字符串,然后和页面隐藏域中提交
字符串做对比crm系统java源代码,如果一致则正常执行并删除中存储的字符串。