JavaEE架构设计与开发实践一书课后习题答案_第1页
JavaEE架构设计与开发实践一书课后习题答案_第2页
JavaEE架构设计与开发实践一书课后习题答案_第3页
JavaEE架构设计与开发实践一书课后习题答案_第4页
JavaEE架构设计与开发实践一书课后习题答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java EE架构设计与开发实践一书课后习题答案Java EE 框架设计与开发实践课后习题参考答案第 1 章 Java EE 概述一、选择题1、D2、B3、A4、 C5、A二、填空题1 jsp+javabean , jsp+javabean+servlet2XML3服务技术4 Enterprise JavaBean( EJB) , Applet5J2EE6表现层、业务逻辑层、数据访问层7SessionFactory、Transaction 、 Configuration三、简答题1( 1) Java EE是一个标准中间件体系结构( 2) Java EE是企业分布式应用开发标准2Java Ser

2、vlet:是用 Java写的一个服务器端小程序,可以处理用户的HTTP 请求,返回结果。它扩展了 Web 服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和 CGI Perl 脚本很相似。 Servlet 提供的功能大多与 JSP类似,不过实现的方式不同。 JSP通常 是大多数 HTML 代码中嵌入少量的 Java代码,而 servlets全部由 Java写成并且生成 HTML 。3 Java EE容器( Java EE Container ):这是部署组装 Java EE 组件的地方(也就是应用程 序服务器)。它定义了 Web 容器(包含 servlets 和 JSP),还定义了

3、 EJB 容器(包含的企业级 Java Bean)以及应用客户端容器(运行独立的应用程序)和在浏览器上运行的小程序容器。4( 1)独立于硬件配置和操作系统 (2)坚持面向对象的设计原则 (3)灵活性、 可移植性 和互操作性( 4)轻松的企业信息系统集成5 (1)Java ME:Java平台微型版 (2)Java SE:Java平台标准版( 3)Java EE:Java平台 企业版第 2 章 Java Web 开发概述一、选择题1. C 2.C 3.B 4.A 5.D 6.B、填空题1. 不会 会2. 静态 Web 是无法进行数据库操作3. Maven4. web 应用中的 /WEB-INF /

4、lib5. Log4J Commons Logging SLF4J6. M(Model) V(View) C(Controller)三、简答题1. GET/POST 方法有以下区别:(1)在客户端, Get方式在通过 URL 提交数据,数据在 URL 中可以看到; POST方式, 数据放置在 HTML HEADER 内提交。(2)GET 方式提交的数据最多只能有 1024字节,而 POST则没有此限制。( 3)安全性问题。正如在( 1)中提到,使用 Get 的时候,参数会显示在地址栏上, 而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用get ;如果用户输入的数据不是

5、中文字符而且包含敏感数据,那么还是使用post为好。(4)安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。幂等的 意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。 换句话说, GET 请求一般不应产生副作用。 从根本上讲, 其目标是当用户打开一个链接时, 它可以确信从自身的角度来看没有改变资源。 POST 表示可能改变服务器上的资源的请求。2. Web程序开发过程:在传统 Web 应用程序的开发过程中, 开发一个应用系统一般情况下需要以下几个步骤: 客户端 /服务器端软件的开发、服务器端程序的部署、客户端软件的安装,只有完成这几个 步骤,用户

6、才可以通过客户端访问服务器提供的服务。而在基于 B/S 架构的 Web 程序大开发过程中,只需要开发服务器端的功能代码,然后 把服务器端的程序部署在 Web 服务器软件中即可,在部署结束之后,启动 Web 服务器,用 户就可以通过浏览器访问 Web 应用程序提供的服务。3. 什么是 JDBC ?简述其连接过程。JDBC :全称是 Java Database Connectivity,是一个应用程序编成接口( API ),包括了许 多类和接口,程序员通过使用 JDBC 可以方便的将 SQL 语句传送给几乎任何一种数据库。简单地说, JDBC 主要完成三件事:1)与一个数据库建立连接; 2)向数据

7、库发送 SQL 语句; 3)处理数据库返回的结果。 具体 操作步骤如下:向驱动程序管理器加载注册 JDBC 驱动程序获得特定数据库的连接得到 SQL 语句容器,并发送 SQL 语句如果有结果集返回的话,处理结果集关闭数据库连接4. Maven 和 Ant 有什么不同呢?Maven 和 Ant 针对构建问题的两个不同方面。 Ant 为 Java 技术开发项目提供跨平台 构建任务。 Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此, 由于 Maven 和 Ant代表两个差异很大的工具, Maven 是一个项目管理工具, 它包含了一个 项目对象模型( Project O

8、bject Model ),一组标准集合,一个项目生命周期 (Project Lifecycle ), 一个依赖管理系统( Dependency Management System),和用来运行定义在生命周期阶段 (phase)中插件( plugin )目标( goal)的逻辑。 当使用 Maven的时候, 用一个明确定义的项 目对象模型来描述项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者 自定义的)插件。第 3章 HTML 、JavaScript 简介、选择题1.D 2.D3.C 4.D 5.B、填空题1 <html> , </html>2.

