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

付费下载

下载本文档

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

文档简介

1、JavaEE框架设计与开发实践课后习题参考答案第1章JavaEE概述一、选择题1、D2、B3、A4、C5、A二、填空题1jsp+javabean,jsp+javabean+servlet2. XML3. 服务技术4EnteipriseJavaBean(EJB),Applet5. J2EE6. 表现层、业务逻辑层、数据访问层7SessionFactory、Transaction、Configuration三、简答题1. (1)JavaEE是一个标准中间件体系结构(2)JavaEE是企业分布式应用开发标准2. JavaSeivlet:是用Java写的一个服务器端小程序,可以处理用户的HTTP请求,

2、返回结果。它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGIPerl脚本很相似。Seivlet提供的功能人多与JSP类似,不过实现的方式不同。JSP通常是人多数HTML代码中嵌入少量的Java代码,而seivlets全部由Java写成并且生成HTML。3JavaEE容器(JavaEEContainer):这是部署组装JavaEE组件的地方(也就是应用程序服务器)。它定义了Web容器(包含seivlets和JSP),还定义了EJB容器(包含的企业级JavaBean)以及应用客户端容器(运行独立的应用程序)和在浏览器上运行的小程序容器。4. (1)独立于硕件配置和操

3、作系统(2)坚持面向对彖的设计原则(3)灵活性、可移植性和互操作性(4)轻松的企业信息系统集成5(l)JavaME:Java平台微型版(2)JavaSE:Java平台标准版(3)JavaEE:Java平台企业版第2章JavaWeb开发概述一、选择题l. C2.C3.B4.A5.D6.B二、填空题1. 不会会2. 静态Web是无法进行数据库操作3. Maven4. web应用中的MTB-INF/lib5. Log4JConmionsLoggingSLF4J6. M(Model)V(View)C(Controller)三、简答题1. GET,POST方法有以下区别:(1)在客户端,Get方式在通过

4、URL提交数据,数据在URL中可以看到:POST方式,数据放置在HTMLHEADER内提交。(2)GET方式提交的数据最多只能有1024字节,而POST则没有此限制。(3)安全性问题。正如在(1)中提到,使用Get的时候,参数会显示在地址栏上,而Post不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用get:如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用post为好。(4)安全的和幕等的。所谓安全的意味着该操作用于获取信息而非修改信息。幕等的意味着对同一URL的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说,GET请求一般不应产生副作用。从根本上

5、讲,其目标是当用户打开一个链接时,它可以确信从自身的角度来看没有改变资源。POST表示可能改变服务器上的资源的请求。2. Web程序开发过程:在传统Web应用程序的开发过程中,开发一个应用系统一般情况下需要以卞几个步骤:客户端/服务器端软件的开发、服务器端程序的部署、客户端软件的安装,只冇完成这几个步骤,用户才可以通过客户端访问服务器提供的服务。而在基于B/S架构的Web程序人开发过程中,只需要开发服务器端的功能代码,然后把服务器端的程序部署在Web服务器软件中即可,在部署结束之后,启动Web服务器,用户就可以通过浏览器访问Web应用程序提供的服务。3. 什么是JDBC?简述其连接过程。JDB

6、C:全称是JavaDatabaseConnectivity,是一个应用程序编成接II(API),包括了许多类和接II,程序员通过使用JDBC可以方便的将SQL语句传送给几乎任何一种数据库。简单地说,JDBC主要完成三件爭:1)与一个数据库建立连接;2)向数据库发送SQL语句;3)处理数据库返回的结果。具体操作步骤如下:向驱动程序管理器加载注册JDBC驱动程序获得特定数据库的连接得到SQL语句容器,并发送SQL语句如果有结果集返回的话,处理结果集关闭数据库连接4. Maven和Ant有什么不同呢?Maven和Aiit针对构建问题的两个不同方面。Ant为Java技术开发项目提供跨平台构建任务。Ma

7、ven本身描述项目的高级方面,它从Aiit借用了绝人多数构建任务。因此,由于Maven和Ant代表两个差异很人的工具,Maven是一个项目管理工具,它包含了一,个项目对彖模型(ProjectObjectModel),组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(DependencyManagementSystem),和用来运行定义在生命周期阶段(phase)中插件(plugm)目标(goal)的逻辑。当使用Maven的时候,用一个明确定义的项目对象模型来描述项目,然后MavennJ以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。第3章HTML

