资源描述
Java EE期末考试
· 填空题:
· Java EE为满足开发多层体系构造企业级应用需求,提出_组件-容器________编程思想。Java EE应用根本软件单元是_Java EE组件_______. 根本软件单元运行环境被称为___容器________.
· 两层体系构造应用程序分为__客户层_____和____效劳器层_____.
· 所谓企业级应用程序,并不是特指为企业开发应用软件,而是泛指那些为_大型组织部门__创立应用程序。
· 在三层分布式企业应用程序中,包括_客户层____,__应用效劳器层_____,____数据效劳器层______三层。
· Java EE客户端组件既可以是__一个Web浏览器__________、___一个Applet________,也可以是一个__应用程序______.
· Servlet组件在进展重定向时,需要使用ServletResponse接口方法是__sendRedirect()______.
· ServletRequest提供了两个方法用于从请求中解析出上传文件: ___Part getPart〔String name〕___________和__Collection<Part>getParts()___________。
· Java EE 6提供组件主要包括三类:_客户端组件____,__Web组件____,_业务组件____.
· Servlet配置参数保存在__ServletConfig()______________对象中,一个Servlet该配置对象〔能/否〕___否〔不能〕__________被其他Servlet访问。
· Servlet支持两种格式输入/输出流:__字符输入/输出流______和__字节输入/输出流_。
· MIME全称是_多媒体Internet邮件扩展____, ServletResponse中响应正文默认MIME类型为_text/plain______________, 而 ServetResponse中响应正文默认MIME类型为__text/html_________________.
· PDF文件MIME类型是__application/pdf________________, Microsoft Word文档类型是__application/msword___________。在Servlet中设置MIME类型应使用__response__对象方法_____setContentType()________.
· 所有Servlet都必须实现下面两个接口之一:__通用Servlet接口______和__ Servlet接口_________。
· 协议是一种__无状态____协议,效劳器不记录关于客户任何信息。
· 在Web程序设计中,客户端以表单方式向效劳器提交数据是最常见方法。表单数据提交方法有两种:___POST方法_____和___Get方法_______________.
· 常见会话跟踪技术有__Cookie___, _URL重写___, _隐藏表单域__.
· JSP内置对象作用范围有四种_request_____,_page____,_session___,_application_____.
· JSPinclude动作组件根本语法:<jsp:include page=〞文件名〞_flush=〞true〞/> </jsp:include>_________________________.
· JSP页面中声明变量根本格式是:__<%!声明代码 %>___________________.
· JSP页面除了普通HTML代码之外,还主要有如下三种成分:_脚本元素〔Scripting Element〕___、__指令〔Directive〕______、__动作〔Action〕___________________。
· JSP指令有三种,分别是__page ____, ___include___,__taglib____.
· JSP页面中有两种类型注释:输出到客户端注释:<!-comment->___和 不输出到客户端注释:<%- -comment- -%>_______。
· 在JSP页面中,与Java Bean有关标记有三个:<jsp:useBean>___,_<jsp:setProperty>___,_<jsp:getPropert>____。
· JavaBean生命周期范围有四种是:_page_______,_request______,_session______,_application_______.
· Java Bean在标记_<jsp:useBean>______中利用_Scope_______属性声明Java Bean生命周期范围。
· 一个Java类要成为Java Bean,必须满足三个规那么:对于每个属性都有一个set方法, _对于每个属性都有一个get方法 ,_不带任何参数构造函数_____.
· 利用JDBC访问数据库过程中,主要涉及三种资源:_对数据库连接对象Connection__,_SQL语句对象Statement__,_访问结果集对象ResultSet或RowSet____.
· 给定具体JDBC URL,获取数据库连接方法是调用__DriverManager_____对象_getConnection()___方法。
· ResultSet具有三个获取流方法:_getBinaryStream___、_getAsciiStream____、_getUnicodeStream___.
· JDBC支持三种类型Statement对象:Statement, _PrepareStatement _____,_CallableStatement______.
· 根据效劳提供商机制,效劳提供商配置文件必须存放于_META-INF/services___________目录下。
· JDBC URL格式是: MySQL数据库:_jdbc:mysql://机器名/数据库名;GlassFish内置Java DB:jdbc:derby://机器名/数据库名;_Oracle数据库: jdbc:oracle:thin@机器名: 端口名: 数据库名____.
· 提供了定义和访问资源标准机制,它包含两个JSF标记访问资源:_<h:outputScript>____, _<:outputStylesheet>______.
· JSF提供了两种类型导航组件:_按钮___, ___链接______.
· JSF视图组建都是_xhtml______文件,可以通过 使用“#〞表达式语言____直接引用Managed Bean属性和方法。
· JSF框架导航组件中,链接标记有三种:h:commandLink___,_h:link___,_h:outputLink__.
· 在声明复合主键时,需要两个注解是:_@EmbeddedId___,_@Embeddable__.
· JSF在转换和验证时都有可能会产生错误信息,这些错误信息可以通过标记<h:message>显示出来,而这些预定义错误信息有时是没有本地化,为了对这些消息进展本地化设置,可以修改属性_converterMessage__、_validatorMessage___、_requiredMessage____,让这些属性指向本地化资源即可。
· JSF是一个基于__MVC____架构框架,其中模型角色由_ManagedBean_____承当,实现具体业务逻辑,视图角色由_XHTML__承当,实现信息展示和与用户交互,控制角色由_JSF框架___承当,实现具体控制逻辑。
· CDI全称是_Contexts and Dependecy Injection__,CDI Bean是Java EE 6标准一项重大功能特性之一,提供了一种更加强大托管Bean模型。与Managed Bean不同是,这种托管Bean是由_Java EE 6 应用效劳器不是JSF框架_______来管理和控制。
· JSF中立即事件类型通过设置组件__immediate___________属性来设置,它会将提前进展___应用请求值阶段___而无须等到调用应用阶段。
· JSF核心标记库有四种:_HTML标记_,_Core标记___,__Facelets标记 ,_复合组件标记.
· JPA操作根本单元称为__Entity________, 它其实是一个普通__Java______对象,通常对应数据库中。
· 在JPA中,注解@Transient表示含义是:_JPA不会在关系数据库表中创立与注解属性对应映射字段____.
· JPA主键有四种生成策略,他们分别是_Table策略,_Sequence策略,_Identity策略,_Auto策略.
· 在JPA中,如果使用了类型,。
· 在JPA中,持久化上下文有两种类型,它们是_事物范围持久化上下文_, __扩展范围持久化上下文__.
· 在JPA中,新增一个实体,调用EntityManage方法是_persist()______, 查询时调用方法是_find()________, 该方法两个参数是_Entity类型____, __EntityID______.
· 命名参数格式是_“:+参数 名〞_, 位置参数格式是__“+位置编号〞____
· 在JPQL中,为了支持使用数据库本地支持SQL语句,提供了一种称为_参数设置_查询方式,该查询方式也分为__命名参数____和__位置参数_____两种类型
· ORM全称是_ Object Relational Mapping __
· JPA操作根本单元称为__Entity________, 它其实是一个普通__Java______对象,通常对应数据库中。
· Entity中char[], Character或String类型属性通常映射为_CLOB_〔Character large Ojects〕___, 而Entity中byte[], Byte[]或实现了_Serializable_____接口对象通常映射为___BLOB_____.
· JPA支持两种类型加载方式:__EAGER__, ____LAZY____.
· EJB组件分为两种类型:_会话Bean〔Session Bean〕_,_消息驱动Bean(Message Driven Bean)_.
· 在标准中, EJB组件实现可以仅仅是一个POJO,其全称是_Plain Old Java Object_.它不继承任何类型,也不需要任何实现接口。
· 会话Bean分为三种类型:_无状态会话Bean〔Stateless Bean〕_,_有状态会话Bean〔Stateful Bean〕,_单例会话Bean〔Singleton Session Bean〕_.
· 单例Bean可以采用两种并发管理方式,一种是__由容器托管______,另一种是___由Bean自身来实现___.
· EJB组件通过以下四种机制与容器交互:回调方法,__EJBContext_,_Java命名和目录接口_,__上下文和依赖注入__.
·
1.JNDI
〔Java Naming and Directory Interface, Java命名和效劳接口〕 简化了企业应用组件之间查找调用,它提供了应用命名环境,〔Naming Environment〕,企业应用组件在命名环境注册登记,并且通过 命名环境查找所需其他组件。
2.JDBC
(Java DataBase Connectivity,Java数据库连接)API使Java EE平台和各种关系数据库之间连接起来,JDBC技术提供jAVA程序和数据库效劳器之间连接效劳,同时它能保证 数据事务正常进展。
3.JTA
(Java Transaction API.Java 事务API)允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据,JTA用于保证数据读写时不会出错。
4. JAAS
(Java Authentication Authorization Service, Java 验证和授权效劳)提供了灵活和可伸缩机制来保证客户端或效劳器端Java程序。
5 JCA
( Java Commector Architecture, Java连接框架)是一组用于连接Java EE平台来企业 信息系统 〔EIS〕标准API.
6 CDI
〔Contexts and Dependency Injection 上下文和依赖注入〕全得容器以类型平安松耦合方式 为EJB组件提供一种上下文效劳。
7 JMS
〔Java Message Service ,Java消息效劳〕API允许Java EE应用程序 访问企业 消息系统 ,在Java EE平台上,消息效劳 依靠省EJB来实现。
8. JSF
( Java Server Faces)是一种用于构建Java EE Web应用表现层框架 标准,它提供了一种以组件为中心事件驱动用户界面构建方法,从而大大简化 了Java EE Web 应用开发。
9.JPA
〔java Persistence API,Java 持久性应用接口〕标准了Java平台下持久化实现,大大提高 了应用可移植性。
10.Java EE
〔Java Enterprise Edition〕,是一种体系构造 而不是一门编程语言,是一个标准中间件体系构造,旨在简化和标准分机式多层企业 应用系统开发和部署。
11.企业级应用程序
所谓企业级应用程序,并不是特指为企业开发应用软件,而是泛指 那些为大型组织部门创立应用程序,一般有以下特点:
(1)分布式
(2)高速反响性
(3)平安性
(4)可扩展性
(5)集成化
12.servlet
Servlet是一种独立于操作系统平台和网络传输协议效劳器端Java应用程序,它用来扩展效劳器功能,可以 生成动态Web页面。
13.JSP
它是一种实现 普通静态HTML和动态HTML混合编码技术,可谓安装 到任何能够存放 精通web页面地方。
14.JPQL
( Java persistence Query Language)提供了一套与数据库无关基于Entity查询语言,称为JPQL,它操作是抽象持久化模型,包括 Entity,属性,关联等。
简答题
1三层体系构造优点有哪些?
(1) 平安性高 中间件效劳器层隔离了客户端程序对数据效劳器直接访问,保护信息平安
(2) 易维护: 业务规那么变化后,客户端程序根本不做改动
(3) 快速响应:通过中间件效劳器层负载均衡以及缓存数据能力,
(4) 系统扩展灵活:
2两层体系构造缺点有哪些?
(1) 平安性低:客户端程序与数据库效劳器直接连接,容易被人入侵数据库,
(2) 部署困难:客户端应用逻辑导致客户端程序肥大
(3) 消耗系统资源:每个客户端程序都要直接连号以数据库效劳器,导致系统性能下降。
3简述Java EE“组件-容器〞编程思想
容器为组件提供必需底层根底功能,容器提供底层根底功能被称为效劳,组件通过调用容器标准效劳来与外界交互,为满足企业级应用灵活部署,组件与容器之间必须既松散耦合,又能够强有力地交互。
4 Java EE体系构造优点
(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(String msg)或ServletContext.log(String masg.Throwable throwable)方法向底层Servlet日志记录写入日志信息;还可以写入导演信息和throwable跟踪栈
6 Servlet根本工作流程?
(1) 客户端将请求发送到效劳器
(2) 效劳器上Web容器实例化〔装入〕Servlet,并为Servlet进程创立线程
(3) Web容器将请求信息发送到Servlet
(4) Servlet创立一个响应,并将其返回到Web容器
(5) Web容器将返回客户端
(6) 效劳器关闭或Servlet空闲时间超过一定限度时,调用destory〔〕方法退出
7 ServletResponsesendRedirect方法与RequestDispatcherforward方法有什么区别?
从操作本质上,RequestDispatcher.forward() 是容器中控制权转向,在客户端浏览器地址栏中不会显示出转向地址,而 ServletResponsesendRedirect()那么是完全跳转,浏览器将会得到跳转地址,并重新发送请求连接,
从性能上,前者是在同一次请求处理过程中,后者是完毕第一次请求,由浏览器发起一次新请求,因此,前者更加高效;
8 JSP如何与Java Bean结合?二者如何传递消息?
在JSP页面中与JavaBean有关标记有三个:
(1) <jsp:useBean>声明一个具有一定生存范围及一鼐唯一idJajvaBean实例,<jsp:useBean id=〞s1” class=〞Studen〞 scope=〞application〞>
(2) <jsp:getProperty>用来返回一个已被创立bean组件属性值,
<jsp:getProperty name=〞s1” property=〞property Name〞>
(3) <jsp:setProperty>用来设定一个已被创立bean组件属性值
<jsp:setProperty name=〞beanId〞 property=propertyName〞 value=〞property Value〞>
(4) 表达
<%Student.setName(“zhang〞.;%>
获取新属性
<%=student.getName()%>
9列举JSP5个内置对象并做简要说明。
(1) request 是JSP编程中最常用 对象,代表来自客户端请求,封装了用户提交信息
(2) response 它向客户端发送数据,代表是效劳器对客户端响应;
(3) session 是一种无状态协议,每个客户端请求被 当成独立事务
(4) application 代表运行在效劳器上web应用程序 相当于servlet上下文
(5) out 对象代表向客户端发送数据对象
10<jsp:forward>与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是 Java ee标准推荐表现层框架标准
(2) JSF吸收了流行框架优点
(3) 便于与其他 JAVA EE技术集成
15描述JSF常规流程,对每个阶段做简要说明
(1) 恢复视图 :对于每个JSF请求,都会对应一个JSF视图,JSF框架FaceServlet负责定位这一视图
(2) 应用请求值:本阶段目标是获取 每个组件当前状态
(3) 处理校验: 本阶段目标是校验 每个组件当前状态是否合法
(4) 更新模型值:本阶段 目标是将UI组件状态与业务逻辑组件 Managed Bean状态 进展同步
(5) 调用应用:本阶段 主要 目标是进展消息事件处理
(6) 显示响应:本阶段目标包含两个 绘制结果视图组件树并输出到客户端;将当前组件 树状态 进展保存以便响应之后请求
16描述Managed Bean生命周期。
P 153
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:已经创立了Entity实例,但没与持久化上下文进展关联,没有实现与数据库中信息是映射
(2) Managed:Entity:已经与持久化上下文进展关联,且实现与数据库中信息映射
(3) Detached:Entity 实现数据库中信息映射,但不再与持久化上下文进展关联
(4) Removed:Entity 对就数据库中数据已被删除
转化图见P283
20描述有状态会话Bean生命周期。
图见p314
21描述无状态会话Bean生命周期
图见p303
22比拟消息驱动Bean与会话Bean
〔1〕在某些方面,消息驱动bean类似于无状态会话Bean:
消息驱动bean实例通常不保存特定客户端数据或会话状态
消息驱动Bean所有 实例都是等效,
单个消息驱动Bean可以处理来自多个客户端消息
〔2〕但与会话Bean不同,消息驱动Bean客户端不通过接口对其进展访问,它们之间是异步消息松散耦合,消息驱动Bean只有一个bean类,没有接口类
三: 编程题重点
如何使用<jsp:param>和<jsp:forward>配合传递参数?
JSP,Servlet如何处理表单?
如何编写几种映射关系,以及相关注解使用
有状态会话Bean与无状态会话Bean编写
展开阅读全文