《Java EE应用开发》复习大纲.docx
《《Java EE应用开发》复习大纲.docx》由会员分享,可在线阅读,更多相关《《Java EE应用开发》复习大纲.docx(41页珍藏版)》请在冰豆网上搜索。
《JavaEE应用开发》复习大纲
《JavaEE应用开发》复习大纲
2012
第1章JavaEE应用和开发环境
1、什么是J2EE(JavaEE)?
(填空)
开放的、基于标准的平台,用以开发、部署和管理N层结构、面向Web的,以服务器为中心的企业级应用
2、Java平台的特点及应用(填空或选择)
J2ME-Java2MicroEdition:
用于创建嵌入式应用程序的Java平台(如PDA、仪表)。
J2SE-Java2StandardEdition:
用于创建典型的桌面与工作站应用的Java平台。
J2EE-Java2EnterpriseEdition:
用于创建可扩缩的企业应用的Java平台。
企业版1.5之后,改称为JavaPlatformEnterpriseEdition(简称JavaEE5.0)
3、了解JavaEE应用的分层模型(p2-3)(填空或选择)
(1)领域对象层:
由一系列POJO(PlainOldJavaObject)组成,用来存储和传递业务数据,一般情况下,一个POJO对应一张数据表,通过相应的getter和setter方法获得或设置数据。
(2)DAO(DataAccessObject)层:
由一系列的DAO对象组成,这些DAO对象实现了对数据库的CRUD(创建、查询、更新和删除)等原子操作。
(3)业务逻辑层:
由一系列业务逻辑对象组成,实现了系统所需要的业务逻辑方法。
(4)控制器层:
由一系列控制器对象组成,这些控制器拦截用户请求,调用业务逻辑对象的业务逻辑方法,处理用户请求,根据处理结果转发到不同的表现层组件上。
(5)表现层:
由一系列如JSP页面、Velocity页面、PDF文档等组成,负责接收用户的输入,显示处理结果。
4、JavaEE应用的组件(p2-4):
表现层组件、控制器组件、业务逻辑组件、DAO组件和领域对象组件。
理解各种组件的含义和在分层实现时的表现形态。
(填空或选择)
5、了解JavaEE平台规范的主要技术(ch1-1):
EJB、JDBC、JNDI、JPA、JMS、JavaServlet、JSP、JavaMail、JMX的作用。
(填空或选择)
6、了解容器为对象所所提供的基础服务(ch1-1,ch1-3),主要包括:
事务管理、安全管理、并发访问管理、持久化管理、资源池(数据库连接)、管理接口、负载均衡、容错。
(填空或选择)
7、JavaEE平台角色(ch1-1):
JavaEE平台开发商(JavaEE产品提供者)、应用组件提供者、应用组装者、应用部署者(应用发布者)、系统管理员、工具提供者、系统组件提供者(填空或选择)
了解每种角色的特点、职责、工作范围。
8、了解常见的Web服务器的特点(P4-5):
ApacheTomcat、Jetty、Resin(填空或选择)
9、了解常见的JavaEE服务器(商业的和开源的,ch1-3,p5):
Jboss、WebLogic、WebSphere和Glassfish(填空或选择)
10、掌握eclipse的两种手动安装插件的方法(ch1-3):
直接安装和扩展安装(简答或填空)
11、了解Ant的作用(ch1-3)。
12、了解常见的版本控制与管理工具:
CVS、SVN、VSS。
理解VS的基本概念(ch1-3):
Repository、Module、Import、Checkout、Commit、Update、Revision和Release。
第2章JSP/Servlet及相关技术详解
1、构建Web应用(p49)(填空、选择或简答):
——这是Web应用名
|-WEB-INF
||-classes
||-lib
||-web.xml
|-——这里存放任意多个JSP页面、HTML页面等。
Web应用描述符
位于WEB-INF/的web.xml
负责管理如下内容:
–配置JSP。
–配置和管理Servlet。
–配置和管理Listener。
–配置和管理Filter。
–配置标签库。
–配置JSP属性。
其他:
配置和管理JAAS授权认证、配置和管理资源引用和Web应用首页设置
【JSP基本语法部分】
1、JSP的基本概念:
JSP是JavaServerPage的缩写,是Servlet的简化。
它是由Sun公司提出的,并由许多公司参与制定的一种动态网页标准。
2、理解JSP页面的工作原理:
JSP文件必须在JSP服务器内运行。
JSP文件必须生成Servlet才能执行。
每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。
JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因JSP页面输送到客户端的是标准HTML页面。
3、重点理解JSP的执行过程(ch2-1):
请求的JSP页面转译(Servlet源代码)编译Servlet(字节码)执行响应客户(填空或选择)
(1)当Web服务器上的一个JSP页面被第一次请求执行时,Web服务器上的JSP引擎首先将JSP页面文件转译成一个java文件,并编译这个java文件生成字节码文件,然后执行字节码文件响应客户的请求
(2)当多个客户请求一个JSP页面时,Web服务器为每个客户启动一个线程,该线程负责执行常驻内存的字节码文件来响应相应客户的请求
1)把JSP页面中的HTML标记符号(页面的静态部分)交给客户的浏览器负责显示。
2)负责处理JSP标记,并将有关的处理结果发送到客户的浏览器。
3)执行"<%"和"%>"之间的java程序片(JSP页面中的动态部分,称为Scriptlet),并把执行结果交给客户的浏览器显示。
4、JSP页面的基本结构
JSP页面可由6种元素组合而成:
(1)普通的HTML标记符;
(2)JSP标记,如指令标记、动作标记;
(3)成员变量和方法;
(4)Java程序片;
(5)Java表达式
(6)注释
5、注释
HTML注释:
HTML注释在发布网页时可以在浏览器源文件窗口中可以看到,并且在这种注释中可以使用JSP的表达式
JSP注释(隐藏注释):
隐藏注释也是JSP的标准注释,写在JSP程序中,在发布网页时完全被忽略,不发给客户
Java注释:
在JSP程序中,也可以遵循Java语言本身的注释规则对代码进行注释,这样的注释和隐藏注释相似,在发布网页被完全忽略,在浏览器的源文件窗口中看不到这种注释
6、掌握变量和方法的声明(看课本和PPT的例子)
JSP中的声明可以用来定义一个或多个合法的变量(包括普通变量和类变量)和方法。
用于定义JSP代表的Servlet类的成员变量和方法
在声明元素中声明的变量和方法将在JSP页面初始化时被初始化。
JSP声明的语法格式为:
<%!
declaration;[declaration;]...%>,其中declaration为声明的变量、方法的名称和内容。
7、表达式:
就是位于<%=和%>之间的代码
8、掌握JSP脚本/Java程序片(Scriptlet)
JSP脚本即Scriptlet,也就是JSP中的代码部分,是java程序的一段代码,几乎可以使用任何java语法,它是在请求时期执行的,它可以使用jsp页面所定义的变量、方法、表达式或JavaBeans。
脚本的语法格式为:
<%scriptlet%>
声明和Scriptlet中定义变量的区别
1/因为JSP页面实际上是被编译成Servlet类执行的,所以声明中定义的变量是Servlet类的成员变量
2/Scriptlet中定义的变量是Servlet类(JSP页面)的service()方法或doGet()方法或doPost()方法等中的局部变量
9、JSP指令类型:
page指令标记
include指令标记
taglib指令标记
(1)page指令标记
1/Page指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在的JSP文件页面和其包含的文件
2/在JSP中的任何地方、以任何顺序,一个页面可以包含任意数量的page指令。
但是除import外,其它任何属性/值对只能出现一次
3/无论把<%@page%>指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面
4/page指令包括的属性:
contentType、import、session等。
重点掌握page指令的contentType和import属性的语法和使用。
(2)include指令标记
该指令用于将另一个文件的内容插在JSP文件中。
一个JSP页面中的include指令的数量不受限制。
语法:
<%@includefile="文件的URL"%>
服务器每次都要检查include指令标记嵌入的文件是否被修改过,因此,JSP页面成功静态嵌入一个文件后,如果对嵌入的文件进行了修改,那么服务器会重新编译JSP页面,即将当前的JSP页面和修改后的文件合并成一个JSP页面,然后服务器再将这个新的JSP页面转译成Java类文件
(3)JSP动作标记
动作标记在请求处理阶段起作用,JSP规范定义了一系列的标准动作,它们都以jsp为前缀,常用的有:
param>
include>
forward>
plugin>
usebean>
setProperty>
getProperty>
1/重点掌握include>的语法与使用:
和<%@include%>指令不同,include>告诉JSP页面动态包含一个文件,即JSP页面运行时才将文件加入
理解jsp:
include对<%@include…>的区别(PPT中的表)
2/掌握forward>的语法与使用:
该指令的作用是,从该指令处停止当前页面的继续执行,而转向执行page属性指定的JSP、servlet或一个静态的资源上。
如果JSP文件中包含该标记,那么这个JSP文件中的所有输出都不会被发送到客户端,并且forward>标记以下的代码不会被执行。
forward>标记从一个JSP文件向另一个文件传递包含用户请求的request对象。
(看课本和PPT的例子)
10、重点掌握第二章作业一。
【JSP内置对象】
1、什么是JSP内置对象:
JSP为简化页面的开发提供了一些内部对象;JSP使用Java定义的内置对象来访问网页的动态内容;内置对象只对表达式和Scriptlet有用,在声明中不能使用。
内置对象包括:
输入输出对象(request、response和out)、作用域通信对象(session、application、pageContext)、Servlet对象(page、config)、错误对象(exception)(见p70或ch2-2.PPT的图)
在JSP脚本和JSP输出表达式中可以用内置对象
在JSP声明部份不能用内置对象
2、输入和输出对象包括request、response和out
(1)重点掌握request对象的语法与使用(阅读课本例子)。
1/掌握基本的HTML表单的编写(主要是掌握FORM元素的基本语法)
数据提交方式[重点是text文本框、radio单选按钮和checkbox多选框的表达]
2/掌握在request中读取表单数据的方法:
request.getParameter("name")和request.getParameterValues("name"),可参考PPT例子example3_1.jsp,针对checkbox多选值的获取(example3_5.jsp)
3/理解JSP处理中所面临的汉字问题(参考PPT的例子),如何解决汉字的乱码显示问题?
(2)了解response对象和out对象的基本语法与使用(阅读PPT例子)
"response"对象代表的是对客户端的响应,也就是说可以通过"response"对象来组织发送到客户端的数据,需要向客户端发送文字时直接使用"out"对象即可。
是实现javax.servlet.HttpServletResponse接口的类的一个实例
1/理解方法:
response.setContentType(Stringtype),例子课本example3_9.jsp:
将响应内容保存为Word文档。
response.setContentType("application/msword;charset=GB2312");
3、理解session对象
(1)了解什么是会话session,为什么需要对会话进行管理?
(2)标识session对象(PPT例子)
内置对象session由Web服务器负责创建,session是实现了HttpSession接口类的一个实例.
session对象被分配了一个String类型的ID,Web服务器将ID发送到客户端,存放在客户的Cookie中。
同一用户在同一Web服务目录中的各个页面的session是相同的(重点理解,看PPT)
不同用户的session对象互不相同,具有不同的ID
(3)理解session对象的生命周期(例子example3_16.jsp)
当客户第一次访问支持Session的某个网页时,就会开始一个新的Session。
接下来客户浏览该Web应用的不同网页时,始终处于同一个Session中。
在以下情况,Session将结束其生命周期:
客户访问其它Web应用
客户关闭或新开启浏览器
Session对象调用invalidate()方法使得session无效
Session超时:
Session对象达到了设置的最大非活动间隔时间(maxinactiveinterval)
4、重点掌握第二章作业二
【Servlet技术】
1、Servlet的开发
•Servlet是一种比JSP更早的动态网页编程技术。
•Servlet开发的要求简述如下:
–Servlet是个特殊的Java类,这个Java类必须继承HttpServlet。
–必须重写service方法(或doGet/doPost/doPut/doDelete)来响应客户端的所有请求。
–如果有一些资源需要在Servlet启动的时候初始化,或关闭时销毁资源,必须重写init()和destroy()方法。
–不要为Servlet提供构造器。
•注意:
如果重写了init(ServletConfigconfig)方法,则应在重写该方法的第一行调用super.init(config)。
该方法将调用HttpServlet的init
方法。
2、Servlet和JSP的区别
•Servlet中没有内置对象,原来JSP中的内置对象都必须通过HttpServletRequest对象,或由HttpServletRespose对象生成;
•对于静态的HTML标签,Servlet都必须使用页面输出流逐行输出。
3、Servlet的生命周期
•每个Servlet的运行都遵循如下生命周期:
–创建Servlet实例(一次,普通Servlet是用户第一次请求的时候实例化,但是load-on-startup是应用启动的时候实例化)
–Web容器调Servlet的init方法,对Servlet进行初始化(一次,实例化之后执行)
–响应客户端请求(每次请求执行一次)
–Web容器决定销毁Servlet时,调用Servlet的destroy方法,通常在关闭Web容器之时销毁Servlet(一次,销毁之前执行)
load-on-startupServlet
•如果需要Servlet随Web应用的启动而启动,可使用load-on-startup元素完成Servlet的初始化。
load-on-startup元素只接收一个整型值,这个整型值越小,Servlet就越优先初始化。
•应用启动时就启动的Servlet,通常是用于某些后台服务的Servlet,或者拦截很多请求的Servlet。
通常是作为后台服务,当然也可以响应用户请求,重写service方法即可。
4、通过开发、部署一个简单的Servlet掌握使用HttpServlet类的基本方法(见课本和PPT中的例子,重点)
ppt的HelloWorldServlet.java
publicclassHelloWorldServletextendsHttpServlet
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
HelloWorldServlet
ch2.HelloWorldServlet
HelloWorldServlet
/hello
http:
//127.0.0.1:
7001/test/hello
5、通过例子理解Model2架构模式(JSP+Sevlet+JavaBean)(PPT的“设计一个简单的Web应用(简单计算器)”)
【JSP2的自定义标签库】
1、理解标签库的优势:
自定义标签是一种非常优秀的视图组件技术。
通过使用自定义标签库,可以在简单的标签中封闭复杂的功能。
2、开发自定义标签的步骤
(1)书写标签处理类。
(2)编写标签库文件(TLD)。
(3)在JSP页面中使用<%@taglibprefix=”mytag”uri=”/tags/mytag”%>。
(4)使用标签tagName.../>。
通过课本的例子HelloWorldTag(p109)掌握最基本的自定义标签的开发和使用:
(1)书写标签处理类。
标签处理类必须继承SimpleTagSupport父类。
除此之外,自定义标签类还有如下要求:
1/如果标签类包含属性,每个属性都有对应的getter和setter方法。
2/重写doTag()方法,这个方法生成页面内容。
3/如果需要在销毁标签之前完成资源回收,则重写release()方法。
(2)编写标签库文件(TLD)。
TLD是TagLibraryDefinition的缩写,即标签库定义,文件的后缀是tld,每个TLD文件对应一个标签库,一个标签库中可包含多个标签。
标签库定义文件的根元素是taglib,它可以有多个tag子元素,每个tag子元素都对应一个标签。
1.0
1.2
http:
//www.crazyit.org
helloWorld
--确定标签的处理类-->
lee.HelloWorldTag
--确定标签的标签体,标签体为空-->
empty
(3)使用标签库
<%@tagliburi="http:
//www.crazyit.org/mytaglib"prefix="mytag"%>
helloWorld/>
【Filter与Listener】
1、了解Filter与Listener的基本原理和用途:
用户授权的Filter、日志Filter、负责解码的Filter、能改变XML内容的XSLTFilter等
Filter可以拦截多个请求或响应;一个请求或响应也可以被多个Filter拦截
第3章Struts2的基本用法
【MVC模式和Struts2基本开发流程】
1、理解JSP表示层的两种架构模式(ch3-1)
(1)Model1架构模式(JSP+JavaBean)
(2)Model2架构模式(JSP+Sevlet+JavaBean)
2、Model1架构模式的工作流程(ch3-1):
(1)客户端发出请求,该请求由JSP页面接收。
(2)JavaBean用于实现业务模型,JSP根据请求与不同的JavaBean进行交互。
(3)业务逻辑操作指定JavaBean并改变其模型状态。
(4)JSP将改变后的结果信息转发给客户端。
3、Model2架构模式的工作流程(ch3-1):
(1)Servlet接收客户端发出的请求。
(2)Servlet根据不同的请求调用相应的JavaBean。
(3)业务逻辑操作指定JavaBean并改变其模型状态。
(4)Servlet将改变后JavaBean的业务模型传递给JSP视图。
(5)JSP将后台处理结果呈现给客户端。
4、MVC模式[Model(模型)、View(视图)和Controller(控制器)]的工作流程(ch3-1):
(1)用户通过视图(一般是JSP页面或HTML页面)发出请求。
(2)控制器接收请求后,调用相应的模型并改变其状态。
(3)当模型状态改变后,控制器选择对应的视图组件来反馈改变后的结果。
(4)视图根据改变后的模型,将正确的状态信息显示给用户。
4、了解MVC模式的特点和优缺点。
(p159、ch3-1)
5、掌握Struts2应用的基本开发步骤
(1)在web.xml文件中定义核心Filter(如FilterDispatcher)拦截用户请求。
(2)定义包含表单数据的JSP页面。
(3)定义处理用户请求的Action类。
(4)配置Action。
(5)配置处理结果和物理视图资源之间对应关系。
(6)编写视图资源。
一个简单的Struts2应用例子:
步骤一:
新建Web项目取名helloworld
步骤二:
导入struts2类库---包位于struts2安装目录的lib目录下
步骤三:
在web.xml文件中配置核心控制器(如FilterDispatcher)
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
编辑WebRoot\WEB-INF\web.xml文件,添加Filte