9、 <head>, </head>3. <body>, </body>4. <title>, </title>5. 标记内的内容按照原格式显示在网页中6. $(selector).action()三、简答题1. 答:表格是在同一个网页中将页面划分为不同区域;框架是在同一个浏览器窗口中显示多个网页;框架可以通过指定超链接的目标框架获得交互式的布局效果。2. 答: Name 表示表单的名称, id 表示表单的 id 标识, action 将表单指向一个接收表单 信息的程序文件, mothod 定义了向服务器处理程序发送表单信息的

10、方法,style 定义表单的样式, title 定义表单的标题等。3. 答:数字型 (Number) 整数或实数,如10 , 177.5 , .33e7,-1.2E5 逻辑型或布尔型 (Boolean) ,如 true 或 false 字符串型 (String) ,如 “ HelloWorld ”, 123.4特'殊型,如空型 (null) 表示空值的特殊关键字4. 答: JSON 指的是 JavaScript 对象表示法( JavaScript Object Notation )。JSON 是轻 量级的文本数据交换格式,和 XML 一样也是纯文本的,具有独立于语言,自我描述性,更 易

11、理解等特点, 具有层级结构(值中存在值) 可通过 JavaScript 进行解析数据, 可使用 AJAX 进行传输。 JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平 台。 JSON 解析器和 JSON 库支持许多不同的编程语言。5. 答: 其大概开发过程如下:1) 编写业务代码,该代码是和 dwr 无关的。2) 确认业务代码中哪些类、哪些方法是要由 javascript 直接访问的。3) 编写 dwr 组件,对步骤 2 的方法进行封装。4) 配置 dwr 组件到 dwr.xml 文件中,如果有必要,配置 convert ,进行 java 和 jav

12、ascript 类型互转。5) 通过反射机制, dwr 将步骤 4 的类转换成 javascript 代码,提供给前台页面调用。6) 编写网页,调用步骤 5 的 javascript 中的相关方法(间接调用服务器端的相关类的方 法),执行业务逻辑,将执行结果利用回调函数返回。7) 在回调函数中,得到执行结果后,可以继续编写业务逻辑的相关 javascript 代码。第4章JSP应用基础一、选择题1.A2. D 3. C4. A5.ABCDE6. A7 .C8.B9.D10.B二、填空题1. javax.servlet , javax.servlet.http2. 加载阶段,初始化阶段, ser

13、vlet 运行阶段, servlet 结束时期3. jsp+javabean, jsp+javabean+servlet4. web.xml5. Httpservlet三、简答题1. Servlet 是用 Java 语言编写的运行在服务器端的小应用程序2. 高效、方便、功能强大、可移植性、节省投资3. JSP指令: include 指令、 page指令、 taglib 指令JSP 动作: forward 动作、 include 动作、 useBean动作JSP 的隐含对象:输出对象 out 、请求对象 request、 响应对象 response、会话对象 session、 Web 服务器对象

14、 application四、编程题1. program.java package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class program ex

15、tends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType("text/html"); PrintWriter out = response.getWriter();out.println("<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/E

16、N">");out.println("<HTML>");out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");out.println(" <BODY>");out.print("This is a servlet program!");out.println(" </BODY>"); out.println("</HT

17、ML>");out.flush(); out.close(); 2. request.java package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

18、public class request extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException response.setContentType("text/html;charset=GB2312"); String title=" 计算圆面积和周长 "PrintWriter out = response.getWriter(); out.prin

