版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
10《JavaEE框架设计与开发实践》课后习题参考答案第1章JavaEE概述一、选择题1、D2、B3、A4、C5、A二、填空题1.jsp+javabean,jsp+javabean+servlet2.XML3.服务技术4.EnterpriseJavaBean(EJB),Applet5.J2EE6.表现层、业务逻辑层、数据访问层7.SessionFactory、Transaction、Configuration三、简答题(1)JavaEE是一个标准中间件体系结构(2)JavaEE是企业分布式应用开发标准JavaServlet:是用Java写的一个服务器端小程序,可以处理用户的HTTP请求,返回结果。它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGIPerl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。JavaEE容器(JavaEEContainer):这是部署组装JavaEE组件的地方(也就是应用程序服务器)。它定义了Web容器(包含servlets和JSP),还定义了EJB容器(包含的企业级JavaBean)以及应用客户端容器(运行独立的应用程序)和在浏览器上运行的小程序容器。(1)独立于硬件配置和操作系统(2)坚持面向对象的设计原则(3)灵活性、可移植性和互操作性(4)轻松的企业信息系统集成(1)JavaME:Java平台微型版(2)JavaSE:Java平台标准版(3)JavaEE:Java平台企业版第2章JavaWeb开发概述一、选择题C2.C3.B4.A5.D6.B、填空题不会会静态Web是无法进行数据库操作Mavenweb应用中的/WEB-INF/libLog4JCommonsLoggingSLF4JM(Model)V(View)C(Controller)三、简答题1.GET/POST方法有以下区别:在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTMLHEADER内提交。GET方式提交的数据最多只能有1024字节,而POST则没有此限制。安全性问题。正如在(1)中提到,使用Get的时候,参数会显示在地址栏上,而Post不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用post为好。安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一URL的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说,GET请求一般不应产生副作用。从根本上讲,其目标是当用户打开一个链接时,它可以确信从自身的角度来看没有改变资源。POST表示可能改变服务器上的资源的请求。Web程序开发过程:在传统Web应用程序的开发过程中,开发一个应用系统一般情况下需要以下几个步骤:客户端/服务器端软件的开发、服务器端程序的部署、客户端软件的安装,只有完成这几个步骤,用户才可以通过客户端访问服务器提供的服务。而在基于B/S架构的Web程序大开发过程中,只需要开发服务器端的功能代码,然后把服务器端的程序部署在Web服务器软件中即可,在部署结束之后,启动Web服务器,用户就可以通过浏览器访问Web应用程序提供的服务。3•什么是JDBC?简述其连接过程。JDBC:全称是JavaDatabaseConnectivity,是一个应用程序编成接口(API),包括了许多类和接口,程序员通过使用JDBC可以方便的将SQL语句传送给几乎任何一种数据库。简单地说,JDBC主要完成三件事:与一个数据库建立连接;2)向数据库发送SQL语句;3)处理数据库返回的结果。具体操作步骤如下:向驱动程序管理器加载注册JDBC驱动程序获得特定数据库的连接得到SQL语句容器,并发送SQL语句如果有结果集返回的话,处理结果集关闭数据库连接4.Maven和Ant有什么不同呢?Maven和Ant针对构建问题的两个不同方面。Ant为Java技术开发项目提供跨平台构建任务。Maven本身描述项目的高级方面,它从Ant借用了绝大多数构建任务。因此,由于Maven和Ant代表两个差异很大的工具,Maven是一个项目管理工具,它包含了一个项目对象模型(ProjectObjectModel),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(DependencyManagementSystem),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当使用Maven的时候,用一个明确定义的项目对象模型来描述项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。第3章HTML、JavaScript简介一、选择题D2.D3.C4.D5.B二、填空题1.<html>,</html><head>,</head><body>,</body><title>,</title>标记内的内容按照原格式显示在网页中$(selector).action()三、简答题答:①表格是在同一个网页中将页面划分为不同区域;框架是在同一个浏览器窗口中显示多个网页;框架可以通过指定超链接的目标框架获得交互式的布局效果。2•答:Name表示表单的名称,id表示表单的id标识,action将表单指向一个接收表单信息的程序文件,mothod定义了向服务器处理程序发送表单信息的方法,style定义表单的样式,title定义表单的标题等。答:数字型(Number)整数或实数,如10,177.5,.33e7,-1.2E5逻辑型或布尔型(Boolean),如true或false字符串型(String),如"HelloWorld",T23.4'特殊型,如空型(null)表示空值的特殊关键字答:JSON指的是JavaScript对象表示法(JavaScriptObjectNotation)oJSON是轻量级的文本数据交换格式,和XML一样也是纯文本的,具有独立于语言,自我描述性,更易理解等特点,具有层级结构(值中存在值)可通过JavaScript进行解析数据,可使用AJAX进行传输。JSON使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言。答:其大概开发过程如下:编写业务代码,该代码是和dwr无关的。确认业务代码中哪些类、哪些方法是要由javascript直接访问的。编写dwr组件,对步骤2的方法进行封装。配置dwr组件到dwr.xml文件中,如果有必要,配置convert,进行java和javascript类型互转。通过反射机制,dwr将步骤4的类转换成javascript代码,提供给前台页面调用。编写网页,调用步骤5的javascript中的相关方法(间接调用服务器端的相关类的方法),执行业务逻辑,将执行结果利用回调函数返回。在回调函数中,得到执行结果后,可以继续编写业务逻辑的相关javascript代码。
第4章JSP应用基础一、选择题4.A5.ABCDE9.D10.BA2.D4.A5.ABCDE9.D10.B6.A7.C8.B二、填空题javax.servlet,javax.servlet.http加载阶段,初始化阶段,servlet运行阶段,servlet结束时期jsp+javabean,jsp+javabean+servletweb.xmlHttpservlet三、简答题Servlet是用Java语言编写的运行在服务器端的小应用程序高效、方便、功能强大、可移植性、节省投资JSP指令:include指令、page指令、taglib指令JSP动作:forward动作、include动作、useBean动作JSP的隐含对象:输出对象out、请求对象request、响应对象response、会话对象session、Web服务器对象application四、编程题program.javapackageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassprogramextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html");PrintWriterout=response.getWriter();out.println("<!DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");out.println("<HTML>");out.println("<HEAD><TITLE>AServlet</TITLE></HEAD>");out.println("<BODY>");out.print("Thisisaservletprogram!!");out.println("</BODY>");out.println("</HTML>");out.flush();out.close();}}request.javapackageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassrequestextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{response.setContentType("text/html;charset=GB2312");Stringtitle="计算圆面积和周长";PrintWriterout=response.getWriter();out.println("<html>");out.println("<body>");out.println("<head>");out.println("<title>"+title+"</title>");out.println("</head>");out.println("<body>");out.println("<h3>"+title+"</h3>");Stringradius=request.getParameter("radius");if(radius!=null){floatr=(newFloat(radius)).floatValue();doubles=2*3.14*r;doublearea=3.14*r*r;out.println("圆的周长:"+s+"<br>");out.println("圆的面积:"+area);}else{out.println("您还未提交!");}out.println("<P>");out.println("<formaction='request'method=POST>");out.println(“请你输入圆的半径:<inputtype=textsize=20name=radius>");out.println("<br>");out.println("vinputtype=submitvalue='提交'>");out.println("</form>");out.println("</body>");out.println("</html>");}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{第5章Struts2开发一、选择题A2.C3.C4.BCD5.A6.AD7.B8.C二、填空题webWork、拦截器Struts、WebWorkClass/过滤器类struts2-core、commons-logging、xwork-core、freamarke、ognlPOJO<%@taglibprefix=”s”uri=”strut-tags”%><s:form/>Action、validateable三、简答题1.MVC的全称为model-view-controller(模型-视图-控制器)。MVC是一种发应用程序的模式,这个模式已经具有了很好的框架架构,并且十分容易维护。使用MVC开发出来的应用程序一般包括以下几块内容:控制器(Controller):控制器类处理客户端向Web应用程序发出的请求,获取数据,并指定返回给客户端,用来显示处理结果的视图。模型(Model):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻辑,用来使得这些数据必须符合业务逻辑。视图(View):视图类是Web应用程序中用来生成并显示HTML格式的服务器端对客户端请求的响应结果的模板文件。(1)用户提交自己的请求;(2)由web.xml拦截,转发到action进行处理;(3)Struts.xml根据相应的action配置,调用相应的方法来处理,并根据结果转发到不同的页面。(1)定义自己的拦截器实例,并继承相应的拦截器类;(2)在struts.xml中配置拦截器。使用vinterceptors>声明拦截器,faction〉内以<interceptors-ref>调用拦截器或者使用拦截器;(3)用户发送添加评论的请求,由struts.xml捕获,并交由拦截器处理;(4)拦截器根据定义的方法进行校验,放回相应的执行结果,实现文字屏蔽效果。(1)客户端校验:在客户端用过使用javascript脚本对用户输入的数据进行校验;(2)服务器校验:在服务器端对数据进行校验。(1)加载全局范围资源文件;(2)加载包范围资源文件;(3)加载action范围资源文件;(4)加载临时指定范围内的资源文件。Servlet被服务器实例化后,容器运行其init()方法,请求到达时运行其service()方法,service()方法自动派遣运行与请求对应的doGet、doPost方法等,当服务器决定将实例销毁的时候调用其destroy方法第6章Hibernate基础一、选择题1.A2.D3.D4.B5.DB二、简答题对象关系映射(ObjectRelationalMapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。通常开发过程中,所有Hibernate应用中都会访问Hibernate的5个核心接口:Configuration接口、SessionFatory接口、Session接口、Transaction接口、Query和Criteria接口。Hibernate3Web应用的开发一般经过以下几个步骤:(1)创建数据库。(2)将Hibernate所需的JAR包复制到WEB-INF/lib下。创建Hibernate的配置文件。利用Hibernate的第三方工具或Eclipse的有关插件从数据库中创建出相应的实体对象及其ORM映射文件。创建Hibernate的SessionFactory类。通过SessionFactory创建Session实例。通过创建的Session实例进行持久化对象的管理。通过创建的Transaction实例进行事务管理。通过创建的Query或Criteria实例实现数据库的查询。Hibernate配置文件支持两种形式,一种是xml格式的配置文件,另一种是Java属性文件格式的配置文件,采用“键=值”的形式。建议采用xml格式的配置文件。xml配置文件可以直接对映射文件进行配置,并由Hibernate自动加载,而properties文件则必须在程序中通过编码加载映射文件。方法1:在hibernate.cfg.xml中加入元素vproperty>、vmapping>,放置在类路径(classpath)的根目录下。方法2:创建Java属性文件格式的配置文件,将/r/perties放置放在类路径的根目录下。使用HQL查询按如下步骤进行:获取HibernateSession对象编写HQL语句以HQL语句作为参数,调用Session的createQuery方法创建查询对象如果HQL语句包含参数,则调用Query的setXxx方法为参数赋值调用Query独享的list()或uniqueResult()方法返回查询结果列表update和saveOrUpdate区别:答:这个是比较好理解的,顾名思义,saveOrUpdate基本上就是合成了save和update,而update只是update;引用hibernatereference中的一段话来解释他们的使用场合和区别。通常下面的场景会使用update()或saveOrUpdate():程序在第一个session中加载对象,接着把session关闭;该对象被传递到表现层;对象发生了一些改动;该对象被返回到业务逻辑层最终到持久层;程序创建第二session调用第二个session的update()方法持久这些改动。saveOrUpdate(po)做下面的事:如果该po对象已经在本session中持久化了,在本session中执行saveOrUpdate不做任何事。如果savaOrUpdate(新po)与另一个与本session关联的po对象拥有相同的持久化标识(identifier),抛出一个异常,如下:org.hibernate.NonUniqueObjectException:adifferentobjectwiththesameidentifiervaluewasalreadyassociatedwiththesession:[org.itfuture.www.po.Xtyhb#5]saveOrUpdate如果对象没有持久化标识(identifier/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版高中物理必修一第三章第四节力的合成教学设计
- 高中数学 第一章 三角函数 1.4 三角函数的图象与性质教学设计 新人教A版必修4
- 青春有我 邪不压正(教学设计)初三下学期教育主题班会
- 新教材高中物理 第七章 4 宇宙航行(2)教学设计 新人教版必修2
- 云南省昆明市黄冈实验学校高一数学:必修四 1.5函数y=Asin(ωx+)的图象教学设计
- 口语交际:辩论(教学设计)九年级语文下册同步高效课堂(统编版)
- 九年级化学下册 第七单元 常见的酸和碱 第一节 酸及其性质第1课时 常见的酸 酸的物理性质教案(新版)鲁教版
- 七年级生物下册 12.1人体的激素调节教学设计 (新版)苏教版
- 项目九 实现查找指定商品-查找算法的应用及数据结构的选择教学设计高中信息技术沪科版2019选择性必修1 数据与数据结构-沪科版2019
- 武术防身术 教学设计-2025-2026学年高一上学期体育与健康人教版必修第一册
- 企业新媒体矩阵从0到1运营SOP工SOP
- 2026年花艺师高级工模拟试卷及参考答案
- GB 28480-2026首饰安全技术要求
- 2026医师定期考核试题及答案
- 神经内科良性位置性眩晕复位操作规范
- 旋风除尘器设计计算大纲 (详细)
- 2025-2030中国生物聚乳酸(PLA)市场运行监测与投资动态分析研究报告
- 质粒构建的原理及技术
- 连续性生产车间管理制度
- 运维工程师年度工作述职报告
- 客运行业消防安全培训课件
评论
0/150
提交评论