简述struts hibernate的概念
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、简述struts的概念
Struts全称是Apache struts,它是一个用于创建java web应用程序的开源框架。
Struts 框架实际上是对MVC架构的一个完整实现。
Struts包含了三大方面的支持与代码库,来帮助开发者快速开发架构良好的用于商业逻辑与表现分离web应用程序,它们是:
①请求处理:struts框架提供良好的web请求处理机制,它解析用户发送的HTTP请求地址,把请求分发给相应的由开发者编写的处理代码,让开发者专注于业务逻辑处理本身而不用关心其他细节。
②应答处理:struts框架提供方便的web应答机制,使用配置文件或代码内的标记配置web请求的结果页面集合,使得以往繁琐复杂的多页面跳转处理和多结果显示处理变得简单容易,便于操作和改动。
③页面产生:struts框架提供了丰富的JSP页面标签(tags),使得产生网页模板的java 代码与HTML代码可以完全分离,并且对页面模板内可以使用的变量及其表示语法进行了扩充和规范,使得显示代码和业务逻辑处理代码完全分离。
2、简述struts.xml配置文件的作用
①Struts.xml是struts 2的核心配置文件。
Struts 2要能够将不同的网络请求映射到相应的action,并且根据不同结果产生不同的网页,这些复杂的行为都是通过struts.xml配置文件来控制的。
②Struts.xml中主要配置struts项目中的一些全局的属性,用户请求和响应action之间的对应关系,以及配置action中可能用到的参数,以及处理结果的返回页面,还包括各种拦截器的配置等。
3、叙述actionsupport类的作用
Actionsupport类继承了一个重要的接口action,并要求用户实现该接口提供的重要方法execute。
这个方法是struts框架默认会调用的方法。
如果需要使某个java类能够使用其他方法来实现处理过程,需要在配置文件中说明。
Actionsupport类提供了访问请求参数的简单方法,所有网络请求参数被struts 2框架设置为actionsupport类的属性。
所以在代码中需要访问请求参数时,可以直接以访问类属性形式访问。
Actionsupport中有时需要将一些变量内容暴露给生成页面模板,同样可以给该变量提供一对属性访问方法(get、set方法),在execute方法执行时设置该变量到相应的属性里。
当execute方法执行完毕转到相应生成页面模板,被设置的属性对于该模板说都是可见的,而且很容易访问。
4、简述hibernate
Hibernate是java平台上的一种成熟且使用广泛的O/R Mapping实现。
应用程序(web网站,桌面应用程序,分布式应用程序等),不直接访问数据库,它们通过hibernate提供的持久化对象(persistent object)对数据库进行访问。
Hibernate通过XML 对象映射文件(XML Mapping)和配置文件hibernate.properties等来指定对数据库的连接,把数据库里的数据表映射为java简单类(POJO:Pure Old Java Object)。
Java简单类之所以被命名为POJO是因为这种类只存在数据属性,特别适合存取数据对象。
Hibernate提供了专门用于数据对象查询的语言,这种查询语言实际上脱胎于SQL,只不过它的基本操作对象是hibernate中被映射的java简单类。
从而使得开发者不再以数据记录为基本对象、按顺序执行数据过程的思想来实现业务逻辑,而可以从面向对象和基于对象的角度来实现,这种方式无疑使得java编程保持了面向对象思想的一贯性,另外,由于从较高层次来实现,也使得实现复杂的业务流程变得方便、简单。
另一方面,hibernate为了方便不熟悉数据库操作的开发者,提供了更加彻底的面向对象
的数据存取方式。
即所谓的标准查询(critera)方式。
这种方式下开发者首先建立一个针对某个被映射的简单类的查询标准类,然后为该标准设置各种过滤条件,最后使用该查询标准类得到相应的结果。
Hibernate除了提供了方便的对象式数据操作外,还保留甚至加强了对数据库事务处理的能力。
像传统的关系数据库一样,hibernate能够把一组映射数据对象上操作封装在一个事务之内,这组映射数据对象上的操作要么全部成功,要么全部失败。
Hibernate的数据会话对象提供了开始和结束数据事务的方法。
另外,如果服务器运行环境有JTA(java transaction API:java事务处理接口)支持,hibernate的事务封装还能够保证跨数据库查询更新的一致性。
5、简述hibernate与JDBC之间的联系与区别
相同点:
①两者都是JA V A的数据库操作中间件。
②两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭。
③两者都可以对数据库的更新操作进行显式的事务处理。
不同点:
①使用的SQL语言不同:JDBC使用的是基于关系型数据库的标准SQL语言,Hibernate 使用的是HQL(Hibernate query language)语言
②操作的对象不同:JDBC操作的是数据,将数据通过SQL语句直接传送到数据库中执行,Hibernate操作的是持久化对象,由底层持久化对象的数据更新到数据库中。
③据状态不同:JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一致,而Hibernate操作的数据是可持久的,即持久化对象的数据属性的值是可以跟数据库中的值保持一致的。
6、什么是O/R mapping
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。
本质上就是将数据从一种形式转换到另外一种形式。
这也同时暗示着额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。
更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。
对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
它使得应用程序开发者不再以二维关系数据表的形式去访问数据,而是把每个数据表作为一种类,每条记录作为一个对象,按面向对象的方式去组织和访问数据。
7.J2SDK安全工具
⏹keytool –管理密钥库和证书
⏹jarsigner –产生和验证Java签名
⏹policytool –图形化的方式管理策略文件
8.k e y t o o l
Keystore是Java KeyStore API的实现,是为管理密钥记录项而设计的。
它不支持保密密钥,只支持证书和密钥对,可信证书项应该是验证另一方公钥的证书。
它用安全格式提供了私钥和公钥的管理,就是X.509。
⏹1)创建公/私钥对;
⏹2)证书的生成
⏹3)证书签署请求生成
⏹4)密钥记录项管理和可信证书记录项管理,口令管理
⏹5)验证相应公钥的X.509证书链
⏹Keytool目前能够处理符合X.509标准的证书。
JSSE(Java Secure Socket Extension,
JSSE ) 1.0.2以后的版本可以支持pkcs12
9.Java安全实用工具
JAR:用来创建jar文件,它把多个文件压缩在一个单一的数据包内。
JARSIGNER:用来对jar文件进行数字签名和验证jar文件的数字签名。
Policy Tool:用来创建的和管理策略文件,以定义自己的资源管理策略
Klist:一个基于命令行的工具,用来浏览存储在本地的证书和密钥。
Ktab:一个基于命令行的工具,用来浏览存储在本地的密钥表中的主题和密钥的对应关系。