jQuery+xml+jsf+hibernate文档Word格式.docx

上传人:b****2 文档编号:877829 上传时间:2023-04-29 格式:DOCX 页数:24 大小:236.96KB
下载 相关 举报
jQuery+xml+jsf+hibernate文档Word格式.docx_第1页
第1页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第2页
第2页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第3页
第3页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第4页
第4页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第5页
第5页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第6页
第6页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第7页
第7页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第8页
第8页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第9页
第9页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第10页
第10页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第11页
第11页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第12页
第12页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第13页
第13页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第14页
第14页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第15页
第15页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第16页
第16页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第17页
第17页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第18页
第18页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第19页
第19页 / 共24页
jQuery+xml+jsf+hibernate文档Word格式.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

jQuery+xml+jsf+hibernate文档Word格式.docx

《jQuery+xml+jsf+hibernate文档Word格式.docx》由会员分享,可在线阅读,更多相关《jQuery+xml+jsf+hibernate文档Word格式.docx(24页珍藏版)》请在冰点文库上搜索。

jQuery+xml+jsf+hibernate文档Word格式.docx

2.vector存储对象

分行读取后通过“,”分割字符串,分别以Student的各个属性保存在vector中,如需要查询,通过for循环遍历vector,使用get(i)获取到查询的对象,使用对象中的get方法获取vector中保存的属性

3.面向对象

IMethod保存的是接口,其中定义了一系列抽象方法。

MethodIml是接口的实现类,实现了接口中的各个方法。

在主函数中,创建出IMethod接口的引用,指向MethodImpl接口的实现类。

二html

2.1html概念

网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:

脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。

因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。

超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。

超级文本标记语言(英文缩写:

HTML)是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。

网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:

文字如何处理,画面如何安排,图片如何显示等)。

浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。

但需要注意的是,对于不同的浏览器,对同一标记符可能会有完全不同的解释,因而可能会有不同的显示效果。

2.2html特点

超级文本标记语言文档制作不是很复杂,但功能强大,支持不同数据格式的文件镶入,这也是万维网(WWW)盛行的原因之一,其主要特点如下:

●简易性:

超级文本标记语言版本升级采用超集方式,从而更加灵活方便。

●可扩展性:

超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。

●平台无关性:

虽然个人计算机大行其道,但使用MAC等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是万维网(WWW)盛行的另一个原因。

三jQuery

3.1jQuery概念

Jquery是继prototype之后又一个优秀的Javascript框架。

它是轻量级的js库,它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。

jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。

jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。

3.2jQuery特点

jQuery包含以下特点:

●动态特效

●AJAX

●通过插件来扩展

●方便的工具

●例如浏览器版本判断

●渐进增强

●链式调用

●多浏览器支持,支持InternetExplorer6.0+、Opera9.0+、Firefox2+、Safari2.0+、Chrome1.0。

3.3选择器

jQuery使用sizzle引擎,支持css选取,Xpath选取等方式。

●$("

p"

):

选取全部<

p>

元素。

p.intro"

选取所有包含class为"

intro"

的<

#demo"

选取id为"

demo"

的元素。

[href]"

选取所有带有href属性的元素。

[href='

#'

]"

选取所有带有href值等于"

#"