19、tln("<html>"); out.println("<body>"); out.println("<head>");out.println("<title>" + title + "</title>"); out.println("</head>"); out.println("<body>");out.println("<h3>" +

20、title + "</h3>");String radius = request.getParameter("radius"); if (radius != null)float r=(new Float(radius).floatValue(); double s=2*3.14*r; double area=3.14*r*r;out.println(" 圆的周长: " +s+ "<br>"); out.println(" 圆的面积: " +area);elseout.p

21、rintln(" 您还未提交! ");out.println("<P>");out.println("<form action='request' method=POST>");out.println(" 请你输入圆的半径: <input type=text size=20 name=radius>"); out.println("<br>");out.println("<input type=submit valu

22、e=' 提交 '>");out.println("</form>");out.println("</body>"); out.println("</html>");public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletExceptiondoGet(request, response);第5章 Struts2 开发一、选择

23、题1.A2.C 3.C 4.BCD5. A 6.AD 7.B8.C二、填空题1.webWork 、 拦截器2.Struts、 WebWork3.Class/过滤器类4.struts2-core、 commons-logging 、 xwork-core 、 freamarke、 ognl5.POJO6.<% taglib prefix= ”s” uri= ” strut-tags” %>7.<s:form/>8.Action 、 validateable三、简答题1. MVC 的全称为 model-view-controller( 模型 -视图 -控制器 )。MVC 是

24、一种发应用程序的模 式,这个模式已经具有了很好的框架架构,并且十分容易维护。使用 MVC 开发出来的应用 程序一般包括以下几块内容:控制器 (Controller) :控制器类处理客户端向 Web 应用程序发出的请求,获取数据,并指 定返回给客户端,用来显示处理结果的视图。模型( Model ):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻辑, 用来使得这些数据必须符合业务逻辑。视图( View ):视图类是 Web 应用程序中用来生成并显示 HTML 格式的服务器端对客户 端请求的响应结果的模板文件。2. ( 1)用户提交自己的请求;( 2)由 web.xml 拦截,转发到 a

25、ction 进行处理;( 3) Struts.xml 根据相应的 action 配置,调用相应的方法来处理,并根据结果转发到不 同的页面。3. ( 1)定义自己的拦截器实例,并继承相应的拦截器类;(2)在 struts.xml 中配置拦截器。使用 <interceptors>声明拦截器,在 <action>内以<interceptors-ref> 调用拦截器或者使用拦 截器; ( 3)用户发送添加评论的请求,由 struts.xml 捕获,并交由拦截器处理;( 4)拦截 器根据定义的方法进行校验,放回相应的执行结果,实现文字屏蔽效果。4. (1)客户端校验:

26、在客户端用过使用javascript 脚本对用户输入的数据进行校验;(2)服务器校验:在服务器端对数据进行校验。5. ( 1)加载全局范围资源文件; ( 2)加载包范围资源文件 ;( 3)加载 action 范围资源 文件;( 4)加载临时指定范围内的资源文件。6. Servlet 被服务器实例化后,容器运行其 init() 方法,请求到达时运行其 service() 方法,service()方法自动派遣运行与请求对应的doGet、 doPost 方法等,当服务器决定将实例销毁Hibernate 基础的时候调用其destroy 方法第6章一、选择题1.A2.D 3.D4.B5.DB二、简答题1

27、. 对象关系映射( Object Relational Mapping ,简称 ORM )是一种为了解决面向对象与 关系数据库存在的互不匹配的现象的技术。 简单的说, ORM 是通过使用描述对象和数据库 之间映射的元数据,将 java 程序中的对象自动持久化到关系数据库中。本质上就是将数据 从一种形式转换到另外一种形式。2. 通常开发过程中,所有 Hibernate 应用中都会访问 Hibernate 的 5 个核心接口: Configuration 接口、 SessionFatory 接口、 Session接口、 Transaction 接口、 Query 和 Criteria 接口。3.

28、Hibernate 3 Web 应用的开发一般经过以下几个步骤:(1)创建数据库。( 2)将 Hibernate 所需的 JAR 包复制到 WEB-INF/lib 下。( 3)创建 Hibernate 的配置文件。( 4)利用 Hibernate 的第三方工具或 Eclipse 的有关插件从数据库中创建出相应的实体 对象及其 ORM 映射文件。( 5)创建 Hibernate 的 SessionFactory 类。( 6)通过 SessionFactory 创建 Session 实例。(7)通过创建的 Session 实例进行持久化对象的管理。( 8)通过创建的 Transaction 实例进

29、行事务管理。( 9)通过创建的 Query 或 Criteria 实例实现数据库的查询。4. Hibernate 配置文件支持两种形式,一种是 xml 格式的配置文件,另一种是 Java 属 性文件格式的配置文件,采用“键 =值”的形式。建议采用 xml 格式的配置文件。 xml 配置 文件可以直接对映射文件进行配置, 并由 Hibernate 自动加载, 而 properties 文件则必须在程 序中通过编码加载映射文件。方法 1:在 hibernate.cfg.xml 中加入元素 <property> 、 <mapping> ,放置在类路径 (classpath)的

30、根目录下。方法 2:创建 Java 属性文件格式的配置文件, 将 perties 放置放在类路径的 根目录下。5. 使用 HQL 查询按如下步骤进行:1) 获取 Hibernate Session 对象2) 编写 HQL 语句3) 以 HQL 语句作为参数,调用 Session 的 createQuery 方法创建查询对象4) 如果 HQL 语句包含参数,则调用 Query 的 setXxx 方法为参数赋值5) 调用 Query 独享的 list()或 uniqueResult() 方法返回查询结果列表6. update 和 saveOrUpdate 区别:答:这个是

31、比较好理解的,顾名思义, saveOrUpdate 基本上就是合成了 save 和 update, 而 update 只是 update;引用 hibernate reference 中的一段话来解释他们的使用场合和区别。通常下面的场景会使用 update()或 saveOrUpdate():程序在第一个 session中加载对象 ,接着把 session 关闭; 该对象被传递到表现层; 对象发 生了一些改动;该对象被返回到业务逻辑层最终到持久层;程序创建第二 session 调用第二 个 session 的 update() 方法持久这些改动。saveOrUpdate(po)做下面的事:如果该 po 对象已经在本 session中持久化了,在本 session中执行 saveOrUpdate 不做任 何事。如果 savaOrUpdate(新 po)与另一个与本 session 关联的 po 对象拥有相同的持久化标识 (identifier) ,抛出一个异常,如下:org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: or

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论