北京工业大学软件学院本科生J2EE与中间件技术考试模拟试题 - 评分标准及参考答案
- 格式:doc
- 大小:721.50 KB
- 文档页数:29
xx年J2EE认证测试题及答案J2EE: 和信息技术的快速开展以及对它们的需求给应用程序开发人员带来了新的压力。
必须以比以前更少的金钱、更少的资源来更快地设计、开发企业应用程序。
那么关于J2EE认证考试你通过了吗?下面为大家分享的是J2EE认证测试题及答案,希望对大家有所帮助!1、面向对象的特征有哪些方面1. 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。
抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
面向对象计算始于这个根本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。
多态性包括参数化多态性和包含多态性。
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
2、String是最根本的数据类型吗?根本数据类型包括byte、int、char、long、float、double、boolean和short。
ng.String类是final类型的,因此不可以继承这个类、不能修改这个类。
为了提高效率节省空间,我们应该用StringBuffer类3、int 和 Integer 有什么区别Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。
Int是java的原始数据类型,Integer是java为int提供的封装类。
xx年J2EE笔试题及答案J2EE组件和"标准的" Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE标准,由J2EE效劳器对其进展管理。
下面为大家了关于j2ee的笔试题,希望对你有所帮助。
ng.Thread (T)ng.Number (T)ng.Double (F)ng.Math (F)ng.Void (F)ng.Class (F)ng.ClassLoader (T)(1)接口可以被多重implements,抽象类只能被单一extends(2)接口只有定义,抽象类可以有定义和实现(3)接口的字段定义默认为:public static final,抽象类是"friendly"(本包可见)HashTable的原理:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此值解释为该节点的存储地址.HashMap是Hashtable的轻量级实现(非线程平安的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程平安,效率上可能高于Hashtable。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
forward: an internal transfer in servletredirect: 重定向,有2次request,第2次request将丧失第一次的attributs/parameters等HashMap与Hashtable很相似,但HashMap是非同步(unsynchronizded)和可以以null为关键码的.实现J2EE标准中web协议的应用.该协议定义了web程序的运行时环境,包括:并发性,平安性,生命周期管理等等.(1)JNDI:Java Naming & Directory Interface,JAVA命名目录效劳.主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能.(2)JMS:Java Message Service,JAVA消息效劳.主要实现各个应用程序之间的通讯.包括点对点和播送.(3)JTA:Java Transaction API,JAVA事务效劳.提供各种分布式事务效劳.应用程序只需调用其提供的接口即可.(4)JAF: Java Action FrameWork,JAVA平安认证框架.提供一些平安控制方面的框架.让开发者通过各种部署和自定义实现自己的个性平安控制策略.(5)RMI:Remote Method Interface,远程方法调用EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现.SessionBean在J2EE应用程序中被用来完成一些效劳器端的业务操作,例如访问数据库、调用其他EJB组件.EntityBean被用来代表应用系统中用到的数据.对于客户机,SessionBean是一种非持久性对象,它实现某些在效劳器上运行的业务逻辑;EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体.Session Bean还可细分为Stateful Session Bean与Stateless Session Bean.这两种的Session Bean都可以将系统逻辑放在method之中执行,不同的是 Stateful Session Bean可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的Stateful Session Bean的实体.Stateless Session Bean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫Stateless Session Bean 的时候,EJB Container并不会找寻特定的Stateless Session Bean的实体来执行这个method.换言之,很可能数个使用者在执行某个Stateless Session Bean的methods时,会是同一个Bean的Instance在执行.从内存方面来看,Stateful Session Bean与Stateless Session Bean比较,Stateful Session Bean会消耗 J2EE Server 较多的内存,然而Stateful Session Bean的优势却在于他可以维持使用者的状态.Sax,DOM,JDOMWeb Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
j2ee考试题及答案ejb1. 什么是EJB(Enterprise JavaBeans)?EJB是一种服务器端组件架构,用于开发和部署多层结构的、分布式的、面向对象的Java应用程序。
EJB组件提供了一种结构化的方法来创建可重用的、可伸缩的和事务性的业务逻辑。
2. EJB有哪些类型?EJB主要有三种类型:会话Bean(Session Beans)、实体Bean(Entity Beans)和消息驱动Bean(Message-Driven Beans)。
3. 会话Bean(Session Beans)的作用是什么?会话Bean代表与客户端的短暂交互,它们通常用于实现应用程序的业务逻辑,但不保存数据。
会话Bean可以是无状态的(Stateless)或有状态的(Stateful)。
4. 实体Bean(Entity Beans)和会话Bean(Session Beans)有什么区别?实体Bean代表业务实体,通常与数据库中的持久数据相关联,而会话Bean代表与客户端的短暂交互,不直接与持久数据关联。
5. 消息驱动Bean(Message-Driven Beans)的主要功能是什么?消息驱动Bean是一种特殊的EJB,用于处理来自消息队列的消息。
它们是无状态的,并且可以异步处理消息,这使得它们非常适合处理大量消息。
6. EJB容器提供哪些服务?EJB容器提供多种服务,包括事务管理、安全性、持久性、生命周期管理、并发控制和资源池。
7. EJB的事务属性有哪些?EJB的事务属性包括:Required、RequiresNew、Mandatory、Never、NotSupported和Supports。
8. 如何在EJB中处理异常?在EJB中,可以通过声明异常(declarative exception handling)和编程异常(programmatic exception handling)两种方式来处理异常。
J2EE与中间件复习题《J2EE与中间件》复习题哈尔滨工程大学092011,2012一、选择题1. 在HTTP 响应中,状态代码404 表示:A. 服务器无法找到请求指定的资源B. 请求消息中存在语法错误C. 请求需要通过身份验证和/或授权D. 服务器理解客户的请求,但由于客户权限不够而拒绝处理答案:A2. 已知Tomcat的安装目录为“D:\T omcat406\”。
MyFirstWeb.WAR是一个打包好的JAVA Web应用程序。
为了将其部署到该T omcat 服务器,应该将该WAR文件拷贝到:A. D:\Tomcat406\binB. D:\Tomcat406\serverC. D:\Tomcat406\webappsD. D:\Tomcat406\commonE. D:\Tomcat406\war答案:C3. 在Tomcat 服务器中,一个Servlet实例在_____创建。
A. Tomcat 服务器启动时B. 客户浏览器向Tomcat 申请访问该Servlet 时C. 在JBuilder成功编译包含该Servlet 的Web 应用工程后D. 在将包含该Servlet的Web 应用工程部署到T omcat服务器后答案:A4. 在J2SE 规范中,Servlet类的实例化是由_____完成的。
A. Servlet 容器B. Web 服务器的HTTP 引擎C. 浏览器D. JAVA 编译器答案:A5. 类MyServlet 是我们编写的一个HttpServlet。
在MyServlet 中重载的doGet 方法如下所示:public void doGet(HttpServletRequest request, HttpServletResponse response)throws ……{response.getWriter().println("this is my first servlet");response.getWriter().println("hello world");}在浏览器中浏览该Servlet,结果为:A. 编译错误B. 浏览器页面输出为空C. 浏览器中输出1 行:this is my first servlet hello worldD. 浏览器中输出2 行:this is my first servlethello world答案:C6. servlet可通过由容器传递来的HttpServletRequest对象的_____方法来获取客户请求的输入参数。
J2EEWeb考试试题及答案1、JSP技术是一种在WEB应用中开发动态交互性网页的技术,请阐述一下JSP技术的优缺点?JSP技术具备了Java技术的简单易用、完全面向对象、具有平台无关性且安全可靠、主要面向Internet的所有特点。
JSP的技术优势:(1)一次编写、到处运行。
(2)系统的多平台支持。
(3)强大的可伸缩性。
(4)多样化和功能强大的开发工具支持。
JSP的技术弱势:(1)正式由于为了跨平台的功能,为了极度的伸缩能力,所以极大地增加了产品的复杂性。
(2)Java的运行速度是用class对象常驻内存来完成的,所以需要计算机系统有足够的内存来保证程序的运行。
2、请简述JSP的工作原理。
当JSP页面第一次被Java服务器调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。
将执行的结果在客户端显示出来。
3、在JSP的动作元素中,标签允许包含两种文件:动态文件和静态文件,在服务器对这两种文件进行解析执行时,有什么异同点。
标签允许包含动态文件和静态文件,但是这两种包含文件的结果是不同的.。
如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,这种被包含文件不会被JSP编译器执行。
相反地,如果这个被包含文件是动态的文件,那么这个被包含文件将会被JSP编译器执行。
4、在WEB页面中我们常有的页面重定向技术有那些?在Servlet 中,我们如何实现页面转发?5、请写出使用JDBC技术连接SQLServer数据库时,建立连接对象(Connection)以及建立语句集对象(Statement)的JAVA代码。
Connectionconnection;Statementstatement;StringsourceURL="jdbc:microsoft:sqlserver://127.0.0.1:14 33;DatabaseName=你的数据库的名字";StringUserName=你的数据库用户名;StringPassword=你的数据库的访问密码;publicDatabaseConnection(){try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDri ver");connection=DriverManager.getConnection(sourceURL,UserNam e,Password);statement=connection.createStatement();}catch(SQLExceptionsqle){System.err.println("Errorcreatingconnection");}catch(ClassNotFoundExceptioncnfe){System.err.println(cnfe.toString());}}6、请比较并简述利用JSP+JavaBean模式进行开发和利用JSP+Servlet+JavaBean模式进行开发有什么异同?有什么优缺点?(1)使用JSP+JavaBean模式开发项目时,JSP页面独自响应请求并经处理后把结果返回给客户端;JavaBean负责处理业务逻辑。
J2EE考试试题(每题2分,共100分)姓名:班级:针对如下题目,请选择符合题目要求的答案,针对每一道题,所有答案都选对,则该题得分,错选、不选、漏选均不得分。
每题2分。
1、所有Web应用程序都基于(b)架构。
(单选)A.C/SB.B/SC.SpringD.MVC2、在Web应用程序的三层体系结构中,包含系统的功能代码的是下面哪个组件(b)。
(单选)A.表示层B.业务层C.数据存取层D.代码层3、以下说法不正确的是(c)。
(单选)A.使用三层体系结构,大大的降低了各个组件之间的耦合性模块之间互联成都的度量。
B.由于表示逻辑和数据存取逻辑相互独立,因而可以方便地扩充表示逻辑,使系统具有良好的可扩展性。
C.由于各个组件的相互独立,所以在多个组件之间共享代码变得困难,所以有很多代码都需要重新编写。
D.三层体系结构便于良好的分工合作。
4、在Tomcat的主目录下,那个文件夹用于发布J2EE应用程序(d)。
(单选)A.binB.webappsC.webappD.server5、J2EE应用程序主目录中,web.xml是网站的主要配置文件,它位于文件夹(d)下。
(单选)A.根目录下B.classesC.libD.WEB-INF6、Servlet实质上就是一个Java类,它的父类是(a)。
(单选)A.HttpServletB.HttpServletRequestC.InternetServletD.HttpSession7、你是一个公司的网站管理员,网站的物理路径为"C:\Tomcat\webapps\shop\",现在,你使用ServletContext对象的getRealPath方法返回一个字符串,代码如下:ServletContext context = this.getServletContext();String str = context.getRealPath("image/");现在字符串变量str的值是(d)。
J2EE考试试题(每题2分,共100分)姓名:班级:针对如下题目,请选择符合题目要求的答案,针对每一道题,所有答案都选对,则该题得分,错选、不选、漏选均不得分。
每题2分。
1. MVC模式的优势有哪些?(多选)a) MVC模式使应用程序的结构更加清晰,通过将代码按照层次划分为业务逻辑/数据层、用户界面和应用流程控制这三个层次,能够增强代码的稳定性。
b) MVC模式实现了很好的分布式组件架构;c) 对于项目开发而言,MVC三层的分离有利于在项目小组内按照小组成员各自的擅长进行分工,有利于三个部分并行开发、加快项目进度。
d) MVC模块功能的划分有利于在代码修改过程中进行模块的隔离,而不需要把具有不同功能的代码混杂在一起造成混乱。
2. J2EE组件和MVC架构的对应理解错误的是:(单选)a) J2EE在Web容器中的Servlet提供了业务流程控制,实现了MVC中的Controller。
b) Bean实现了业务逻辑,也就是Model。
c) J2EE在客户层中的Applet 以及Web层中的JSP实现了面向浏览器的数据表现,是View 部分。
d) Application Client实现了面向桌面应用的数据逻辑。
这是MVC架构中的Model部分。
3. J2EE打包与部署的模块包括以下哪些?(多选)a) Web 模块和EJB 模块b) EAR模块c) 应用程序客户端模块d) 资源适配器模块e) XML模块4. 在Servlet中使用硬编码的HTML输出作为请求的响应具有哪些严重缺陷?(多选)a) 很难对HTML做出修改,因为每次修改都必须重新编译Servlet。
b) 由于HTML是硬编码的,所以维护不同的语言很困难。
判断用户的语言、所处的地区以及其他变化情况,然后再显示输出非常困难。
c) 当在Servlet中混合使用HTML和Java代码时,就很难分清页面设计和编程的职责。
d) 很难做出动态的相应。
5. 以下Servlet与CGI的对比正确的是?(多选)a)在可移植性和与平台无关性方面:Servlet和CGI都能够跨平台和不同的Web服务器交互b) 几乎所有的主流服务器都直接或通过插件支持CGI。
J2EE考试题目及答案J2EE简答题1、简述J2EE的四层模型。
运行在客户端机器上的客户层组件;运行在J2EE服务器上的Web 层组件;运行在J2EE服务器上的业务逻辑层组件;运行在EIS服务器上的企业信息系统层软件2、什么是对象持久化?即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。
持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
3、简述一下ORMAPPING,为什么我们使用它?ORM(Object Relational Mapping)是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。
简单说:ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据中。
本质上就是将数据从一种形式转换到另外一种形式。
原因:用它来架起对象和关系型数据库的桥梁,可解决对象层次的映射、对象关系的映射以及对象的持久化问题。
4、简述一下如何使用Hibernate实现对象持久化的过程(可画图或用伪码描述)STEP 1:创建Configuration对象。
在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析、STEP 2: 创建SessionFactory对象。
通过创建好的Configuration 对象可以创建一个sessionFactory对象的实例,同时是生成Session 对象实例的工厂,他在整个应用中应该是,唯一的。
STEP 3:创建Session对象。
Session对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比JDBC中的Connection对象丰富很多。
STEP 4:开始一个事务。
在Java中定义一个事务操作的开始,这是使用Hibernate进行持久化操作必不可少的步骤STEP 5:进行持久化操作。
在这个步骤中可以读取或者保存Java对象。
J2EEWeb模拟考试题及答案J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且标准应用系统的开发与部署,进而提高可移植性、平安与再用价值。
那么J2EE Web考试题你会做吗?下面跟一起来试试看咯!(1)request表示HttpServletRequest对象。
它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
(2)response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)(3)out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
(4)pageContext表示一个javax.servlet.jsp.PageContext对象。
它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
(5)session表示一个请求的javax.servlet..HttpSession对象。
Session可以存贮用户的状态信息(6)applicaton 表示一个javax.servle.ServletContext对象。
这有助于查找有关servlet引擎和servlet环境的信息(7)config表示一个javax.servlet.ServletConfig对象。
该对象用于存取servlet实例的初始化参数。
(8)page表示从该页面产生的一个servlet实例<%@include %>(注意与的不同)<%@taglib %> 引用标签库使得能够正确地编译非标准的效劳器标签Servlet被效劳器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet、doPost)等,当效劳器决定将实例销毁的时候调用其destroy方法。
北京工业大学2015 ——2016 学年第2学期《 J2EE与中间件技术》模拟试题评分标准及参考答案考试说明:承诺:本人已学习了《北京工业大学考场规则》和《北京工业大学学生违纪处分条例》,承诺在考试过程中自觉遵守有关规定,服从监考教师管理,诚信考试,做到不违纪、不作弊、不替考。
若有违反,愿接受相应的处分。
承诺人:学号:班号:。
注:本试卷共 5 大题,共 14 页,满分100分,考试时必须使用卷后附加的统一答题纸和草稿纸。
一、填空题(30分,每空 1分)评分标准:本部分答案符合标准答案,得分 1分,不符合标准答案,但答题的内容在内容表达上符合要求,得分 0.5 分未答、或答案明显错误,得分 0 分1.在 J2EE 的应用开发中,假设应用支持包含HTTP 协议的多客户,业务逻辑层通过EJB 组件实现,那么能维护客户端状态的 EJB 应选择(Stateful Session)EJB。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分2.J2EE 是开发和运行一个大型、多层次、分布式的企业 Web 应用的规范和标准,它提供一种多层次的分布式应用模型和一系列的开发技术规范。
这些技术规范包括(Applet)、(Servlet )、(JSP)、(EJB)、JNDI、JDBC、JMS等。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分,如果答案选择其它应用技术规范如 JTA、JAAS、JMail、….也算正确答案3.在 Web 应用中,页面间对象传递的方法有(HttpServletResponse.Redirection())、(Sesssion)、(Cookie)、(Application)。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分4.在 Tomcat Web 服务器中,一个 servlet 程序类的实例化在(Web服务器启动)过程中创建的。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分5.servlet 可以通过HttpServletRequest(getParameter())方法来获取客户端的请求数据。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分6.HttpServletResponse 提供了(setCookie())方法用于向客户发送 cookie。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分7.JSP 中定义变量与方法的标签是(<% %>)用于编译时要插入文件的命令是(<%@include file=“…..” %>)。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分8.在 JSP 中, 使用(request)来接受客户端发送的数据请求。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分9.HttpServletResponse 的(sendRedirect())方法将一个 HTTP 请求定向到另一个URL。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分10.在 Java Web 应用开发中,实现 HttpServlet的类重写父类的 doGet() 方法时,需要在 throws 语句后面的异常列表中添加 IOException 和(ServletException)。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分11.在 JSP 中,(<jsp:forward page=“” />)标准动作用于将用户请求重新定向到一个 HTML文件、另一个 JSP 页面。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分12.在Web.xml 文件中,描述了一个servlet,其中,,(<url-pattern> ……</url-pattern>)制定 servlet 类的访问路径。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分13.使用 HttpSession 的(setAttribute(String name, Object value))方法保存数据到HttpSession 对象中。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分14.Web 服务实现数据传递是以(http/https)的协议方式进行的。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分15.在 MVC 设计模式中,(Controller)用于接收用户请求的数据。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分16.在部署 Java Web 应用程序时,(Web-INFO)文件夹或(web.xml)的文件是必须的。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分17.在实现数据库联接方法时,使用 Properties 类的(getProperty())方法,通过键(key) 读取出值(value)。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分18.session 是由 Web 容器创建的,使用 request 对象(getSession())方法获得HttpSession 对象。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分19.在 JSP 页面中使用(<%-- --%>)指令,导入描述性文件。
评分标准:答案符合标准答案,得分 1分, 否则得分 0 分20.(JSP Standard Tag Library: JSTL)包含用于编写和开发 .jsp 页面的一组标准标签,它可为用户提供一个无脚本环境;评分标准:答案符合标准答案,得分 1分, 否则得分 0 分21.在 Web 项目中使用(Session),是为了跟踪用户状态,并区分不同用户;评分标准:答案符合标准答案,得分 1分, 否则得分 0 分22.(Servlet)是一个 Java 程序,运行于服务器端,接受、和处理用户请求,并做出响应的程序;评分标准:答案符合标准答案,得分 1分, 否则得分 0 分二、判断题(10分,每题 1 分, 正确在括号划√, 错误在括号划 X)评分标准:本部分答案符合标准答案,得分 1分,不符合标准答案,但答题的内容在内容表达上符合要求,得分 0.5 分未答、或答案明显错误,得分 0 分1.J2EE 是一种不同于 Java 语言,用于大型、分布式应用系统开发的编程语言及环境(X);评分标准:答案符合标准答案,得分 1分, 否则得分 0 分2.servlet程序的入口点是 main()函数(X);评分标准:答案符合标准答案,得分 1分, 否则得分 0 分3.HttpServlet 类中有doGet() doPost() doDelete doPut, service 方法 (X );评分标准:答案符合标准答案,得分 1分, 否则得分 0 分4.J2EE 架构中,主要用于开发基于的Web 应用,而不能用于开发基于 C/S 的应用程序(X);评分标准:答案符合标准答案,得分 1分, 否则得分 0 分5.servlet 的初始化代码仅在第一次执行 servlet 时被执行(√);评分标准:答案符合标准答案,得分 1分, 否则得分 0 分6.编译后的JSP 程序生成服务小程序 servlet ( √ );评分标准:答案符合标准答案,得分 1分, 否则得分 0 分7.HTTP 协议中, GET 方法和 POST 方法的区别是:提交数据时, POST 比 GET 安全(X);评分标准:答案符合标准答案,得分 1分, 否则得分 0 分8.在 J2EE中,关于无状态会话 Bean (Stateless Session Bean),当被多个客户端调用时,可以提高较高性能(√);评分标准:答案符合标准答案,得分 1分, 否则得分 0 分9 在 Java Web应用开发中,使用 <web-app> 标签元素在 web.xml 配置文件中定servlet, 包括 servlet 的名称和servlet 的实现类(√);评分标准:答案符合标准答案,得分 1分, 否则得分 0 分10 在 MVC 设计模式中,包括表示层、模型、和控制器模块(X);评分标准:答案符合标准答案,得分 1分, 否则得分 0 分三、简单题(20分)1 (5 分)描述 servlet 程序的生命周期Servlet 生命周期如下图表示:或主要包括1.Web 容器装载 servlet, 如servlet不存在实例,创建 servlet 实例;2.对servlet 调用 init() 方法进行初始化,初始化仅进行一次;3.Servlet 的服务方法 service 运行,等待用户的请求,然后进行相应;4.当Servlet 退出时,调用destroy ()方法,进行处理。
评分标准:1 能表示和描述 servlet 包括init(),service(), destroy 方法得 1分;2 能表示步骤 1,得 1 分;3 能表示步骤 2,得 1 分;4能表示步骤 3,得 1 分;5能表示步骤 4,得 1 分在每一步骤,不符合标准答案,但答题的内容在内容表达上符合要求,得分0.5 分未答、或答案明显错误,得分 0 分2 (5 分)简要描述 N 层J2EE 的应用结构(N-Tier J2EE Application Architecture)N-Tier J2EE 应用结构是开发分布式、基于组件企业级应用的基本结构,一般的N-Tier结构包括:1 客户服务层:客户层由 Java Applets, HTML, Java Application 构成;2 Web Presentation 层:由Web 中间件服务器实施,包括静态HTML/CSS/Javascript组成的静态内容,和由Servlet/JSP/Filter组成的动态网页内容;3 Business Logic 层:由EJB 中间件服务器实施,包括EJB类;4 Data Resource Access 层:由Web/EJB 服务器实施,包括JMS,JDBC, JPA 组件等;其基本的结构模式由下图进行表示评分标准:1 能表示和描述 J2EE N-Tier 结构包括Client 层(),Web Presentation 层,Business Logic 层, Data Access 层得 1分;表述的内容以 2,3,4 –Tier 的结构都行,2 能表示内容 1,得 1 分;3 能表示内容 2,得 1 分;4能表示内容3,得 1 分;5能表示内容 4,得 1 分在每一步骤内容,不符合标准答案,但答题的内容在内容表达上符合要求,得分 0.5 分未答、或答案明显错误,得分 0 分3 (5 分)EJB 中间件容器的任务是什么?客户端如何得倒一个EJB 实例的远程引用EJB 中间件服务器容器(如JBoss 中间件服务器)是一种对 Session Bean, Entity Bean, Message-Driven Bean Business Logic 层组件进行装载、初始化、运行、配置、部署、管理、退出等进行全生命周期支持和支撑的基础性软件;它的任务:包括1 装载、初始化 EJB 组件;2 管理EJB 组件的服务,通过JNDI SPI 提供EJB 组件的 Local和Remote 命名;3 支撑和管理客户端(包括Java application, Servlet/JSP, EJB 等)通过JNDI 实现对EJB 组件服务的调用;4 管理EJB 组件服务的退出机制;客户端如何得倒一个EJB 实例的远程引用1 使用 JNDI naming API 和JNDI 环境变量设置 API:import javax.naming.InitialContext;import javax.naming.*;import java.util.Properties;2 导入EJB @Remote 接口(interface)进客户端的应用,并设置客户端应用JNDI环境;3 通过 JNDI 对EJB 进行引用,方法如下try{InitialContext cts = new InitialContext(prop);MyEJBRemote obj = (MyEJBRemote) cts.lookup("MyEJB/remote");}catch(Exception e)e.printStackTrace();}评分标准:能表示和描述EJB 服务器容任务得分 3 分;任务的表述的内容按以下方式计算1 能表示内容 1,得 0.5 分;2 能表示内容 2,得 1 分;3 能表示内容3,得 1 分;4能表示内容 4,得 0.5 分在每一步骤内容,不符合标准答案,但答题的内容在内容表达上符合要求,得分 0.5 分未答、或答案明显错误,得分 0 分能表示和描述对EJB 服务的引用得分 2 分;任务的表述的内容按以下方式计算1 能表示内容 1,得 0.5 分;2 能表示内容 2,得 0.5 分;3 能表示内容3,得 1 分;在每一步骤内容,不符合标准答案,但答题的内容在内容表达上符合要求,得分 0.5 分未答、或答案明显错误,得分 0 分4 (5 分)描述 HttpRequest. Request 对象的主要方法HttpRequest 封装客户端通过Http/Https 协议向服务器端所有的请求信息服务,通过如下的主要方法能获取客户端的数据参数,包括评分标准:1 能表示和描述 HttpRequest Request对象得 1分;2 能表示getParamterNames方法内容,得 1 分;3 能表示 getParameterValues 方法内容,得 1 分;4能表示 getParameter(String name)方法内容,得 1 分;5能表示 getReader 方法内容,得 1 分在每一步骤内容,不符合标准答案,但答题的内容在内容表达上符合要求,得分 0.5 分未答、或答案明显错误,得分 0 分四、J2EE 程序设计和程序阅读题题(20分)1 (5 分)编写包含servlet 基本架构的程序,实现输出“ This is my servlet demo!”, 要求:必须实现 Servlet 生命周期的各种方法的调用过程;1 实施Servlet API 导入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;2 表示和实现 MyServlet 类public class MyServlet extends HttpServlet {/*** Constructor of the object.*/public MyServlet() {super();}3 表示和实施 init()和 destroy() 方法/*** Destruction of the servlet. <br>*/public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}4 表示和实施 doGet 方法/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/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//EN\">");out.println("<HTML>");out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");out.println(" <BODY>");out.print(" This is my servlet demo!");out.print(this.getClass());out.println(", using the GET method");out.println(" </BODY>");out.println("</HTML>");out.flush();out.close();}5 表示和实施 doPost()方法内容/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(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//EN\">");out.println("<HTML>");out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");out.println(" <BODY>");out.print(" This is my servlet demo!");out.print(this.getClass());out.println(", using the POST method");out.println(" </BODY>");out.println("</HTML>");out.flush();out.close();}/*** Initialization of the servlet. <br>** @throws ServletException if an error occurs*/public void init() throws ServletException {// Put your code here}}评分标准:1 能表示和描述 Servlet 导入对象得 0.5分;2 能表示和实施 MyServlet 类,得 1 分;3 能表示和实施 init()、destroy 类方法内容,得 1 分;4能表示和实施 doGet方法内容,得 1 分;5能表示和实施 doPost() 方法内容,得 1 分在每一步骤内容,不符合标准答案,但答题的内容在内容表达上符合要求,得分 0.5 分未答、或答案明显错误,得分 0 分2 (5 分)写一个 JSP 的程序,用它来计算整数 1,2,3,….100 的和1 表示和实施JSP 方法<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><HTML><BODY BGCOLOR=cyan><FONT Size=1><P> This is My JSP Page for </P>2 表示和实施 java 程序块<% int i, sum=0;for(i=1;i<=100;i++){sum=sum+i;}%><P> 1 到100 的连续和是:</P><BR>3 表示和实施计算结果<%= sum %></FONT></BODY><HTML>评分标准:1 能表示和描述 JSP 导入对象得 1 分;2 能表示和实施 Java 程序段,得 2 分;3 能表示和实施计算结果方法内容,得 2 分;在每一步骤内容,不符合标准答案,但答题的内容在内容表达上符合要求,得分 0.5 分未答、或答案明显错误,得分 0 分3(5 分)写出下面 JSP 程序的运行结果<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title> JSP Code Page </title></head><body>This is a jsp exam_code page.<hr><br><%! int i, j; %><%! int a=5, b=10; double c=2.0; %><% for(i = 0; i <=10; i++){for (j=0; j <= i; j++){%><%= j %>;<% } %><br><% } %><br>a+b = <%= a+b %><br>半径为 <%= c %> 的圆面积是:<%= 3.14*Math.pow(c,2) %></body></html>1 JSP 中HTML 执行结果This is a jsp exam_code page.2能表示和实施 Java 程序段0;0; 1;0; 1; 2;0; 1; 2; 3;0; 1; 2; 3; 4;0; 1; 2; 3; 4; 5;0; 1; 2; 3; 4; 5; 6;0; 1; 2; 3; 4; 5; 6; 7;0; 1; 2; 3; 4; 5; 6; 7; 8;0; 1; 2; 3; 4; 5; 6; 7; 8; 9;0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10;3能表示和实施 Java 程序段a+b = 154能表示和实施 Java 程序段半径为2.0 的圆面积是:12.56评分标准:1 能表示和描述 JSP 中HTM执行结果,得 1 分;2 能表示和实施 Java 程序段 2,得 2 分;3 能表示和实施计算结果方法内容 3,得 1 分;4能表示和实施计算结果方法内容 4,得 1 分;在每一步骤内容,不符合标准答案,但答题的内容在内容表达上符合要求,得分 0.5 分未答、或答案明显错误,得分 0 分4(5 分)写出下面 EJB 程序在客户端调用的运行结果MyEJBLocal.javaimport javax.ejb.Local;@Localpublic interface MyEJBLocal {}MyEJBRemote.javaimport javax.ejb.Remote;@Remotepublic interface MyEJBRemote {public String sayHello();}MyEJB.javaimport javax.ejb.Stateless;@Statelesspublic class MyEJB implements MyEJBLocal, MyEJBRemote { public String sayHello(){return"Hello, I am Studying J2EE!";}}客户端程序 Client.javaimport javax.naming.*;import java.util.*;public class Client {public static void main(String[] args) {Properties prop = new Properties();prop.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");prop.setProperty("java.naming.provider.url", "localhost:8080"); try{InitialContext cts = new InitialContext(prop);MyEJBRemote obj = (MyEJBRemote) cts.lookup("MyEJB/remote"); System.out.println(obj.sayHello());}catch(Exception e){System.out.println(e.getMessage());e.printStackTrace();}}}Hello,I am Studying J2EE!评分标准:答案符合标准答案,得分 5 分, 否则得分 0 分五、综合应用题(20分)1 (10分)如下是一Web应用的登录界面Login.html,编写一个Servlet 程序LoginServlet.java,实现用户的登录功能,如果登录成功,返回 Success.html, 在Success.html上的第一行显示“您好,欢迎用户zhangj 成功登录”,否则返回Login.html 界面,显示“对不起,您还没有登录,请先登录”。