[href!

='

选取所有带有href值不等于"

[href$='

.jpg'

选取所有href值以"

.jpg"

结尾的元素。

[href^='

/imgaes/'

选取所有href值以/imgaes/"

开头的元素。

所有class="

的<

元素元素选择器

.intro"

的元素类选择器

#intro"

id="

的第一个元素id选择器

3.4事件

●直接绑定指定事件,事件类型即方法名,支持click、focus、blur、submit等。

$("

#button"

).click(function(){

//scriptgoeshere

});

●用on来绑定事件,off来解绑事件,第一个参数为事件名,第二个参数为回调函数。

).on('

click'

function(){

jQuery还支持更多的鼠标,键盘事件的方法。

3.5动态特效

●淡入淡出

$(selector).fadeIn(speed,callback);

可选的speed参数规定效果的时长。

它可以取以下值:

"

slow"

、"

fast"

或毫秒。

可选的callback参数是fading完成后所执行的函数名称。

●滑动

$(selector).slideDown(speed,callback);

可选的callback参数是滑动完成后所执行的函数名称。

●动画

$(selector).animate({params},speed,callback);

必需的params参数定义形成动画的CSS属性。

可选的callback参数是动画完成后所执行的函数名称。

四JSF

4.1JSF面向组件概念

JSF简称JavaServerFaces,它集成了MVC构建模型,提供了一种以组件为中心开发JavaWeb用户界面的新Java框架。

从网页设计人员的角度来看,JavaServerFaces提供的HTML标签,可以与后端的动态程序结合,网页设计人员不需要理会后端的动态部份,就可以动态的展现数据。

  从应用程序设计人员的角度来看,JavaServerFaces提供一个与传统应用程序开发相类似的模型,他们可以基于事件驱动来开发程序,不必关切HTTP的处理细节,如果必须处理一些视觉组件的属性的话,他们也可以直接在整合开发环境上拖拉这些组件,点选设定组件的属性。

从UI组件开发人员的角度来看,他们可以设计通用的UI组件,让应用程序的开发产能提高,就如同在设计Swing组件等,UI开发人员可以独立开发,只要定义好相关的属性选项来调整细节,而不用受到网页设计人员或应用程序设计人员的干扰

4.2JSF标签

JSF标签可以分为输出、输入、命令、选择、其他。

●输出类标签分为:

outputLabel、outputLink、outputFormat、outputText。

outputLabel

产生<

label>

html,使用for属性指定组件的ClientID如:

<

h:

inputTextid="

user"

value="

#{user.name}"

/>

<

outputLabelfor="

outputLink

产生<

a>

html标签。

如:

outputLinkvalue=”…/index.jsp”>

outputTextvalue=”LinktoIndex”/>

f:

paramname=”name”value=”MyName”/>

/h:

outputLink>

outputFormat

outputFormatvalue=”{0},younameis{1}”>

<

paramvalue=”Hello”/>

paramvalue=”Guest”/>

outputFormat

{0}和{1}会被取代为<

param>

设定的文字

OutputText

最常用的标签,简单的显示绑定的值或者信息,如

outputTextvalue=”#{user.name}”>

●输入类标签分为:

inputText、inputTextarea、inputSecret、inphidden。

inputText

显示单行字段,即输出<

input>

标签,type的属性设置为text;

<

inputTextvalue=”#{user.name}”/>

inputTextarea

显示多行字段,即输出<

texratrea>

标签,如:

inputTextareavalue=”#{mand}”>

inputSecret

显示密码输入,即输出<

标签,type的属性设置为password:

inputSecretvalue=”user.password”>

inputHidden

设置隐藏字段,即输出<

标签,type的属性设置为hidden:

inputhiddenvalue=”#{user.password}”/>

●命令类标签分为:

commandButton、commandLink。

commandButton

显示一个按钮,即输出<

标签,type的属性设置为:

button,submit,reset默认都是submit.点击按钮可以触发事件。

h;

commandButtonvalue=”确定”action=”user.verify”/>

commandLink

产生一个超级链接,简单地说,作用就像是按钮,但外观却是超级链接。

commadnLinkvalue=”#{mandText}”action=”#{user.verify}”/>

●选择类标签分为单选和多选,外形上分为:

Radio、CheckBox、ListBox、Menu。

selectBooleanCheckbox

在试图上呈现一个复选框,例如:

我同意<

selectBooleanCheckBoxvalue=”user.aggree”/>

selectOneRadio>

selectOneListBox>

selectOneMenu>

这三个标签的作用实际上就是让用户在多项中选一项,功能都一样,只是外形上有所差异,比如:

selectOneRadiovalue=”#{user.education}”>

selectItemitemLabel=”高中”itemValue=”高中”>

selectItemitemLabel=”大学”itemValue=”大学”>

selectItemitemLabel=”研究生”itemValue=”研究生”>

selectManyRadio>

selectManyListBox>

selectManyMenu>

和上面的用法一样,只是因为是多选,在value中,必须是数组或集合。

●其他标签分为:

message和messages。

graphicImage

graphicImagevalue=”imags/image.jpg”>

这个标签相当于<

img>

标签,value可以是图片的相对或绝对路径

4.3faces-config.xml配置

faces-config.xm是jsf的配置文件,内部各种bean,导航,验证器,转换器,工厂等。

在faces-config.xml最常用的两个配置元素是:

manager-bean>

和<

navigation-rule>

,下面详细介绍这两个元素:

●<

manager-bena>

JSF应用中所有的托管的Bean都放在该元素下

managed-bean>

managed-bean-name>

user<

/managed-bean-name>

managed-bean-class>

onlyfun.caterpillar.UserBean<

/managed-bean-class>

managed-bean-scope>

session<

/managed-bean-scope>

/managed-bean

:

用于管理JSF应用的导航规则

from-view-id>

/pages/index.jsp<

/from-view-id>

navigation-case>

from-outcome>

success<

/from-outcome>

to-view-id>

/pages/welcome.jsp<

/to-view-id>

/navigation-case>

failure<

/navigation-rule>

●应用管理相关配置

application>

用于管理JSF应用相关配置

reference-bean>

配置被引用的Bean

●注册自定义组件的相关配置

converter>

注册自定义转换器

validator>

注册自定义验证器

component>

注册自定义组件

●高级扩展配置

phase-listerer>

注册生命周期监听器

factory>

配置实例化JSF核心类的工厂

4.4转换器

转换器的概念是,浏览器传送数据基本上都是字符串,但是Java程序是面向对象,所以,对象和字符串必须要有双向转换才能在浏览器和Java应用程序传递。

转换器分标准转换器和自定义转换器。

JSF定义了一系列的标准转换器,基本数据类型则会自动转换,对于Date,Number,可以使用<

converDateTime>

converNumber>

标签中的属性,来定义转换的格式。

自定义转换器则是用户自己定义的一种转换方式或规则,实现一个自定义转换器的步骤为:

●创建自定义转换器类,实现Converter接口,重写getAsObject()和getAsString()方法,这两个方法中定义自己的转换规则

●在faces-config.xml中注册转换器,使用<

converter-id>

converter-class>

来注册自定义转换器。

●在页面中使用converter来识别所要用的注册器,识别是通过注册时设定的<

4.5验证器

验证器的概念是指,用户在输入信息的时候有必要验证信息是否合法,这样的验证可以分为两种,语法验证和语意验证。

语法验证是说用户输入的数据是否符合要求,比如密码必须大于位数;

语意验证是说在语法验证都正确的情况下,检查数据的正确性。

验证器和转换器相似,也分为标准和自定义两种:

标准验证器分三种:

validateDoubleRange>

,<

validateLongRange>

validateLength>

在使用时,<

validateLengthminimum="

6"

自定义验证器创建的步骤为:

●创建自定义验证器类,实现Validator接口,重写validate()方法。

●在faces-config.xml中注册验证器,使用<

validator-id>

validator-class>

来注册自定义验证器。

●在页面中使用<

中的validatorId来识别要用的验证器,识别是通过注册时设定的<

4.6dataTable动态绑定对象

4.6.1dataTable页面设置

JSF中使用<

dataTable>

标签来定义表格,通过<

column>

来定义每一列。

在每一列中可以设置表头<

facetname=”header”>

和表尾<

facetname=”footer>

在dataTable中可以使用headerclass和rowClasses来定义表头和行间的样式。

其中rowClasses中定义两个样式,用逗号隔开,表示两个样式交替定义行,如下图所示:

4.6.2dataTable后台数据绑定

dataTable绑定数据时候可以绑定List、ResultSet、Result、DataModel四种形态。

举个例子来看,假设有Tcustomer的Bean类和它的实现类TcustomerImpl。

Tcustomer.java

TcustomerImpl.java

其中省略部分为属性的get/set方法。

定义了两个类后,在faces-config.xml中映射这两个类。

然后在dataTable中设置如下绑定:

TcustomerImpl是在faces-config.xml中配置,通过get方法,获取到CustomerImpl中定义的List集合,绑定给dataTable,并且给它起个别名“user”。

在列标签<

中使用<

outputTextvalue=”#{user.XXX}”/>

获取到每个对象的属性值,绑定在某个列上。

效果如下图:

4.7事件

当我们在页面获取数据的时候,往往通过输入框输入选择条件,点击按钮来获取我们想要的数据。

这个时候就需要在按钮上添加动作方法,产生一个actionListener来处理事件。

同样是在dataTable的例子中,我们在index.jsp和TcustomerImpl中添加如下:

在listen中通过FacesContext.getCurrentInstance().getViewRoot.findComponet(“”)来获取页面输入框控件。

参数为页面标签的ID。

Listen方法中对页面穿来的数据进行查询,重新定义TcustomerImpl中的List,然后通过get方法,页面获取到与条件匹配的数据。

关于数据库的查询,讲在后面讲到。

五hibernate

5.1SessionFactory获取会话

SessionFactory是hibernate的核心接口,它是数据存储的代理,负责创建seesion对象。

首先SessionFactory通过hibernate.cfg.xml中的配置解析,获取数据库的连接。

再通过连接获取会话工厂,最后通过会话工厂获取与数据库连接的会话。

当获取到session后,就可以进行数据库的操作了,步骤如下:

Stringsql=”sql语句”;

Sessionsession=HibernateSessionFactory.getSession();

Connectionconn=session.getConnection();

PreparedStatementstmt=conn.prepareStatement(sql);

ResultSetresult=conn.prepareStatement(sql),executeQuery();

While(result.next()){

xxxxx

}

mit();

Conn.close();

5.2DetachedCriteria

5.2.1DetachedCriteria概念

上面的例子可以看出,hibernate需要自己定义出sql语句,Connection,PreparedStatement对象,查询结果集后封装映射对象。

这样多代码的查询方法,如果是在一个查询量非常大的系统中,则程序员代码量会成倍增加,并且代码的效率低。

在Web层获取条件后,构造查询语句。

但是用什么来保存这些条件列表呢?

传统上使用Map,但是这种方式缺陷很大,Map可以传递的信息非常有限,只能传递name和value,无法传递究竟要做怎样的条件运算,究竟是大于,小于,like,还是其它的什么。

因此一旦隐含条件改变,业务层对象的查询构造算法必须相应修改,但是这种查询条件的改变是隐式约定的,而不是程序代码约束的,因此非常容易出错。

DetachedCriteria可以解决这个问题,即在web层,程序员使用DetachedCriteria来构造查询条件,然后将这个DetachedCriteria作为方法调用参数传递给业务层对象。

而业务层对象获得DetachedCriteria之后,可以在session范围内直接构造Criteria,进行查询。

就此,查询语句的构造完全被搬离到w

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2