8、、JavaScript简介一、选择题ID2.D3.C4.D5.B二、填空题1. ,2. ,3. ,4. ,5. 标记内的内容按照原格式显示在网页中6. S(selector).action()三、简答题1答:表格是在同一个网页中将页面划分为不同区域; 框架是在同一个浏览器窗口中显示多个网页; 框架可以通过指定超链接的目标框架获得交互式的布局效果。2. 答:Name表示表单的名称,id表示表单的id标识action将表单指向一个接收表单信息的程序文件,mothod定义了向服务器处理程序发送表单信息的方法,style定义表单的样式,title定义表单的标题等。3. 答:数字型(Number)整数或

9、实数,如110,177.5,.33e7,-1.2E5逻辑型或布尔型(Boolean),如true或false字符串型(Stniig),如“HelloWorld”123特姝型,如空型(null)表示空值的特殊关键字4. 答:JSON指的是JavaScript对彖表示法(JavaScnptObjectNotation)oJSON是轻量级的文本数据交换格式,和XML样也是纯文本的,具有独立于语言,自我描述性,更易理解等特点,具有层级结构(值中存在值)町通过JavaScnpt进行解析数据,可使用AJAX进行传输。JSON使用JavaScnpt语法来描述数据对象,但是JSON仍然独立于语言和平台。JSO

10、N解析器和JSON库支持许多不同的编程语言。5. 答:其大概开发过程如下:1) 编写业务代码,该代码是和dwr无关的。2) 确认业务代码中哪些类、哪些方法是要由javascript直接访问的。3) 编写dwr组件,对步骤2的方法进行封装。4) 配置dwr组件到dwr.xml文件中,如果有必要,配置convert,进行java和javascript类型互转。5) 通过反射机制,dvr将步骤4的类转换成javascript代码,提供给前台页面调用。6) 编写网页,调用步骤5的javascript中的相关方法(间接调用服务器端的相关类的方法),执行业务逻辑,将执行结果利用回调函数返回。7) 在回调函

11、数中,得到执行结果后,可以继续编写业务逻辑的相关javascnpt代码。第4章JSP应用基础一、选择题4.A5.ABCDE9.D10.B1. A2.D3.C6. A7.C8.B填空题1javax.seivlettjavax.sen4et.http2. 加载阶段,初始化阶段,servlet运行阶段,servlet结束时期3jsp+javabean,jsp力avabean+servlet4. web.xinl5. Httpseivlet三、简答题1. Servlet是用Java语言编写的运行在服务器端的小应用程序2. 高效、方便、功能强人、可移植性、节省投资3JSP指令:include指令、pag

12、e指令、taglib指令JSP动作:fbrward动作、nichuie动作、useBean动作JSP的隐含对彖:输出对象out、请求对彖request、响应对象response会话对彖session、Web服务器对application四、编程题1. program.javapackagesen-let;importjava.io.IOException;importjava.io.Printwriter;importjavax.seivlet.SeivletException;importjavax.seivlet.http.HttpSeivlet;importjavax.seivlet.h

13、ttp.HttpSeivletRequest;importjavax.seivlet.http.HttpSeivletResponse;publicclassprogramextendsHttpSeivletpublicvoiddoGet(HttpSerletRequestrequest,HttpSenletResponseresponse)tlirowsSendetException,IOExceptionresponse.setContentType(Htext/htnilH);PnntWnterout=response.getWriterO;out.pnntln(y!DOCTYPEHTM

14、LPUBLIC”J/W3C/DTDHTML4.01TransitionaL7EKnH);out.pniitlii(nH);out.pniitlii(HVHEADXTITLEAServletVTITLEvZHEAD”);out.pniitlii(Hn);out.pniit(MThisisaseivletprogram!1H);out.pnntlnCn);out.piiiitlii(nn);out.flushO;out.closeO;2. request.javapackageservlet;importjava.10.IOException;importjava.10.Printwriter;i

15、mportjavax.seivlet.SeivletException;importjavax.seivlet.http.HttpSeivlet;importjavax.seivlet.http.HttpSeivletRequest;importjavax.seivlet.http.HttpSeivletResponse;publicclassrequestextendsHttpSeivletpublicvoiddoGet(HttpSeivletRequestrequest,HttpSeivletResponseresponse)thi-owsIOException,SeivletExcept

16、ionresponse.setContentT3pe(Htext,litnil;charset=GB2312n);Stmigtitle=H计算圆面枳和周长;PnntWnterout=response.getWritei*O:out.pimtlii(,H);out.pniitlii(nn);out.pniitlii(nH);out.pniitln(Hn+title+nn);out.pimtlii(,n);out.pniitlii(nn);out.pniitlii(,H+title+”“);Stmigradius=request.getParameter(Hradiusn);if(radnis!=

17、null)floatr=(newFloat(radius)floatsalue();doubles=2*3.14*r;doublearea=3.14*r*r;out.println(H圆的周长:11+s+Hn);out.pniitln(H圆的面积:”+area);elseout.prmtln(H您还未提交!”);OUt.plllltlll(Hn);out.pimtlii(,n);out.pnntlnC请你输入圆的半径:M);out.pniitlii(,n);out.pimtlii(,mputtype=submitvalue=*提交A”);out.pmitlii(,n);out.pniitlii

