Struts是一个按MVC模式模式设计的web框架,其实他就是一个servlet
这个servlet名为actionservlet,或者是actionservlet的子类,我们在web.xml文件中将符合某种特种的
所有请求都交给这个servlet处理,这个servlet在参照配置文件(sturts-config.xml)将各个请求分配给不同的
action处理
struts的配置文件可以有多个,可以按照模块配置各自的配置文件,这样可以防止配置文件的过渡膨胀
actionservlet把请求交给action处理之前,会将请求封装成为formbean对象(就是一个Java类,这个类中的每一个属性
对应一个请求参数),同时可能调用formbean的vaildate方法进行校验,只有校验通过后,才将这个formbean对象传递给action的
exectue() 方法,。他将返回到一个错误页面,这个错误页面有input属性指定。
action执行完后要返回现实结果,这个结果视图是一个actionForward对象来表示的,actionforword对象通过配置文件
中的配置关联到某个jsp页面
谈谈你对hibernate的理解
为了保持程序的运行状态,需要将内存中的对象保存到持久化设备和从持久化设备中恢复出对象的状态。
通常都是保存带关系数据库中来保存大量的对象信息。
从Java程序的运行功能上来讲,保存对象的功能相比系统运行的其他功能来说,应该是很不起眼的附属功能
Java采用jdbc来实现这个功能,这个不起眼的功能却要编写大量的代码
而做的事情仅仅是保存对象和恢复对象,并且那些大量的jdbc代码没有什么技术含量,基本上是采用一套例行公事的标准
标准代码模板来编写,是一种苦活和重复性的工作
通过数据库保存Java程序运行时产生的对象和恢复对象,其实是实现了Java对象与关系数据库记录的映射关系
称为ORM--对象关系映射,人们可以通过封装jdbc代码来实现这种功能,封装出来的产品称之为ORM框架
hibernate就是其中的一个,使用hibernate不需要写jdbc代码,仅仅调用一个save方法就可以将对象保存到关系数据库中
仅仅调用一个get方法就可以从数据库中加载出一个对象
使用hibernate的基本流程是:配置configuration对象。产生sessionFactory。创建session对象,启动事务
完成CRUD操作,提交事务,关闭session
使用hibernate时,首先要配置hibernate.cfg.xml文件,其中配置数据库连接信息,和方言等,还要为每个实体配置
相应的hbm.xml文件。在hibernate.cfg.cml中需要登记每个hbm.xml文件
在应用hibernate时,要了解session缓存,级联,延迟加载。