《Java EE应用开发》复习大纲.docx

上传人:b****6 文档编号:8665649 上传时间:2023-02-01 格式:DOCX 页数:38 大小:68.61KB
下载 相关 举报
《Java EE应用开发》复习大纲.docx_第1页
第1页 / 共38页
《Java EE应用开发》复习大纲.docx_第2页
第2页 / 共38页
《Java EE应用开发》复习大纲.docx_第3页
第3页 / 共38页
《Java EE应用开发》复习大纲.docx_第4页
第4页 / 共38页
《Java EE应用开发》复习大纲.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

《Java EE应用开发》复习大纲.docx

《《Java EE应用开发》复习大纲.docx》由会员分享,可在线阅读,更多相关《《Java EE应用开发》复习大纲.docx(38页珍藏版)》请在冰豆网上搜索。

《Java EE应用开发》复习大纲.docx

《JavaEE应用开发》复习大纲

《JavaEE应用开发》复习大纲

2011

第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元素的基本语法)

GET方式的请求会将请求参数的名和值转换成字符串,并附加在原URL之后,因此可以在地址栏中看到请求参数名和值

POST请求的传输的数据量总比GET传输的数据量大。

而且POST方式发送的请求参数以及对应的值放在HTMLheader中传输,用户不能在地址栏看到请求的参数值

数据提交方式[重点是text文本框、radio单选按钮和checkbox多选框的表达]

*

2/掌握在request中读取表单数据的方法:

*request.getParameter("name")和request.getParameterValues("name")对应的所有值构成的数组,可参考PPT例子example3_1.jsp,针对checkbox多选值的获取(example3_5.jsp)*

有多个按钮时,radio按钮的name属性的值相同,但值属性value不同

StringitemName[]=request.getParameterValues("item");

选择图片并显示

⏹<%@pagecontentType="text/html;charset=GB2312"%>

⏹<%Strings1=request.getParameter("image");

⏹Strings2=request.getParameter("video");

⏹%>

"width=200height=160>图像

"width=300height=180>视频

3/理解JSP处理中所面临的汉字问题(参考PPT的例子),如何解决汉字的乱码显示问题?

⏹1.在头部添加ContentType属性,可解决页面汉字显示乱码问题

⏹<%@pagecontentType="text/html;charset=gb2312"%>

⏹2.上传字符处理

(1)使用server的默认字符集

⏹StringfirstName=request.getParameter("firstName");

(2)从英文(Latin-1)转换成中文

⏹StringfirstNameWrongEncoding=request.getParameter("firstName");

⏹StringfirstName=newString(firstNameWrongEncoding.getBytes(),"GB18030");

⏹或者:

⏹StringtextContent=request.getParameter("boy");

⏹byteb[]=textContent.getBytes("ISO-8859-1");

⏹textContent=newString(b);

⏹(3).设置request的CharacterEncoding属性为GBK或GB2312,可解决表单上传汉字乱码(?

经测试不解决问题)

⏹<%request.setCharacterEncoding("GB2312");

⏹StringfirstName=request.getParameter("firstName");%>

⏹HttpServletRequest还包含用于设置和获取请求属性的两个方法:

⏹–voidsetAttribute(StringattName,ObjectattValue)。

⏹–ObjectgetAttribute(StringattName)。

⏹当forward用户请求时,请求的参数和请求属性都不会丢失

(2)了解response对象和out对象的基本语法与使用(阅读PPT例子)

"response"对象代表的是对客户端的响应,也就是说可以通过"response"对象来组织发送到客户端的数据,需要向客户端发送文字时直接使用"out"对象即可。

是实现javax.servlet.HttpServletResponse接口的类的一个实例

1/理解方法:

*response.setContentType(Stringtype),例子课本example3_9.jsp:

将响应内容保存为Word文档。

response.setContentType("application/msword;charset=GB2312");*

 

response.sendRedirect("example3_11.jsp");重定向

⏹200(OK)

⏹一切正常;随后是文档。

⏹servlet的默认值

⏹204(NoContent)

⏹浏览器应该依旧显示之前的文档。

⏹301(MovedPermanently)

⏹所请求的文档已经被永久性地移到其他地方(在Location中标示出来)。

浏览器自动跳转到新的位置

⏹*302(Found)

⏹所请求的文档被临时性地移往它处(在Location报头中标示)。

⏹浏览器自动跳转到新的位置。

⏹在设定这个报头时,servlet/jsp应该使用sendRedirect,而非setStatus。

参见示例。

⏹401(Unauthorized)需要密码

⏹浏览器试图在没有提供恰当的授权报头的情况下,访问受密码保护的页面。

⏹404(NotFound)

⏹不存在该页面。

Servlet/jsp应该使用sendError来发送这个报头。

⏹问题:

InternetExplorer和小型的(<512KB)错误页面。

默认地,IE忽略错误页面。

*

⏹response.setStatus(408);//请求超时

setError(400

setRediret(300))

3、理解session对象

(1)了解什么是会话session,为什么需要对会话进行管理?

⏹为什么需要会话跟踪?

⏹当客户在在线商店中向他们的购物车中添加商品时,服务器如何才能知道购物车中已经有什么商品了呢?

⏹当客户决定结账时,服务器如何能够确定客户对应之前创建的哪个购物车呢?

⏹session对象是javax.servlet.http.HttpSession的实例,该对象代表一次会话。

一次用户会话的含义是:

从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开为止,这个过程就是一次会话。

⏹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)

⏹session对象的两个常用方法如下:

⏹–setAttribute(StringattName,ObjectattValue):

设置一个session属性。

⏹–getAttribute(StringattName):

返回一个session属性的值。

⏹这里是结帐处,您的姓名以及选择的书籍:

⏹<%

⏹StringpersonName=(String)session.getAttribute("customerName");

⏹out.println("
您的姓名:

"+personName);

⏹EnumerationenumGoods=session.getAttributeNames();

⏹out.println("
购物车中的商品:


");

⏹while(enumGoods.hasMoreElements())

⏹{Stringkey=(String)enumGoods.nextElement();

⏹Stringgoods=(String)session.getAttribute(key);

⏹if(!

(goods.equals(personName)))

⏹out.println(goods+"
");

⏹}

⏹%>

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

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1