18、(,n);out.pniitln(Mn);publicvoiddoPost(HttpSeivletRequestrequest,HttpSeivletResponseresponse)thi-owsIOException,SeivletExceptiondoGet(request,response);第5章Struts2JF发一、选择题l. A2.C3.C4.BCD5.A6.AD7.B8.C二、填空题1. webWork、拦截器2Stmts、WebWork3. Class/过滤器类4. stiuts2-mons-loggingxwork-corefreainarkeogiil5. POJO6.

19、 v%taglibprefix=sun=Mstint-tagsv%7. 8Action、validateable三、简答题l. MVC的全称为model-view-contioller(模型-视图-控制器)MVC是一种发应用程序的模式,这个模式已经具有了很好的框架架构,并且十分容易维护。使用MVC开发出来的应用程序一般包括以下几块内容:控制器(Contiollei):控制器类处理客户端向Web应用程序发岀的请求,获取数据,并指定返回给客户端,用来显示处理结果的视图。模型(Model):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻辑,用来使得这些数据必须符合业务逻辑。视图(View

20、):视图类是Web应用程序中用来生成并显示HTML格式的服务器端对客户端请求的响应结果的模板文件。2. (1)用户提交自己的请求;(2)由web.xml拦截,转发到action进行处理;(3)Sgts.xml根据相应的action配置,调用相应的方法来处理,并根据结果转发到不同的页面。3. (1)定义自己的拦截器实例,并继承相应的拦截器类;(2)在stmts-xiiil中配置拦截器。使用interceptors声明拦截器,在action内以mterceptois-ref调用拦截器或者使用拦截器;(3)用户发送添加评论的请求,由stnits.xiiil捕获,并交由拦截器处理;(4)拦截器根据定义

21、的方法进行校验,放回相应的执行结果,实现文字屏蔽效果。4. (1)客户端校验:在客户端用过使用javascript脚本对用户输入的数据进行校验;(2)服务器校验:在服务器端对数据进行校验。5. (1)加载全局范I制资源文件;(2)加载包范|制资源文件;(3)加载action范闱资源文件;(4)加载临时指定范围内的资源文件。6. Servlet被服务器实例化后,容器运行其nut()方法,请求到达时运行其service()方法,service。方法自动派遣运行与请求对应的doGet、doPost方法等,当服务器决定将实例销毁的时候调用其destroy方法第6章Hibernate基础一、选择题l.A

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

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

24、询。4. Hibernate配置文件支持两种形式,一种是xml格式的配置文件,另一种是Java属性文件格式的配置文件,采用“键=值”的形式。建议采用xml格式的配置文件。xml配置文件可以直接对映射文件进行配置,并由Hibemate自动加载,而properties文件则必须在程序中通过编码加载映射文件。方法1:在hibemate.cfg.xml中加入元素.,放置在类路径(classpath)的根目录下。方法2:创建Java属性文件格式的配置文件,将lubeniate.piopeities放置放在类路径的根目录下。5使用HQL查询按如下步骤进行:1) 获取HibernateSession对彖2)

25、 编写HQL语句3) 以HQL语句作为参数,调用Session的cieateQueiy方法创建查询对彖4) 如果HQL语句包含参数,则调用Query的setXxx方法为参数赋值5) 调用Queiy独享的list()或uniqueResult()方法返回查询结果列表6. update和saveOrUpdate区别:答:这个是比较好理解的,顾名思义,saveOrUpdate基本上就是合成了save和update,而update只是update;引用hibernatereference中的一段话来解释他们的使用场合和区别。通常下面的场景会使用updateO或saveOrUpdate():程序在第一个

26、session中加载对彖,接着把session关闭:该对象被传递到表现层;对彖发生了一些改动:该对象被返回到业务逻辑层最终到持久层;程序创建第二session调用第二个session的update()方法持久这些改动。saveOrUpdate(po)做卜面的事:如果该po对象已经在本session中持久化了,在本session中执行saveOrUpdate不做任何事。如果savaOrUpdate(新po)与另一个与本session关联的po对象拥有相同的持久化标识(identifier),抛出一个异常,如下:org.lubeniate.NonUniqueObjectException:adifferentobjectwiththesameidentifiervaluewasalreadyassociatedwiththesession:org.itfuture.www.po.Xtyhb#习saveOrUpdate如果对彖没有持久化标识(identifier)属

温馨提示

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

评论

0/150

提交评论