message>显示出来,而这些预定义的错误信息有时是没有本地化的,为了对这些消息进行本地化设置,可以修改属性_converterMessage__、_validatorMessage___、_requiredMessage____,让这些属性指向本地化资源即可。
∙JSF是一个基于__MVC____架构的框架,其中模型角色由_ManagedBean_____承担,实现具体的业务逻辑,视图角色由_XHTML__承担,实现信息展示和与用户的交互,控制角色由_JSF框架___承担,实现具体的控制逻辑。
∙CDI的全称是_ContextsandDependecyInjection__,CDIBean是JavaEE6规范的一项重大功能特性之一,提供了一种更加强大的托管Bean模型。
与ManagedBean不同的是,这种托管Bean是由_JavaEE6应用服务器不是JSF框架_______来管理和控制的。
∙JSF中立即事件类型通过设置组件的__immediate___________属性来设置,它会将提前进行___应用请求值阶段___而无须等到调用应用阶段。
∙JSF的核心标记库有四种:
_HTML标记_,_Core标记___,__Facelets标记,_复合组件标记.
∙JPA操作的基本单元称为__Entity________,它其实是一个普通的__Java______对象,通常对应数据库中。
∙在JPA中,注解@Transient表示的含义是:
_JPA不会在关系数据库表中创建与注解属性对应的映射字段____.
∙JPA的主键有四种生成策略,他们分别是_Table策略,_Sequence策略,_Identity策略,_Auto策略.
∙在JPA中,如果使用了java.util.Date类型,。
∙在JPA中,持久化上下文有两种类型,它们是_事物范围的持久化上下文_,__扩展范围的持久化上下文__.
∙在JPA中,新增一个实体,调用EntityManage的方法是_persist()______,查询时调用的方法是_find()________,该方法的两个参数是_Entity类型____,__Entity的ID______.
∙命名参数的格式是_“:
+参数名”_,位置参数的格式是__“?
+位置编号”____
∙在JPQL中,为了支持使用数据库本地支持的SQL语句,提供了一种称为_参数设置_的查询方式,该查询方式也分为__命名参数____和__位置参数_____两种类型
∙ORM全称是_ObjectRelationalMapping__
∙JPA操作的基本单元称为__Entity________,它其实是一个普通的__Java______对象,通常对应数据库中。
∙Entity中的char[],Character或String类型的属性通常映射为_CLOB_(CharacterlargeOjects)___,而Entity中的byte[],Byte[]或实现了_Serializable_____接口的对象通常映射为___BLOB_____.
∙JPA支持两种类型的加载方式:
__EAGER__,____LAZY____.
∙EJB组件分为两种类型:
_会话Bean(SessionBean)_,_消息驱动Bean(MessageDrivenBean)_.
∙在EJB3.1规范中,EJB组件的实现可以仅仅是一个POJO,其全称是_PlainOldJavaObject_.它不继承任何类型,也不需要任何实现接口。
∙会话Bean分为三种类型:
_无状态会话Bean(StatelessBean)_,_有状态会话Bean(StatefulBean),_单例会话Bean(SingletonSessionBean)_.
∙单例Bean可以采用两种并发管理方式,一种是__由容器托管的______,另一种是___由Bean自身来实现的___.
∙EJB组件通过以下四种机制与容器交互:
回调方法,__EJBContext_,_Java命名和目录接口_,__上下文和依赖注入__.
∙
1.JNDI
(JavaNamingandDirectoryInterface,Java命名和服务接口)简化了企业应用组件之间的查找调用,它提供了应用的命名环境,(NamingEnvironment),企业应用组件在命名环境注册登记,并且通过命名环境查找所需其他组件。
2.JDBC
(JavaDataBaseConnectivity,Java数据库连接)API使JavaEE平台和各种关系数据库之间连接起来,JDBC技术提供jAVA程序和数据库服务器之间的连接服务,同时它能保证数据事务的正常进行。
3.JTA
(JavaTransactionAPI.Java事务API)允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据,JTA用于保证数据读写时不会出错。
4.JAAS
(JavaAuthenticationAuthorizationService,Java验证和授权服务)提供了灵活和可伸缩的机制来保证客户端或服务器端的Java程序。
5JCA
(JavaCommectorArchitecture,Java连接框架)是一组用于连接JavaEE平台来企业信息系统(EIS)的标准API.
6CDI
(ContextsandDependencyInjection上下文和依赖注入)全得容器以类型安全的松耦合方式为EJB组件提供一种上下文服务。
7JMS
(JavaMessageService,Java消息服务)API允许JavaEE应用程序访问企业消息系统,在JavaEE平台上,消息服务依靠省EJB来实现。
8.JSF
(JavaServerFaces)是一种用于构建JavaEEWeb应用表现层的框架标准,它提供了一种以组件为中心的事件驱动的用户界面构建方法,从而大大简化了JavaEEWeb应用的开发。
9.JPA
(javaPersistenceAPI,Java持久性应用接口)规范了Java平台下的持久化实现,大大提高了应用的可移植性。
10.JavaEE
(JavaEnterpriseEdition),是一种体系结构而不是一门编程语言,是一个标准中间件体系结构,旨在简化和规范分机式多层企业应用系统的开发和部署。
11.企业级应用程序
所谓的企业级应用程序,并不是特指为企业开发的应用软件,而是泛指那些为大型组织部门创建的应用程序,一般有以下特点:
(1)分布式
(2)高速反应性
(3)安全性
(4)可扩展性
(5)集成化
12.servlet
Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。
13.JSP
它是一种实现普通静态HTML和动态HTML混合编码的技术,可谓安装到任何能够存放精通web页面的地方。
14.JPQL
(JavapersistenceQueryLanguage)提供了一套与数据库无关的基于Entity的查询语言,称为JPQL,它操作的是抽象持久化模型,包括Entity,属性,关联等。
简答题
1三层体系结构的优点有哪些?
(1)安全性高中间件服务器层隔离了客户端程序对数据服务器的直接访问,保护信息的安全
(2)易维护:
业务规则变化后,客户端程序基本不做改动
(3)快速响应:
通过中间件服务器层的负载均衡以及缓存数据能力,
(4)系统扩展灵活:
2两层体系结构的缺点有哪些?
(1)安全性低:
客户端程序与数据库服务器直接连接,容易被人入侵数据库,
(2)部署困难:
客户端的应用逻辑导致客户端程序肥大
(3)耗费系统资源:
每个客户端程序都要直接连号以数据库服务器,导致系统性能下降。
3简述JavaEE的“组件-容器”编程思想
容器为组件提供必需的底层基础功能,容器提供的底层基础功能被称为服务,组件通过调用容器的标准服务来与外界交互,为满足企业级应用灵活部署,组件与容器之间必须既松散耦合,又能够强有力地交互。
4JavaEE体系结构的优点
(1)独立天硬件配置和操作系统
(2)坚持面向对象的设计原则
(3)灵活性,可移植性和互操作性
(4)轻松的企业信息系统集成
5在创建Web应用程序时,通过Servlet上下文可以实现哪些功能?
(1)访问WEB应用程序资源:
,ServletContext可以通过,getResource()和getResourceAsStream()方法访问Web应用程序内的静态资源文件
(2)在Servlet上下文属性中保存Web应用程序信息:
上下文对象可以用来存储java对象,通过字符串值的key来识别对象,这些属性对整个Web应用程序都是全局的
(3)获取应用初始化参数信息:
可以调用Servlet.Context.getinitParameterNames()返回一个初始化参数的枚举对象(java.util.Enumeration),或直接指定一个参数名来得到特定的大数什
(4)提供日志支持:
可以简单地通过调用ServletContext.log(Stringmsg)或ServletContext.log(Stringmasg.Throwablethrowable)方法向底层的Servlet日志记录写入日志信息;还可以写入导演信息和throwable的跟踪栈
6Servlet的基本工作流程?
(1)客户端将请求发送到服务器
(2)服务器上的Web容器实例化(装入)Servlet,并为Servlet进程创建线程
(3)Web容器将请求信息发送到Servlet
(4)Servlet创建一个响应,并将其返回到Web容器
(5)Web容器将返回客户端
(6)服务器关闭或Servlet空闲时间超过一定限度时,调用destory()方法退出
7HttpServletResponse的sendRedirect方法与RequestDispatcher的forward方法有什么区别?
从操作本质上,RequestDispatcher.forward()是容器中控制权的转向,在客户端浏览器的地址栏中不会显示出转向的地址,而HttpServletResponse的sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求连接,
从性能上,前者是在同一次请求处理过程中,后者是结束第一次请求,由浏览器发起一次新的请求,因此,前者更加高效;
8JSP如何与JavaBean结合?
二者如何传递消息?
在JSP页面中与JavaBean有关的标记有三个:
(1)useBean>声明一个具有一定生存范围及一鼐唯一id的JajvaBean的实例,useBeanid=”s1”class=”Studen”scope=”application”>
(2)getProperty>用来返回一个已被创建的bean组件的属性值,
getPropertyname=”s1”property=”propertyName”>
(3)setProperty>用来设定一个已被创建的bean组件的属性值
setPropertyname=”beanId”property=propertyName”value=”propertyValue”>
(4)表达
<%Student.setName(“zhang”.;%>
获取新属性
<%=student.getName()%>
9列举JSP的5个内置对象并做简要说明。
(1)request是JSP编程中最常用的对象,代表来自客户端的请求,封装了用户提交的信息
(2)response它向客户端发送数据,代表的是服务器对客户端的响应;
(3)session是一种无状态协议,每个客户端请求被当成独立的事务
(4)application代表运行在服务器上的web应用程序相当于servlet上下文
(5)out对象代表向客户端发送数据的对象
10forward>与response.sendRedirect()实现重定位有何不同?
Response.sendRedirect()其实是向浏览器发送一个特殊的Headr,然后由浏览器来做转向,转到指定的页面,用sendRedirect()时,浏览器的地址栏上可以看到地址的变化,在前者则不同,直接在服务器端执行重定位的,浏览器并不知道,这从浏览器的地址并不变化可以证实。
11画出JDBC访问数据库层次结构
12简述JDBC工作原理
JDBC为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级,它主要包含一些通用的接口类,实际上,真正的数据库访问操作实现是由各自数据库厂商提供的,通常把厂商提供的特定于数据库的访问API称为数据库JDBC驱动程序,JDBC通过提供一个抽象的数据库接口,使得程序开发人员在编程时可以不用绑定在特定数据库厂商的API上,大大增加了应用程序的可移植性。
13列举ResultSet的光标5个属性,并进行说明。
(1)ResultSet.TYPE_FORWORD_ONLY:
包含只进光标的结果集,只能调用next()方法向前遍历,不能回头查询
(2)ResultSet.TYPE_SCROLL_INSENSITIVE:
可前后滚动可以调用first(),nest(),absolute(),等方法对数据进行操作,之后其它用户以数据库的更改不会影响到此结果。
(3)ResultSet.TYPE_SCROLL_SENSITIVE可前后滚动,之后其它用户以数据库的更改会影响到此结果。
(4)
(5)ResultSet.CONCUR_READ_ONLY:
结果集中包含的数据为只读数据
(6)ResultSet.CONCUR_UPDATABLE:
结果集中的数据可更新到数据库中
14什么是JSF?
它有哪些优点?
(1)JSF是Javaee规范推荐的表现层的框架标准
(2)JSF吸收了流行框架的优点
(3)便于与其他JAVAEE技术集成
15描述JSF的常规流程,对每个阶段做简要说明
(1)恢复视图:
对于每个JSF请求,都会对应一个JSF视图,JSF框架的FaceServlet负责定位这一视图
(2)应用请求值:
本阶段的目标是获取每个组件的当前状态
(3)处理校验:
本阶段的目标是校验每个组件的当前状态是否合法
(4)更新模型值:
本阶段的目标是将UI组件的状态与业务逻辑组件ManagedBean的状态进行同步
(5)调用应用:
本阶段的主要目标是进行消息事件处理
(6)显示响应:
本阶段的目标包含两个绘制结果视图的组件树并输出到客户端;将当前组件树的状态进行保存以便响应之后的请求
16描述ManagedBean的生命周期。
P153
17列举JSF框架中Bean验证框架的5个内置注解,并说明其作用。
(1)Min:
所注解的元素必须是数字,其值要大于或等于给定的最小值
(2)Max所注解的元素必须是数字,其值要小于或等于给定的最大值
(3)Size所注解的元素必须位于给定的最大或最小值之间,
(4)NotNull被注解的元素必须不能为空
(5)Null注解的元素必须为空
(6)Future所注解的元素必须是未来的日期
(7)Last所注解的元素必须是过去的日期
(8)Patterm被注解的元素(String)必须匹配给定的JAVAQ正则表达式
18详细描述命名查询与动态查询的区别?
(从定义、创建、系统性能三方面说明)
19论述Entity的状态和生命周期变化
(1)New:
已