5.JMS(Java Messaging Service)称为Java消息服务,是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。
6.EJB主要有三种类型:会话Bean,实体Bean和消息驱动Bean。
会话Bean一般用于实现业务逻辑,会话Bean基于是否维护过度状态分为有状态或者无状态。
一个简单无状态会话Bean实现了CalculateEJB接口的incrementV alue()方法。
7.EJB实际上是SUN的J2EE中的一套规范,并且规定了一系列的API用来实现把EJB概念转换成EJB产品。
EJB 是一种标准描述了构建应用组件要解决的:
可扩展(Scalable)
分布式(Distributed)
事务处理(Transactional)
数据存储(Persistent)
安全性(Secure)
12.答案:A
javax.servlet.ServletResponse接口用来向客户端发送信息。HttpServletResponse接口继承自ServletResponse,它只支持HTTP协议,除了具有ServletResponse接口的所有方法外,还有自己特有的方法,主要是设定HTTP头信息的方法。
14.JSP的隐含对象response是实现HttpServletResponse接口类的对象。
15.javax.servlet.ServletRequest接口的功能就是获取客户端信息,如由客户端传送的参数、客户端使用的通信协议、客户端主机名和其IP地址等一些信息。HttpServletRequest接口继承ServletRequest接口,只支持HTTP协议,除了具有ServletRequest接口的所有方法外,还有自己特有的方法,主要是关于HTTP头信息的方法。
JSP的隐含对象request是实现HttpServletRequest接口类的对象。
17.答案:A
20.21.22.参见https://www.wendangku.net/doc/6c4749117.html,/online/jdk6/javax/naming/InitialContext.html
23.
(1)设置con.setAutoCommit(false);就是说这个连接不自动提交,必须手动https://www.wendangku.net/doc/6c4749117.html,mit();来提交到数据库。在默认的情况下con是自动提交的也就是con.setAutoCommit(true);
(2)void setAsciiStream (int parameterIndex, java.io.InputStream x, int length) (3)BLOB全称为二进制大型对象(Binary Large Object),它用于存储数据库中的大型二进制对象,可存储的最大大小为4G字节。如:保存位图。CLOB全称为字符大型对象(Character Large Object),它与LONG数据类
型类似,只不过CLOB用于存储数据库中的大型单字节字符数据块,可存储的最大大小为4G字节。如:保存XML文档。
25.
27.
javax.servlet.jsp.tagext.TagSupport实现javax.servlet.jsp.tagext.Tag接口的类;javax.servlet.jsp.tagext.SimpleTagSuppor实现javax.servlet.jsp.tagext. SimpleTag接口的类;
SimpleTagSupport类别顾名思义,就是可以处理一些简单的自定义标签需求。
28.答案:B 29.30.
SOAP(Simple Object Access Protocol)简单对象访问协议。
使用 org.apache.axis2.clientapi.Call 类可以方便地调用 In-Out 操作。调用 In-Out 操作时,此 Call 类支持下列 4 种模式:
(1)阻塞单传输模式:这是调用 In-Out Web服务操作最简单的方式。在操作完成和接收到响应或错误之前,服务调用被阻塞。它使用一个传输连接同时发送和接收响应,如下面的清单 1 所示。
清单 1. 阻塞单传输模式
代码的第一部分使用 AXIOM 创建请求消息。Call.setTransportInfo()设置用于发送请求和获得响应的传输模式。Call.setTransportInfo()操作的 Boolean 参数指出是否要使用不同的传输连接来分别发送请求和接收响应。在本例中,要求用一个 HTTP 连接发送请求和接收响应。
(2)非阻塞单传输模式:在此调用模式中,只使用下面的一个传输连接获得非阻塞调用。如果在一个客户端应用程序中要完成多个Web服务调用,而且不希望每次调用都阻塞客户端,则需要此类行为。此时,如果响应可用,则调用立即返回且客户端得以回滚,如下面的清单 2 所示。
清单 2. 非阻塞单传输模式
Call.invokeNonBlocking()方法立即返回而不阻塞。
Call.invokeNonBlocking()采用
org.apache.axis2.clientapi.CallBack的对象,如果响应来自服务,则将触发此对象。CallBack有两个抽象方法onComplete(AsynchResult)和reportError(Exception),需要由具体的CallBack类实现这些方法。
在服务调用正常完成后,Axis2 引擎调用onComplete()方法。在从服务器获得错误消息后,调用Callback的reportError()方法。
Callback.isComplete()将指出操作调用是否完成。
因为上面两个方法使用一个传输连接来发送和接收消息,所以这些方法不适合长时间运行的事务。原因是在响应可用之前,传输连接可能会超时。
要解决此问题,可使用两个不同的连接来分别发送请求和接收响应。但因为使用了其他传输连接来获得响应,因此需要将请求和响应关联起来。
Axis2 支持 WS-Addressing,后者通过使用
(3)阻塞双传输模式:此模式在以下情况下非常有用:服务操作在本质上是In-Out,但使用的传输是单向的(如 SMTP)或服务执行需要很长时间且 HTTP 连接超时。请参见下面的清单 3。
清单 3. 阻塞双传输模式
(4)非阻塞双传输模式:就 API 级别和传输级别的非阻塞而言,此模式提供了最大的灵活性,如下面的清单 4 所示。
清单 4. 非阻塞双传输模式
31.
J2EE的客户端,简单的说就是所有针对EJB而言都处于客户调用逻辑的组件与程序。因为J2EE结构的复杂性,J2EE客户端也比较多,一般分为以下五种:Stand Alone Client,J2EE Application Client,JSP,Servlets,其它Enterprise JavaBeans(处于客户逻辑的EJB)。
现在基于J2EE的应用开发大部分是Browser/Server模式,所以JSP与Servlets 是最常用的J2EE的客户端。
39.
javax.servlet.ServletInputStream提供从客户端请求中读取二进制数据的输入流
44.
java.sql.Statement.executeBatch()方法向数据库提交要执行的批处理命令;如果成功执行所有命令,则返回更新后的数组。返回数组的元素与批处理中的命令的顺序相同
J2EE面试题集锦(附答案) (1)JNDI(2)JMS(3)JTA(4)JAF(5)RMI7.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别.8.XML的解析方法9.什么是Web Service?10.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?11.JSP中动态INCLUDE与静态INCLUDE的区别?二、Java编程与程序运行结果1.Java编程,打印昨天的当前时刻2.文件读写,实现一个计数器答案:1.答:T T F F F F T2.答:(1)接口可以被多重implements,抽象类只能被单一extends(2)接口只有定义,抽象类可以有定义和实现(3)接口的字段定义默认为:public static final, 抽象类字段默认是”friendly”(本包可见)3.答:HashTable的原理:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此值解释为该节点的存储地址.HashMap 与Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null为关键码的.4.答:forward: an internal transfer in servletredirect: 重定向,有2次request,第2次request将丢失第一次的attributs/parameters等5.答:实现J2EE 规范中web协议的应用.该协议定义了web程序的运行时环境,包括:并发性,安全性,生命周期管理等等.6.答:(1)JNDI:Java Naming & Directory Interface,JAVA命名目录服务.主要提供的功能是:提供一
一、选择: 1) 在三层结构中,数据访问层承担的责任是(B) a) 定义实体类 b) 数据的增删改查操作 c) 业务逻辑的描述 d) 页面展示和控制转发 2) 下面关于数据持久化概念的描述,错误的是(D a) 保存在内存中数据的状态是瞬时状态 b) 持久状态的数据在关机后数据依然存在 c) 数据可以由持久状态转换为瞬时状态 d) 将数据转换为持久状态的机制称为数据持久化 3) 下面关于Hibernate的说法,错误的是(C) a) Hibernate是一个“对象-关系映射”的实现 b) Hibernate是一种数据持久化技术 c) Hibernate是JDBC的替代技术 d) 使用Hibernate可以简化持久化层的编码 4) Hibernate配置文件中,不包含下面的(A) a) “对象-关系映射”信息 b) 数据关联的配置 c) show_sql等参数的配置 d) 数据库连接信息 5) 在Hibernate关系映射配置中,inverse属性的含义是(B)。 a) 定义在
史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资
深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。
NIIT内部测试题(J2EE) 考试时间:120分钟总分:100分 一、单选题(每题2分,共40分) 1、假设在helloapp应用中有一个hello.jsp,它的文件路径如下:%CATALINA_HOME%/webapps/helloapp/hello/hello.jsp 那么在浏览器端访问hello.jsp的URL是什么?() (A) http://localhost:8080/hello.jsp (B) http://localhost:8080/helloapp/hello.jsp (C) http://localhost:8080/helloapp/hello/hello.jsp (D) http://localhost:8080/hello/hello.jsp 2、假设在helloapp应用中有一个HelloServlet类,它位于org.javathinker 包下,那么这个类的class文件应该放在什么目录下?() (A) helloapp/HelloServlet.class (B) helloapp/WEB-INF/HelloServlet.class (C) helloapp/WEB-INF/classes/HelloServlet.class (D) helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class 3、假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下:
J2EE考试试题(每题2分,共100分) 姓名:班级: 针对如下题目,请选择符合题目要求的答案,针对每一道题,所有答案都选对,则该题得分, 错选、不选、漏选均不得分。每题2分。 1.下面关于Servlet描述正确的是( ac )。(选择多项) A.Servlet是以Java编程语言开发的服务器端程序,它运行在WEB服务器中。 B.Servlet也可以在被各种浏览器解释执行。 C.Servlet可以跨平台。 D.Servlet每次被调用都会重新编译。 2.HTTPServlet可按下列( abc )方式生成HTML网页。(选择多项) A.按名称显示访问Servlet。 B.提交表单后。 C.按超文本链接。 D.使用include指令包含在网页中。 3.下面关于Servlet的生命周期描述错误的是(c )。(选
择一项) A.Servlet的创建和破坏均由Serlet容器自动处理。 B.卸载Servlet时,服务器将调用Servlet的destroy()方法。 C.调用Servlet时,服务器都会自动调用Servlet的init ()方法。 D.Servlet容器收到的任何请求都将被转发至Servlet的service()方法。 4.当用户在浏览器中输入:http://localhost:8080/myWebApp/start/,就会调用student这个Servlet,可以在Web.xml中( 3 )配置。(选择一项) A.
J2EE学习路线及重要知识点 1:J2SE 面向对象-封装、继承、多态、内存的分析、递归、集合类、泛型、自动打包与解包、 Annotation、IO 、多线程、线程同步、TCP/UDP 、AWT、事件模型、匿名类、 正则表达式、反射机制 2:数据库(Oracle或者MySQL) SQL语句、多表连接,内外连接,子查询等、管理表、视图、索引、序列、约束等、 树状结构存储、存储过程、触发器、数据库设计三范式、 3:JDBC JDBC基础、连接池、树状结构存储与展现、DataSource & RowSet 、JDBC连接Oracle及MySQL 4:HTML、CSS、javascript(做后台程序员了解即可) html、css、javascript基础语法、JavaScript Form判断、Dom编程基础(事件处理等)、 JS常用效果如TreeView、下拉联动等、JS学习方法、JS调试方法 DreamWeaver初步(建立HTML、Table、Form、CSS)等 5:Servlet & JSP tomcat基础、servlet基础、web.xml配置基础、web application的结构、servlet生命周期 request response等常用方法、ServletContext类、HTTP协议基础(GET POST) Cookie 、Session 、Application JSP的几种语法(包括JSTL等)注意在项目中练习,不要拘泥于语法细节而裹步不前。 6:Struts 多层架构理论、Model 1 and Model 2 、Struts基本概念、MVC、Action与业务逻辑类的关系、在Struts与JSP之间传递数据、Struts处理流程(控制流)、Struts TagLib(了解常用的)、JSTL ActionForm、字段收集、上传文件、类型转换、DTO 、动态Action Form 、验证框架、 ActionForward 转发与重定向、动态生成ActionForward 、全局与局部的ActionForward 、 Action Forward Scope、UnknownActionMapping 、Action的线程安全、I18N 、 如何切换语言环境、Struts异常处理机制程序处理自动处理自定义异常处理器 Struts的多模块配置 7:XML (XML/XSL、XSLT/DTD、SCHEMA等基础的概念、关于Java的编程可以暂时扔在一边)
西北农林科技大学本科课程考试试题(卷) 2012—2013学年第1学期《J2EE技术》课程A卷专业班级:命题教师:审题教师: 学生姓名:学号:考试成绩: 本试卷由笔试和机试两部分组成。一到三题为笔试部分,第四题为机试部分 一、选择题(每题3分【按空分配分数】,共30分)得分:分 1. 相比于Spring,基于EJB的Java EE技术作为企业级应用解决方案的主要优势体现在(),使得开发出的应用是可向外伸缩的 (scale-out)。 A. 安全性 B. 运行的时空效率 C. 事务处理能力 D. 支持分布的能力 企业级的与普通javabean的区别是企业级的不仅可以供本地客户端访问,还可以供远程客户端访问。本质区别是访问者和被访问者是否位于同一台虚拟机上。 2.消息服务 (Message Service) 与方法调用 (Method Invocation)两者的最大区别就是:消息服务还可以实现()、()以及异构系统集成。 Java消息服务(JMS)是一个消息标准,它允许javaEE应用程序组件生成、发送、接收和读取消息。它能够进行分布式的、松耦合的、可靠地、异步的信息交流。 A. 异步 B. 业务调用 C. 松耦合 D. 消息传递 3. 关于无状态会话bean和有状态会话bean中“状态”说法正确的是()。 A. 有状态会话bean实例有对应的生命周期,而无状态会话bean则没有 B. 有状态会话bean可维持同一个客户端的多个调用之间的状态信息,无状态会话bean则不能 C. 有状态会话bean可以实现业务对象的持久化,无状态会话bean不能 D. 有状态会话bean可以维护HTTP客户端的状态,无状态会话bean不能 4.JPA实体之间的关系包括一对一、多对多、(对多一)和(一对多)共四种关联关系,以及( D )关系。 Java Persistence API java持久化,实体类表示对象,是对数据库中记录的表示 A. 一对多 B. 多对一 C. 继承 D. 映射 5. 判断访问EJB的方式是本地 (local) 访问还是远程 (remote) 访问取决于
目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)
第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记
J2EE期末考试试题(笔试) A卷 姓名:学号: 注意事项:(考试时间90分钟) 1)整个试卷中不得做任何形式的书写或标记,是否试卷成绩做废; 2)认真准确填写并核对答题卡中的各项内容,因填涂错误造成的任何后果,由考生自负; 3)考试完毕,不得将所有考卷.答题卡.草稿纸带离考场,否则试卷成绩作废; 4)作弊,雷同答卷,成绩一律为0分 答题结束后,必须经监考老师确认考卷,答题卡,草稿纸已经提交后,方可离开考场 一、选择题(单项选择,每题2分,共50题) 1、下面对Web应用开发中Servlet组件说法错误的是。 A)Servlet是按照接受请求/返回响应的模式工作的 B)运行于Servlet容器中,是被动态加载的 C)在Struts框架中,Servlet充当模型组件 D)在Struts框架中,Servlet充当控制器组件 2、在Struts应用中,能在下列哪几种范围内共享数据说法错误的是。A)只有request与session B)request
C)session D)application 3、下面那个选项不属于MVC三个核心模块。 A)模型 B)视图 C)数据库连接 D)控制器 4、下列关于Struts框架的说法中,正确的是。 A)Struts实质是在JSP Model2的基础上实现的一个MVC框架 B)在Struts框架中,模型是由实现业务逻辑的JavaBean与EJB组件构成C)在Struts框架中,视图是由一组JSP文件组成 D)以上都是 5、关于在web.xml文件中配置欢迎文件清单说法错误的是。 A)使用
J2简答题 1、简述J2的四层模型。 运行在客户端机器上的客户层组件;运行在J2服务器上的层组件;运行在J2服务器上的业务逻辑层组件;运行在服务器上的企业信息系统层软件 2、什么是对象持久化? 即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、数据文件中等等。 3、简述一下,为什么我们使用它? ( )是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。简单说:是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据中。本质上就是将数据从一种形式转换到另外一种形式。 原因:用它来架起对象和关系型数据库的桥梁,可解决对象层次的映射、对象关系的映射以及对象的持久化问题。 4、简述一下如何使用实现对象持久化的过程(可画图或用伪码描述) 1:创建对象。在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析、
2: 创建对象。通过创建好的对象可以创建一个对象的实例,同时是生成对象实例的工厂,他在整个应用中应该是,唯一的。 3:创建对象。对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比中的对象丰富很多。 4:开始一个事务。在中定义一个事务操作的开始,这是使用进行持久化操作必不可少的步骤 5:进行持久化操作。在这个步骤中可以读取或者保存对象。 6:结束事务。在操作完成之后还要进行显式的结束事务的操作。 7:关闭。类似于释放数据库的连接。 5、为什么要实现序列化? 1、序列化以某种存储形式使自定义对象持久化 2、序列化将对象转换为可传输方式从一个地方传递到另一个地方 3、序列化使程序更具维护性 6、比较一下中的()和()方法 1、创建的会和绑定到当前线程,而不会。 2 、创建的线程会在事务回滚或事物提交后自动关闭,而必须手动关闭 7、比较一下中的()和()方法,以及如何保证每次都是从数据库读取而不是在缓存中读? ()和()方法均可以根据指定的实体类和从数据库读取记录,并返回与之对应的实体对象。
1. public void service( HttpServletRequest request, HttpServletResponse response)throws IO Exception, Servlet Exception{ //1 } 下面的( )放在//1的位置可以取出application范围内的名为address的JavaBean ? A.getServletContext().getAttribute("address"); B.application.getAttribute("address"); C.pageContext.getAttribute("address",APPLICATION_SCOPE); D.request.getAttribute("address",APPLICATION_SCOPE); ★标准答案:A 2. 下面( )声明当前页为error页? A.<%@ page errorPage="true" %> B.<%@ page info="error" %> C.<%@ page pageEndcoding="error" %> D.<%@ page isErrorPage="true" %> ★标准答案:D 3. Java Web应用中往往通过设置不同作用域的属性来达到通讯的目的。 如果某个对象只在同一请求中共享,通过调用哪个类的setAttribute方法设置属性, A.HttpServletRequest B. ServletRequestListener C. HttpSession D.ServletContext ★标准答案:C
一单项选择 1 J2EE 中,()类的()方法用于创建对话。(选择一项) a) HttpServletRequest、getSession b) HttpServletResponse、newSession c) HtttpSession、newInstance d) HttpSession、getSession 2 给定一个 Servlet 的doGet方法中的代码片段,如下: request.setAttribute(“name”,”zhang”); response.sendRedirect(“http://localhost:8080/servlet/MyServlt”) 那么在 MyServlet 中可以使用()方法把属性 name的值取出来。(选择一项) a)String str=request.getAttribute(“name”); b)String str=(String)request.getAttribute(“name”); c)Object str=request.getAttribute(“name”); d)无法取出来 3.编写Servlet 的doPost方法时,需要抛出异常为()。(只选一项) A.ServletException, IOException B.ServletException, RemoteException C.HttpServletException, IOException D.HttpServletException, RemoteException 4.以下()可用于检索session属性userid的值。(只选一项) A.session. getAttribute (“userid”); B.session. setAttribute (“userid”); C.request. getParameter (“userid”); D.request. getAttribute (“userid”); 5.在J2EE中,以下对RequestDispatcher描述正确的是()。(选择一项) A.Jsp中有个隐含的对象diapatcher,它的类型是RequestDispatcher B.ServletConfig有一个方法:getRequestDispatcher可以返回RequestDipatcher对象 C.RequestDipatcher 有一个方法:forward可以把请求继续传递给别的Servlet或者JSP界面 D.JSP中有个隐含的默认对象request,它的类型是RequestDipatcher 6.在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为()。(只选一项) A..jsp文件 B..class文件 C..jar文件 D.web.xml文件 7. 给定一个Servlet程序的代码片段,如下:( ) Public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { request.getSession().getAttribute(“A”); //第二行 } 假定第二行返回的对象引用不是null,那么这个对象存储在()范围中。(选择
一、判断题 1、Page对象允许将初始化数据传递给一个JSP页面。(×) 2、Spring从容器中获取bean对象可以分别通过BeanFactory接口和ApplicationContext 接口来实现。(√) 3、POP3是发送邮件的协议。(×) 4、https://www.wendangku.net/doc/6c4749117.html,ng.*不是JSP本身已加载的基本类。(×) 5、提交SQL语句属于JDBC基本功能。(√) 6、Page指令用于定义JSP文件中的全局属性,<%@ page %>作用于整个JSP页面。(√) 7、在JSP中使用
J2EE上测试题 一)选择题总共40分 1.假设在helloapp应用中有一个HelloServlet类,它位于com.fuhe.servlet包下,那么这个类的 class文件应该放在什么目录下? (单选) (A) helloapp/HelloServlet.class (B) helloapp/WEB-INF/lib/com/fuhe/servlet/HelloServlet.class (C) helloapp/WEB-INF/classes/HelloServlet.class (D) helloapp/WEB-INF/classes/com/fuhe/servlet/HelloServlet.class 2.假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下:
一、填空题(每题1分,共50分) 1.Java程序可以分为两种基本的类型,分别是_________________和_________________。 2.如果一个类不显式地写上其继承的父类,则它的默认的直接父类是系统类_______________。 3.Java对内存的释放是采用____________________机制。 4.接口的所有成员方法都具有________________和________________属性。 5.设有一个Java应用程序,其源程序文件名为Test.java,则编译该源程序的命令是_________________________,运行该应用程序的命令为_________________________。 6.如果线程类A需要继承类B,而类B不是线程类,则需要通过接口类Runnable构造线程类A,类A的具体定义为 ___________________________________________________。 7.Java系统提供了方法____________________来强制立即回收垃圾。 8.运行以下语句后b的值是__________________。 String s1=“1234”; String s2=new String(“1234”); Boolean b=(s1 = = s2); 9.通过Connection实例对象的_____________________方法可以创建出Statement的实例对象。 10.JAVA小应用程序一般是_____________的子类。 11.JAVA语言通过____________机制简化了程序的内存管理。 12.JAVA字符(char)采用的是___________字符集。 13.面向对象的计算机语言一般应具有3个基本特性:____________、____________和______________。 14.JAVA语言中,捕获异常是通过________________语句结构来实现的。 15.编写线程程序主要是构造线程类,而构造线程类的方式主要有以下两种:(1)____________________________________________ (2)____________________________________________ 16.假设用JAVA语言为清华大学(网址为https://www.wendangku.net/doc/6c4749117.html,)编写了图像处理包image,那么按照SUN公司的建议,这个包的名称最好为_________________。 17.JAVA数据类型中,具体包括哪三种引用数据类型:___________、____________、______________。 18.JAVA程序以________为单位进行组织的。 19.如果没有显式的定义类的构造方法,则系统会为该类定义一个默认的构造方法,这个默认的构造方法的作用是_____________________________________。
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对象。 STEP 6:结束事务。在操作完成之后还要进行显式的结束事务的操作。 STEP 7:关闭Session。类似于释放数据库的连接。 5、为什么要实现序列化? 1、序列化以某种存储形式使自定义对象持久化 2、序列化将对象转换为可传输方式从一个地方传递到另一个地方 3、序列化使程序更具维护性 6、比较一下sessionFactory中的opensession()和getcurrentsession()方法 1、getCurrentSession创建的session会和绑定到当前线程,而openSession 不会。 2 、getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭 7、比较一下session中的load()和get()方法,以及如何保证每次都是从数据库读取而不是在缓存中读? load()和get()方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。 其区别在于:如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。 Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。
一些java开发系统必用的基础知识 2.1 JavaEE平台 Java EE是J2EE的一个新的叫法。改掉它名字的目的是为了明确J2EE就只是一个Java企业应用程序。Java EE的核心是EJB3.0,它提供了一个更方便的企业应用程序框架。伴随网络和EJB容器概念的诞生,软件应用行业开始担心sun的合作伙伴是否会不断地在Java平台上引入更新的标准框架,这使得软件应用行业的业务核心组件架构不知所措,以及是否需要EJB的声音来显示这种犹豫。 JavaEE(Java Platform Enterprise Edition)[16]是Java2平台下的一种标准,具备高维护性、高移植性、高扩展性与高复用性等优秀特点。JavaEE以面向接口为原则松散耦合,己发展成为包含Applet、JDBC、JSTL、WebServer等诸多实用性技术的标准平台。 2.2 MVC 框架 MVC[17、18]全名是Model View Controller,即模型-视图-控制器。MVC 框架巧妙地把业务逻辑和数据显示分开来,具有高重用性、低耦合性、可维护性高、生命周期成本低、部署快等让许多开发者热衷选择特点。是架构设计过程中的必选框架。 MVC是一种软件设计范式。它通过分离业务逻辑、数据和接口显示来组织代码,并且把业务逻辑收集到一个组件中。它不需要重写业务逻辑,同时改进和定制界面和用户交互。MVC是的开发很独特,它把传统的输入、输出和处理功能映射到一个逻辑图形用户界面结构中。 2.3 SSH 框架 SSH2[19]全称是的缩写,是一个成熟又经典集成框架,是一种轻量级的企业级Java EE平台,具有高实用性和易扩展性,主要职责分为数据持久层、业务逻辑层、视图层和控制层。基于该框架应用可在普通Web容器中运行,无需获得EJB容器的支撑。 SSH框架集是很多软件设计过程中使用的框架集。此框架就是基于MVC模式开发出来的。MVC模式已经成为现代J2EE开发中的一种常见模式,并深受JSP、PHP和其他开发人员的喜爱。MVC模式包括视图、控制器和模型。将应用程序分成这三个部分后,每个部分都处理自己的任务。视图层提取用户的输入信息并将其提交给控制器。控制器根据某些选择决定模型层将处理该请求。模型层用来处理用户的请求,会根据业务逻辑代码来返回数据,到最后会通过视图层来显示给用户看。 2.3.1 Struts2就是基于MVC设计模式的一个网络应用框架,它的本质是一个servlet。在MVC设计模式中,Struts2被用作一个控制器来建立模型和视图之间的数据交互。Struts 2是下一代Struts。它是在struts 1和webwork 技术的基础上开发的一个新的struts 2框架。它的新struts 2架构与struts
J2ee测试题 一、针对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有正确答案,则该题不得分。此外,多注意上课的内容,其余章节也有题,这里不给出参考题目。 1) 在J2EE中,test.jsp文件中有如下一行代码:
6) 给定JSP程序如下,可以在下划线处插入并且能够正确输出WELCOME,JACK的语句是(bd)(选择二项)
<%String name=”JACK”;%>WELCOME,_________ a) name b) <%=name%> c) out.println(name); d) <%out.println(name);%> 7) 在J2EE中,重定向到另一个页面,以下(c)语句是正确的(选择一项) a) request.sendRedirect(http://www.jb_https://www.wendangku.net/doc/6c4749117.html,); b) request.sendRedirect(); c) response.sendRedirect(“http://www.jb_https://www.wendangku.net/doc/6c4749117.html,”); d) response.sendRedirect(); 8)给定JSP中,使用