题库试题--基于j2ee架构的网上试题库系统设计与实现练习题
j2ee考试题及答案

J2EE考试题及答案
一、概述
本文档收集了一些J2EE考试题与相应的答案。
这些问题涵盖了
J2EE的不同方面,包括Servlet、JSP、EJB、Web服务等。
下面依次列出各个部分的考试题目及答案。
二、Servlet
1. Servlet的生命周期是什么?
答案:
Servlet的生命周期包括以下4个阶段:
1.实例化:当容器接收到对Servlet的请求时,会创建Servlet的实例。
2.初始化:在创建完实例后,容器会调用init方法对Servlet进行初始化。
这个方法只会在Servlet的生命周期中被调用一次。
3.服务处理:一旦初始化完成,Servlet就可以处理来自客户端的请求。
容器会多次调用Servlet的service方法来处理不同的请求。
4.销毁:当容器关闭或发生其他终止条件时,容器会调用destroy 方法销毁Servlet实例。
在销毁之前,容器会先调用Servlet的destroy方法进行一些清理工作。
2. Servlet的线程模型是什么?答案:
Servlet的线程模型是。
J2EE架构设计与开发试题及答案docx

专业:移动通信科目:J2EE架构设计与开发(下)一、单项选择题1.spring需要在()配置文件中进行配置A.applicationContext.xmlB.web.xmlC.webwork.xmlD.struts2.xml答案:B2.下列哪个struts2标签可以充当HTML中的文本框()A.<s:form>B.<s:textfield>C.<s:textArea>D.<s:checkbox>答案:B3.Web服务实现数据传递是以()方式进行的A.HTTP和htmlB.XML和HttpC.HTML和javaD.TXT答案:B4.对于以下程序,Customer对象在第()行变为持久化状态Customer c1=new Customer();c1.setName(\"Tom\");Session session1=sessionFactory.openSession();Transaction tx1 = session1.beginTransaction();session1.save(customer);mit();session1.close();A.line3B.line7C.line1D.line5答案:D5.下列关于Spring依赖注入的说法错误的是()A.依赖注入一般情况下由容器完成,不是应用代码完成的B.Spring只支持设值注入C.设值注入的方式用的多些D.依赖注入包括三种接口注入,设值注入,构造方法注入答案:B6.以下hql语句有误的是()A.“select id, studentName,* from Student as s“B.“select new Student(s.id, s.studentName) from Student as s“C.“select new Student(id, studentName) from Student”D.“select id, studentName from Student“答案:A7.假设某个bean要使用某种类型的资源,那么一般情况下应该把资源的释放放到bean的生命周期中()阶段A.初始化B.销毁C.使用D.定义答案:B8.下列哪一个类是让一个Action 类能够更快开始工作的基类()A.ValidateB.ActionContextC.ActionD.ActionSupport答案:D9.有关spring中配置数据源,下列说法正确的是()A.DataSource接口位于java.sql包中B.配置数据源的bean名字只能是dataSourceC.在一个spring配置文件中可以配置多个数据源D.DataSource就是一个数据库连接答案:D10.对于String类型的标识属性,最好选择哪一种主键生成器()A.assignedB.nativeC.uuidD.sequence答案:C11.当集合元素是基本数据类型和包装类、字符串和日期类型时,使用()标签表达数据列A.<element…./>B.<one-to-many…/>C.<many-to-many…/>D.<composite-element…/>答案:A12.下列关于企业级应用描述错误的是()A.企业应用中数据的一致性要求很高,所以必须有严格的事务性B.企业级应用对安全性要求很高C.企业级应用系统彼此之间是相互独立的,不需要和现有的D.企业级应用中的系统可能分布在不同的地方答案:A13.对于数组集合属性的映射,使用哪个标签()A.<array…./>B.<list…./>C.<set…./>D.<map…./>答案:A14.在持久化层,哪些状态不属于对象状态()A.游离状态B.独立状态C.持久化状态D.临时状态答案:B15.QBC查询中,表达模糊查询条件错误的是()A.Restrictions.ilike(“studentName”, “%1%”)B.Restrictions.ilike(“studentName”, “1%”)C.Restrictions.ilike(“studentName”, “1”)D.Restrictions.ilike(“studentName”, “%1”)答案:C16.事务隔离级别是由谁实现的()A.数据库系统B.JDBC驱动程序C.HibernateD.Java应用程序答案:A17.查询id在30到50之间的记录,并按照id降序排列()A. session.createCriteria(Student.class).add(Restrictions. between ("id", 30,50)) .addOrder(Order.desc("id")).list();B. session.createCriteria(Student.class).add(Restrictions. between ("id", 30,50)) .addOrder(Order.asc("id")).list();C. session.createCriteria(Student.class).add(Restrictions.in("id", 30,50)).addOrder(Order.desc("id")).list();D. session.createCriteria(Student.class).add(Restrictions.in("id", 30)).addOrder(Order.asc("id")).list();A.B.C.D.答案:B18.java中提供了支持国际化的类,其中包含Local、ResourceBundle及()A.MessageFormatB.DateFormatC.FormatD.NumberFormat答案:A19.以下哪种方法代表“大于等于”符号()A.Restrictions.le()B.Restrictions.lt()C.Restrictions.gt()D.Restrictions.ge()答案:D20.以下哪种主键生成器为自增长方式()A.identityB.nativeC.sequenceD.uuid答案:D21.QBC查询中,表达id >= 30条件正确的是()A.Restrictions. between (“id”, 30)B.Restrictions.ge(“id”, 30)C.Restrictions.gt(“id”, 30)D.Restrictions. in (“id”, 30)答案:B22.以下对切入点的声明错误的是()(注意:com.dao.impl为包名) A.@Before(“execution(* *(..))“)B.@Before(“execution(* com.dao.impl.*.*(..))“)C.@Before(“execution(* save*(..))“)D.@Before(“execution(* com.dao.impl.*(..))“)答案:D23.对象模型如下:public class Classes {private int id;private String classesName;private Set<Student> students;省略setters/getters}public class Student {private int id;private String studentName;private Classes classes;省略setters/getters}将上述对象模型转换成关系模型,用以下那个关联映射()A.1—>NB.N—>NC.1<—>ND.N<—>N答案:C24.依赖注入说法正确的是()A.依赖注入是面向对象技术的替代品B.依赖注入即是“面向接口”的编程C.依赖注入的使用会增大程序的规模D.依赖注入的目标是在代码之外管理程序组建间的依赖关系答案:B25.下列哪一个是能在一个Action执行的前后执行的代码()A.ognlB.ActionC.SpringD.Interceptor答案:D26.以下程序代码对Customer的name属性修改了两次:tx=session.beginTransaction();Customer c1=(Customer)session.load(Customer.class,new Long(1));c1.setName(\"Jack\");c1.setName(\"Mike\");mit();执行以上程序,Hibernate需要向数据库提交()条update语句A.2B.0C.3D.1答案:D27.某方法要求在事务中执行,如果已经在事务中,则直接调用,否则需开启事务才调用,事务的传播机制选哪项()A.PROPAGATION_REQUIRED_NEWB.PROPAGATION_SUPPORTSC.PROPAGATION_NESTED.PROPAGATION_REQUIRED答案:D28.下面()属于Hibernate映射文件中包含的内容A.主键生成策略B.属性数据类型信息C.Hibernate属性参数D.数据库连接信息答案:A29.设置某实例第一次被访问时支持延迟加载()A.lazy=falseB.default-lazy=trueC.lazy=trueD.default-lazy=false答案:C30.Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xml文件中,用哪个元素映射orders属性()A.<property>B.<one-to-many>C.<many-to-one>D.<set>答案:D31.以下不属于的ORM框架的是()A.OJBB.TopLinkC.SpringD.Hibernate答案:C32.下列哪个struts2标签可以充当HTML中<select>()A.<s:Iterator>B.<s:form>C.<s:select>D.<s:textfield>答案:C33.已知对象模型:public class Classes {private int id;private String classesName;private Set<Student> students;省略setters/getters}public class Student {private int id;private int score;private Classes classes;省略setters/getters}查找1到3班中成绩大于60的学生()A.B. session.createCriteria(Student.class).add(Restrictions.gt("score", 60)) .add(Restrictions.between("id",1,3)).createCriteria("classes").list();C. session.createCriteria(Student.class).add(Restrictions.gt("score", 60)) .createCriteria("classes").add(Restrictions.between("id",1,3)).list();D. session.createCriteria(Student.class).add(Restrictions.gt("score", 60)) .add(Restrictions.between("id",1,3)).list();A.选项放不下,在题干中B.session.createCriteria(Student.class).add(Restrictions.gt("score", 60))C.选项放不下,在题干中D.选项放不下,在题干中答案:A34.下面()不是由Struts提供的A.<html:errors>标签B.DynaForm类C.saveErrors方法的定义D.DispatchAction类答案:B35.关于struts2的校验,下列说法正确的是()A.类型转换出错时,struts2会自动的将错误信息保存在actionError中。
j2ee考试题及答案ejb

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题库集合

1.Hibernate要求持久化类必须提供一个( ),在程序运行时,Hibernate运用Java反射机制,调用ng.reflect.Constructor.Newinstance()方法来构造持久化类的实例。
A.带参数的默认构造方法B.不带参数的默认构造方法C.带参数的自定义构造方法D.不带参数的自定义构造方法2.为了支持J2EE应用程序,在会将以下除了( )的其他几个部署到J2EE容器中。
A.EJB容器B.Web容器C.客户端应用程序容器D.数据库管理3.下述说法中,错误的是( )A.方法的重载是指多个方法可以共享同一个名字,但是参数必须不同B.用abstract修饰的类称为抽象类,它不能实例化C.接口不包含成员变量和方法实现D.构造方法可以有返回值4.下列程序段的输出结果是public class Expressions{(题有点问题)void printExpr(){int x=3,y=4,z=5;System.out.println(x+y+z);}}A.xyzB.x+y+zC.12D.95.下列语句序列执行后,K的值是( )int x=2,y = 5,k = 0;switch(x%y){case 0: k = x+y;break;case 1: k = x-y;break;case 2: k = x*y;break;default: k=x/y;break;}System.out.println(k);A.2B.5C.10D.06.下面哪个表达式可以用来得到X和Y的最大值()A.X>Y?Y:XB.X<Y?Y:XC. X>Y?(X+Y):(X-Y)D.X==Y?Y:X7.下面不属于Java语言特点的一项是( )A.安全性B.分布式C.移植性D.编译执行8.应用程序的main方法中有以下语句,则输出的结果是( )double x= 1234.1234567;DecimalFormat form1 = new DecimalFormat("0.00");System.out.println("PI="+form1.format(x));A.1234.12B. 4.12C. 1234.1234567D.1234.009.下面的描述错误的是( )A.Statement的executeQuery()方法会返回一个结果集B.Statement的executeUpdate()方法会返回是否更新成功的boolean值C .使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值D .ResultSet中的next()方法会使结果集中的下一行成为当前行10.下面关于构造函数的说法不正确的是( )A.构造函数也属于类的方法,用于创建对象的时候给成员变量赋值。
《J2EE应用框架设计与项目开发》试题(附答案)

《J2EE应用框架设计与项目开发-2014》试题第一章J2EE体系结构一、单项选择题(每题2分,其中只有一个选择项为正确,多选、不选或错选该题均不得分)1、下列关于J2EE的说法,正确的是()A.是一套使用java进行企业级web应用开发的事实上的工业标准。
B.J2EE不是一种平台规范。
C.J2EE平台提供了多层分布式的应用模型,不能重新利用组件的能力。
D.J2EE不一定要基于J2SE。
答案:A2、J2ME是指()A.java to more enterpriseB.java 2 mobile editionC.java 2 micro editionD.java 2 mini edition答案:C3、J2EE的三层结构包括表示层、中间层、()A.服务层B.会话层C.保存层D.数据层答案:D4、在J2EE三层结构中,中间层与MVC设计模式中的()模块相对应。
A.视图B.控制器C.模型D.以上都不对答案:B5、JavaEE服务器与容器的关系是()A.服务器是javaEE容器基础,容器是它的一部分B.javaEE容器是服务器的基础,服务器是它的一部分C.二者没有什么关系D.服务器和容器指的是同样一个东西答案:A6、下列不属于J2EE标准服务的是()A.邮件服务B.安全服务C.短信服务D.消息服务答案:C7、下列不属于J2EE组成结构中的各元素的是()A.J2EE应用程序组件B.J2EE容器C.J2EE资源适配器D.J2EE磁盘答案:D8、下列那个不属于java技术框架SSH里面的()A.StrutsB.HiveC.SpringD.Hibernate答案:B二、多项选择题(其中有两个或两个以选择项为正确,不选、错选或多选均得0分,漏选则按选对率计分,每题3分。
)1、通常的瘦客户端多层次应用程序难于编写,是因为要设计多行复杂代码()A.用于事务处理B.用于状态管理C.用于多线程D.用于资源池E.用于其他的复杂的底层设计答案:ABCDE2、下列哪些是J2EE的标准服务:()A.邮件服务B.消息服务C.安全服务D.连接器提供的服务E.硬件检测服务答案:ABCD3、J2EE必须支持的应用组件有:()A.客户端应用程序B.代码编译器C.AppletsD.Servlets、JSP页面、JSF应用程序、过滤器、WEB事件监听器E.企业javabean组件答案:ACDE4、下列属于web服务器的是:()A.IISB.WeblogicC.ApacheD.TomcatE.Websphere答案:ACD三、判断题(每题1.5分)1、JAVA是由微软公司推出的。
2023J2EE测试题题库

2023J2EE测试题题库2023最新J2EE测试题题库一、 JAVA 语言1、面对对象的三个基本特征2、方法重载和方法重写的概念和区分3、接口和内部类、抽象类的特征4、文件读写的基本类5、串行化的留意事项以及如何实现串行化6、线程的基本概念、线程的本状态以及状态之间的关系STOP (), SUSPENG ()STOP 的本意是中止一个线程。
中止的线程的问题根源不在于object locks, 而是 object 的状态。
当 stop() 中止一个线程时,会释放线程持有的全部 locks 。
但你并不知道当时的代码正在做什么。
Suspend() 原意是临时悬挂起一个线程对应的是 resume() 函数,用来恢复从前被悬挂起的线程。
它并不释放将被悬挂之线程全部的 LOCKS 。
7、线程的同步、如何实现线程的同步8、几种常用的数据结构以及内部实现的原理9、 socket 通信( tcp/udp 区分及 JAVA 的实现方式)10、 JAVA 的大事托付机制和垃圾回收机制11、 JDBC 调用数据库的基本步骤12、解析 XML 文件的几种方式和区分13、 JAVA 的四种基本权限的定义14、 JAVA 的国际化二、 JSP1、至少能说出 7 个隐含对象以及他们的区分2、 forward 和 rederect 的区分3、 jsp 的常用的命令三、 servlet1、什么状况下调用 doget() 和什么状况 dopost2、 servlet 的 init() 方法和 service() 方法的区分3、 servlet 的生命周期4、如何实现 servlet 的单线程模式5、 servlet 的配置6、四种会话跟踪技术四、 ejb1、 ejb 容器供应的服务2、 ejb 的角色和三个对象3、 ejb 的几种类型4、 bean 实例的生命周期5、 remote 接口和 home 接口主要作用6、 remote 接口和 home 接口主要作用7、客服端口调用 EJB 对象的几个基本步骤五、数据库1、存储过程的编写2、基本 sql 语句六、 weblogic1、 weblogic 指定大小的内存2、如何设定 weblogic 的热启动模式(开发模式)与产品发布模式。
07级J2EE系统架构和程序设计考试题(中文A卷)
2009―2010学年第一学期期末考试试题(A卷)课程名称: J2EE系统架构和程序设计出题教师:专业: ________ 班级:_______ 姓名:________ 学号:_______------------------------------------------------------------------- 一.单项选择题:请从A,B, C,D四个选项中选出最符合题意的一个答案。
(每题1分,共15分)1、在JDBC连接数据库编程应用开发中,利用那个类可以实现执行数据库的存储过程( )(A)Connection类(B)PreparedStatement类(C)CallableStatement类(D)Statement类2、在JDBC连接数据库编程应用开发中,利用那个类可以实现连接数据库( )(A)Connection类(B)PreparedStatement类(C)CallableStatement类(D)Statement类3、为了实现在Java程序中调用带参数的SQL语句,应该采用下面的那个类来完成( )(A)Connection类(B)PreparedStatement类(C)ResultSet类(D)Statement类4、在JDBC连接数据库编程应用开发中,利用那个类可以实现包装数据库中的结果集( )(A)Connection类(B)PreparedStatement类(C)ResultSet类(D)Statement类5、下列选项中哪一项不是J2EE容器中的基本要素( )(A)Component (B)Container Service(C)Framework (D)Container6、下列选项中哪一项不是企业级应用的特点( )(A)Distribute Environment (B)Attractive User Interface(C)High Security (D)Concurrent Support7、那个关于轻量级应用服务器的描述是正确的()(A)不支持Struts (B)不支持Hibernate(C)不支持Annotation (D)不支持EJB8、在典型的War包中,那个目录存放的JSP页面不会被公开访问( )(A)root (B)WEB-INF(C)lib (D)classes9、在JSP页面中调用JavaBean组件中的某个方法时不会用到的标签是哪一个( ) (A)<javabean> (B)<jsp:useBean>(C)<jsp:setProperty> (D)<jsp:getProperty>10、JSP 页面中的<%@ page %>指令主要是用于定义JSP页面文件中的各种全局编译属性,下列关于该指令用法的描述不正确的是哪一个( )(A)<%@ page %>作用于整个JSP页面。
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对象。
STEP 6:结束事务。
在操作完成之后还要进行显式的结束事务的操作。
J2EE架构与应用开发测试题目(附答案)
复查测验:测试题目一问题1A. java to more enterpriseB. java 2 mobile editionC. java 2 micro editionD. java 2 mini edition正确答案: C. java 2 micro edition问题2 servletA. init()B. server()C. service()D. destroy()正确答案: C. service()问题3 WEB-INFA. HTMLB. JSPEC. 图片D. web.xml正确答案: D. web.xml问题4 Web/EJB/ApplicationA. JARB. EARC. WARD. ZIP正确答案: B. EAR问题5 下列哪个不是JSP可以直接使用的内置变量: D. serviceA. requestB. sessionC. exceptionD. service正确答案: D. service问题6 下面哪个不是EJBA. JbossB. WebLogicC. WebSphereD. Apache正确答案: D. Apache问题7 web.xmlA. ServletB. JSPC. JavaBeanD. HTML正确答案: A. Servlet问题8 关于JavaScriptA. 一种Java语言B. 运行在客户机上C. 运行在服务器上D. 被编译后执行正确答案: B. 运行在客户机上问题9 四类JDBCA. JDBC-ODBC驱动桥B. JDBC本地驱动C. JDBC网络驱动D. 纯java驱动正确答案: D. 纯java驱动问题10 下面关于JSP说法错误的是 D. 不能给JSP页面添加过滤器。
A. 访问JSP页面时,容器首先将JSP页面翻译成一个Java文件B. 不是每一个JSP页面都能够访问exception对象C. 一个HTML文件重新命名为JSP文件,这个JSP文件也能够被正确访问D. 不能给JSP页面添加过滤器正确答案: D. 不能给JSP页面添加过滤器问题11 War中不能包含的是 D. EJB。
J2EEWeb模拟考试题及答案
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方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分类号:TP311 单位代码:10422 密级:学号:200412563论文题目:基于J2EE架构的网上试题库系统设计与实现作者姓名专业指导教师姓名2006年 04月 08日原创性声明和关于论文使用授权的说明原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究所取得的成果。
除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的科研成果。
对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。
本声明的法律责任由本人承担。
论文作者签名:日期:关于学位论文使用授权的声明本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。
(保密论文在解密后应遵守此规定)论文作者签名:导师签名:日期:目录摘要 (1)ABSTRACT (3)第一章绪论 (5)1.1课题背景 (5)1.2现实意义 (6)1.3国内外研究状况 (7)1.4课题的技术路线 (7)1.5论文的结构 (8)第二章 J2EE与MVC模式介绍 (9)2.1J2EE概述 (9)2.2MVC模式概述 (10)2.3MVC模式在J2EE技术中的应用 (11)2.4小结 (11)第三章系统分析 (12)3.1系统的功能描述 (12)3.2系统的建模分析 (12)3.2.1统一建模语言UML (12)3.2.2系统的对象模型 (13)3.2.2.1确定类和对象 (13)3.2.2.1系统的静态视图 (14)3.2.3系统的用例模型 (15)3.2.4系统的流程模型 (20)3.3小结 (21)第四章系统设计 (22)4.1功能模块划分 (22)4.2网络结构设计 (23)4.3系统框架设计 (24)4.4数据库设计 (25)4.4.1 数据库表的总体设计 (25)4.4.2 重要模块的数据库表设计 (26)4.4.2.1 考纲的数据库表设计 (26)4.4.2.2 试题拆分方案设计 (27)4.5主要功能模块的设计 (29)4.5.1 考纲管理模块设计 (29)4.5.2 试题管理模块设计 (31)4.5.3 试卷管理模块设计 (34)4.6小结 (37)第五章系统实现 (38)5.1业务逻辑层的实现 (38)5.1.1 EJB概述[5] (38)5.1.2会话Bean的实现 (39)5.1.3实体Bean的实现 (42)5.1.4 DAO模式的使用 (44)5.1.5值对象模式的使用 (47)5.2W EB层的实现 (48)5.2.1业务代理模式的使用 (48)5.2.2 Servlet的实现 (49)5.2.3 JSP的实现 (50)5.3系统的实现界面 (51)5.4小结 (53)第六章总结和下一步工作 (55)参考文献 (56)致谢 (58)摘要随着计算机网络和信息技术的飞速发展,网络教育日益流行。
网络教育具有诸多优点:如信息量大,内容丰富、生动;教与学不受时间、地域的限制等等。
网上考试是网络教育中的一个重要环节,网上试题库的设计以及试卷的组织则是网上考试的基础。
本文设计并实现了一个基于J2EE架构的网上试题库系统,用于为网上考试提供试题、试卷资源。
开发该系统的目的是通过网络实现与考纲对应的标准化试题(包括多媒体试题)资源的数据库管理,实现试题资源的共享和快速分发,支持手工组卷与自动组卷,并为用户提供在线测试功能。
系统采用基于J2EE的四层结构。
客户层为用户提供可视化图形界面;Web层响应客户请求,为客户提供所请求的数据;业务逻辑层运行应用逻辑,完成客户请求中相应的计算和数据操作;数据层存储、管理数据信息。
采用多层结构的方式使得系统具有很强的伸缩性、通用性、兼容性和可操作性,每一层能够专注于特定的角色和功能。
在此基础上,系统使用了MVC、业务代理、DAO、值对象等多种设计模式,使得系统结构清晰,具有良好的可扩展性、可维护性以及平台无关性。
论文依照软件工程的思想将系统的开发分为三个阶段进行论述:在需求分析阶段,用UML建立系统的对象模型、功能模型和流程模型,确定系统的结构和行为;在系统设计阶段探讨了网上试题库系统的网络结构、系统架构并进行了系统的数据库设计,对一些关键问题如考纲的建立和试题的存储等做出解决,提出便于使用和扩展的无限级考纲树结构和试题的拆分存储方案,然后为考纲管理、试题管理、试卷管理等主要功能模块建立了详细的设计模型;在系统实现阶段,采用从下到上的开发思路进行系统实现做出说明,重点对业务逻辑层和Web层的实现做了论述,其中包括了EJB、Servlet、JSP、JNDI等J2EE核心技术的使用以及业务代理、DAO、值对象等设计模式的运用,并给出了系统具体实现的实例。
论文的最后总结了系统的优势和需要改进之处。
在论文的完成过程中,本人主要做了以下工作:用软件工程和面向对象的思想对系统进行分析与设计;系统中考纲管理、题库管理、试卷管理等主要功能模块的实现;系统实现过程中关键问题的解决,包括知识树的建立、试题拆分方案设计等;对EJB、servlet、JSP、JNDI等J2EE核心技术的研究和运用。
对J2EE架构和MVC模式的研究,对DAO、值对象、业务代理模式的研究。
[关键词]:J2EE、MVC 、EJB、试题库、设计模式ABSTRACTWith the development of Internet and Information Technology, Online Education becomes more and more popular. Online Education has many advantages : such as large volume of information, informative, lively;Teaching and learning rescuing from the time, geographical restrictions and so on. Online Examinations are an important part of Online Education. The design of Online Praxis Storehouses and forming papers is the base of Online Examinations.This paper introduces the architecture and the realization of the Online Praxis Storehouses system based on J2EE.The system achieve the database management of standardlized praxis rescouces and achieve the sharement and the quick dispense of praxis rescouces.More over, it offers forming papers in manual or automatic way, and enable users testing online.The system employs J2EE four-tier based structure.Browser provides visual graphic interface; Web Server responds to the requests of the clients. Application Server processes application, computation and data operation; DB Server stores and administrates information.The impleme- ntation of multi-tier structure enables the system to have distinguished quality of flexibility, currency and compatibility.This paper dissertates the process of the development of the Online Praxis Storehouse system which is divided into 3 phases according to the software engineering ideology :In needs analysis phase, I established the Functions Model and the Objects Model using the UML system to determine the structure and behaviour;In the system design phase I discussed the network structure of the system, the structure of the system and the database system designing,solving some important problems such as the establishment of knowledge and the storage of proxis.And then I established the design model for some major function module.In theRealization phase I maked instruction of the process by bottom-up development method, including EJB, Servlet, JSP, JNDI, and other core technologies of J2EE and the use of design patterns such as Business Delegate, DAO, Value Objects etc.In the final of this paper I summarized the advantages and the places needing improving of the system.In the process of dealing with this Paper,I have finished many works following:Analyzing and designing the system according to the Software Engneering ideology;Realization of some major function module;Solving some key problems such as the establishment of knowledge and the storage of proxis;Researching and using many core technology such as EJB、、JSP、JNDI,etc; Researching the Structure of J2EE and the pattern of MVC,and some design patterns such as Business Delegate, DAO, Value Objects etc.[Key Words] J2EE, MVC, EJB, online praxis storehouse, design pattern第一章绪论1.1 课题背景在信息技术飞速发展的今天,网络技术的应用越来越广泛,如何利用Internet和校园网开展网络教育正受到人们的普遍关注。