J2EE_WEB核心技术_web组件与框架开发技术__杨少波主编课后题及答案

合集下载

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架构设计与开发试题及答案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开发基础(习题卷20)

J2EE开发基础(习题卷20)

J2EE开发基础(习题卷20)说明:答案和解析在试卷最后第1部分:单项选择题,共57题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]以下哪些不属于Spring 4.3版本中Bean的作用域()A)applicationB)requestC)responseD)globalSession2.[单选题]在Servlet 过滤器的生命周期方法中,每当传递请求或响应时, web 容器会调用( )方法。

A)serviceB)initC)destroyD)doFilter3.[单选题]下面一对多关联的配置中,存在哪些错误( )。

<set name="orders" inverse="false" cascade="true"><one-to-many class="com.x.entity.Order"column="customer_id" /></set>A)inverse 属性不可以设置为falseB)cascade属性可设置为trueC)class="com.x.entity.Order" 应为type="com.x.entity.Order"D)column 属性不可再<one-to-many> 节点内设置4.[单选题]在JSP页面中可以通过Struts 2 提供的()标签来输出国际化信息A)<s: texts >B)<s: submit >C)<s: input >D)<s:text>5.[单选题]<html ><body><jsp:useBean id="address" class="Address Bean" / ><jsp:setPropertyname="address" property="city" / ><jsp:get Property name="address" property="city" / ></body ></html >如果用下面的URL访问,页面会输出什么结果? ( )http://localhost:8080/ address.jsp?city=ChicagoA)MiamiB)ChicagoC)以上都不对D)Los Angeles6.[单选题]在web.xml文件中,描述了一个Servlet,其中( )指定了Servlet类的访问路径。

j2ee考试题及答案ejb

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)两种方式来处理异常。

J2EE34道复习题答案

J2EE34道复习题答案

1、简述J2EE的四层模型。

(1)运行在客户端机器上的客户层组件(2)运行在J2EE服务器上的Web层组件(3)运行在J2EE服务器上的业务逻辑层组件(4)运行在EIS服务器上的企业信息系统(Enterprise information system)层软件2、什么是对象持久化?即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。

3、简述一下OR MAPPING,为什么我们使用它?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 Web核心技术《Web组件与框架开发技术》的“第1 章 Web表现层JSP技术基础”教学指导和课后练习题

J2EE Web核心技术《Web组件与框架开发技术》的“第1 章 Web表现层JSP技术基础”教学指导和课后练习题

J2EE Web核心技术《Web组件与框架开发技术》的“第1 章Web 表现层JSP技术基础”教学指导和课后练习题1.1“第1 章 Web表现层JSP技术基础”小结1.1.1“第1 章 Web表现层JSP技术基础”的教学重点由于基于Web浏览器/Web服务器模式的Web应用系统的开发涉及到多个不同领域的知识,如何能够为学生构建出B/S模式下的Web应用系统开发所需要的各种知识体系、三层体系架构的分层原则,JSP页面基本的语法规则,这包括指令、脚本和动作标签等方面的内容将构成本章的教学重点。

本章中的这些知识本身并不抽象和难懂,但比较“琐碎”和“庞杂”。

因此,需要授课教师能够通俗、简洁地讲解这些知识,这也是授课教师需要仔细思考的教学问题。

1.1.2“第1 章 Web表现层JSP技术基础”的学习难点1、J2EE平台开发的企业应用系统所体现出的系统特点大型企业级Web应用系统的设计和开发实现都要求企业应用系统是一个良好架构的应用系统,而基于J2EE技术平台的Web应用系统由于以其多层架构和系统平台无关性、便于协作开发等方面的优势,目前已经成为了电子商务、电子政务和企业信息化等应用领域中的主要解决方案。

如下示例图为微软的DNA架构体系(左)与J2EE三层架构对比(右)。

应用系统整体性能是否良好,取决于应用系统的体系架构设计。

企业应用系统之所以要应用三层体系架构设计,主要的目的是希望将应用系统中的数据访问、业务逻辑处理和数据表现各自隔离,有利于企业应用系统的功能扩展和系统的维护升级。

如下示例图示了J2EE平台中基于轻量级框架技术实现的B/S系统架构,该架构可以理解为结合“三层”和“MVC”的两个设计原则;J2EE B/S方式实现的三层(实际为四层)系统倡导将“业务处理”和“数据访问”逐步向服务器端集中转化(瘦客户端);业务逻辑在中间层,成为“对象服务”组件;中间层可以处理多客户端的请求、并通过数据库连接池,多线程,对象序列化等技术完成业务处理;三层模型的引入使业务逻辑具有更好的伸缩性、并与“前端”(UI)和“后端”(数据库系统)相互隔离。

《J2EE架构与开发》期末考试简答题答案

《J2EE架构与开发》期末考试简答题答案⼀、请简述Web的⼯作原理。

⼆、HTML的标签有两个重要的属性action和method,这两个属性的作⽤是什么?type属性和name属性的作⽤是什么?答:action:接收表单数据的服务器端程序或动态⽹页的URL地址。

method:表单数据传输到服务器的⽅法。

其属性值如下:post:在HTTP请求中嵌⼊表单数据。

get:将表单数据附加到请求该页的URL中。

type:所属类型name:单⾏⽂本框的名称,通过它可以在脚本中引⽤该⽂本框控件。

三、JSP有哪些内置对象?作⽤分别是什么?答:page对象:page对象代表JSP页⾯本⾝,是this引⽤的⼀个代名词。

对JSP页⾯创建者通常不可访问,所以⼀般很少⽤到该对象。

config对象:config对象是ServletConfig类的⼀个对象,存放着⼀些Servlet初始化信息,且只有在JSP页⾯范围内才有效。

其常⽤⽅法如下:getInitParameter(name):取得指定名字的Servlet初始化参数值。

getInitParameterNames():取得Servlet初始化参数列表,返回⼀个枚举实例。

getServletContext():取得Servlet上下⽂(ServletContext)。

getServletName():取得⽣成的Servlet的名字。

out对象:JSP页⾯的主要⽬的是动态产⽣客户端需要的HTML结果,前⾯已经⽤过out.print()和out.println()来输出结果。

此外out对象还提供了⼀些其他⽅法来控制管理输出缓冲区和输出流。

例如,要获得当前缓存区⼤⼩可以⽤下⾯的语句:out.getBufferSize();要获得剩余缓存区⼤⼩应为:out.getRemaining();response对象:response对象实现HttpServletResponse接⼝,可以对客户的请求做出动态的响应,向客户端发送数据request对象:session对象:application对象:pageContext对象:exception对象:exception对象⽤来处理JSP⽂件在执⾏时所发⽣的错误和异常。

J2EE 框架第2阶段培训结课后的综合考试题(第1部分)试题答案

1.1J2EE 框架第2阶段培训结课后的综合考试题(第1部分)试题答案1、选择题(每题1分,并且每题为单选,共10分)(1)假设在名称为helloapp的Web应用中有一个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/helloapp/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文件中的配置如下: <servlet><servlet-name> HelloServlet </servlet-name><servlet-class>org.javathinker.HelloServlet</servlet-class></servlet><servlet-mapping><servlet-name> HelloServlet </servlet-name><url-pattern>/hello</url-pattern></servlet-mapping>那么在浏览器端访问HelloServlet的URL是什么?(A) http://localhost:8080/HelloServlet(B) http://localhost:8080/helloapp/HelloServlet(C) http://localhost:8080/helloapp/org/javathinker/hello(D) http://localhost:8080/helloapp/hello(4)HttpServletRequest对象是由谁创建的?(A)由Servlet容器负责创建,对于每个HTTP请求, Servlet容器都会创建一个HttpServletRequest对象(B)由JavaWeb应用的Servlet或JSP组件负责创建,当Servlet或JSP组件响应HTTP 请求时,先创建HttpServletRequest对象(C)由JavaWeb应用程序负责创建,当Servlet或JSP组件响应HTTP请求时,先创建HttpServletRequest对象(D)由Servlet容器负责创建,只对第一个HTTP请求,Servlet容器才会创建出一个HttpServletRequest对象(5)欲从HTTP请求中获得用户的请求参数值,应该调用下面的哪个方法?(A)调用HttpServletRequest对象的getAttribute()方法(B)调用ServletContext对象的getAttribute()方法(C)调用HttpServletRequest对象的getParameter()方法(D)调用HttpServletRequest对象的getAttribute()方法(6)ServletContext对象是由谁创建的?(A)由Servlet容器负责创建,对于每个HTTP请求,Servlet容器都会创建一个ServletContext对象(B)由JavaWeb应用本身负责为自己创建一个ServletContext对象(C)由Servlet容器负责创建,对于每个JavaWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象(D)由Servlet容器负责创建,只对第一个HTTP请求,Servlet容器才会创建一个ServletContext对象(7)jspForward1.jsp要把请求转发给jspForward2.jsp,应该在jspForward1.jsp中如何实现?(A) <a href="jspForward2.jsp">jspForward2.jsp </a>(B) <jsp:forward page="jspForward2.jsp" >(C) <a href="jspForward1.jsp">jspForward1.jsp </a>(D) <jsp:forward page="jspForward1.jsp" >(8)下面哪个说法是正确的?(A) 对于每个要求访问maillogin.jsp的HTTP请求,Servlet容器都会创建一个HttpSession对象(B)每个HttpSession对象都有唯一的ID。

J2EEWeb考试试题及答案

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负责处理业务逻辑。

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、JSP中的指令主要有三种形式,分别是page、taglib、和include,完成对JavaBean进行对象实例化的JSP动作标签(Action)的是<jsp:useBean>2、JSP页面文件名称也可以以HTML的文件扩展名称存储,如:Welcome.html 页面示例;列出page指令中3个常用的属性:import、isErrorPage、ErrorPage3、JSP页面中<%@page%>指令主要用于定义JSP页面文件中的各种全局编译属性,<%@page%>指令的作用域为:本页面,在J2EE平台中的开源的Servlet容器主要有:JSAS、Weblogic、Tomcat。

4、JSP有两种注释方法<!--comments-->和<%--comments--%>的主要区别为:源码能看到、源码看不到,JSP页面文件最终被编译为_Servlet_类型的Java程序。

5、下面的脚本代码含义是:声明变量输出表达式6、<jsp:useBean/>动作标签的含义是__创建JavaBean组件______,<jsp:setProperty/>动作标签的含义是__设置成员属性_______,<jsp:include/>动作标签的含义是_______动态包含________,第二章1.在JSP技术规范中的主要内置对象分别有:application、config、exception、out、page、pageContext、request、response、session2.Java Bean所存放的数据要求为某个Web应用所有的JSP和Servlet所共享,这个Java Bean的范围应该定义成session.3.Application对象其实是ServletContext类的对象的实例,它的声明周期直到WEB服务器的关闭。

在引用application对象中的数据时必须要对他同步控制,同步关键字为:syschronized4.Exception对象是Java.long.exception类的对象实例,它的主要作用是:包装所有异常,其中的getMessage()方法的功能是:返回异常错误信息。

而toString()方法的功能是:在JSP文件执行时以字符串形式返回异常。

5.EL表达式${pageContext.response.characterEncoding}的含义是:响应JSP 页面代码;${header[“user-agent”]}的含义是:获得http请求中user-agent 属性值;${ername}的含义是:获得输入用户名称。

1、Servlet程序类的对象实例的声明周期主要分为如下阶段:创建对象实例,初始化、服务、销毁2、Servlet程序类的对象实例中的doGet()方法的作用是:基于get方式的请求,doPost()方法的主要作用是:基于post方式请求。

3、JSP页面中通过连接方式访问某Servlet组件,在该Servlet组件程序类中应该要覆盖的方法是:doxxx().4、在Servlet程序类中,一般包含有如下的成员方法:init()、service()、doget()/dopost()、destroy();5、在浏览器URL地址栏中如果以如下形式的URL地址向某个Servlet程序发送请求:http://localhost:8080/someOneServlet?userName=yang,那么会调用该Servlet程序中的service()方法第四章1、JSP Model One 架构模式的主要实现方式是利用JSP+JavaBean或者JSP+Servlet等标准的J2EE Web组件技术构建出WEB应用系统。

2、MVC架构模式中的模型层组件由JavaBean组件承担,并完成业务功能和数据处理等方面的功能;视图层组件由JSP承担;控制层组件协调表现层组件和模型层组件,主要由Servlet承担。

3、LSTL中的<c:out>标签的主要作用是:显示输出数据;<c:if>标签的主要作用是:单一条件关系;<c:choose>标签的主要作用是:多种形式的条件表达式;<c:forEach>标签的主要作用是:循环控制4、JavaBean组件其实就是一般的Java程序类,但需要在该类中提供一个:不带参数的构造函数;如果该组件为实体类,需要为其中的各个成员变量提供:setXX()和getXX()属性访问方法。

5、应用WEB过滤器组建技术同样也能够达到AOP所倡导的分离(技术问题实现和业务问题实现)的设计效果,实现ServletContextListener接口的监听器组件可以监听web应用系统的启动和关闭等状态。

1.web开发框架主要有请求驱动和事件驱动两种不同的类型,Structs2框架属于请求驱动,它是基于MVC架构描述设计的。

因此,也称Structs2框架。

2.Structs2框架中的ActionForm组件都可以是JavaBean类型的普通程序类,当然为了能够应用Structs2框架系统中的通用功能实现的技术支持,一般都将Action组件类继承于Actionsupport。

3.Structs2框架中的Action类返回值为一个普通字符值;该字符串代表一个显示结果信息的逻辑视图名,该名称将在struct.Xml文件中进行配置定义。

4.Structs2框架中的默认的核心系统配置文件为:struct.Xml;而项目中与应用系统有关系的系统配置为:web.xml文件;在struct.Xml文件中可以利用include引用structs-default.xml文件中的配置定义的项目。

5.Structs2框架中的异常映射分为:局部异常映射和全局异常映射两种形式,所谓的全局异常映射是将<exception-mapping>标签元素作为<global-exception-mappings>标签元素的子标签元素,而局部异常映射,也就是将<exception-mapping>标签元素作为<action>标签元素的子标签元素。

1、struct2框架中的Action类可以采用3种不同的实现形式,他们分别是普通JavaBean组件类;实现Action接口和继承ActionSuppor t基类,而且Action 类的execute()方法可以返回普通字符串类型的值。

2、在com.opensymphony.xwork.Action接口主要提供了execute()方法和字符符号常量,而com.opensymphony.xwork.ActionSupport实现了Action接口。

3、Struct2 框架中的Action根据处理的表单的不同可以分为两类:一类是字段驱动(Field-Driven)Action;另一类是模型驱动(Model-Driven)Action。

Model-Driven Action程序要求实现Model-Driven接口,并重写其中的object.getModel()方法。

4、在Struct2框架中可以采用两种不同的方式获得Servlet核心API对象,它们分别是非IOC方式和IOC方式。

为了能够获得HttpSession类的对象实例,要求目标Action类实现sessionAware接口,为了获得HttpServletRequest需要实现ServletRequestAware接口,为了获得HttpServletResponse类的对象实例,需要实现ServletResponseAware接口。

5、对象图导航语言OGNL是一种开源表达式语言,利用该表达式语言可以方便地操作保存在对象中的各种属性。

OGNL中的“#”符号可以访问OGNL 上下文和Action上下文对象所保存的各种对象数据。

第七章1、在Struct2框架中提供有如下形式的拦截器,他们分别是前置拦截和后置拦截以及返回结果前拦截;其中前置拦截是在目标方法执行之前被执行,而后置拦截是在目标方法执行之后被执行的。

2、Struct2框架中的拦截器与WEB过滤器二者都是AOP思想的体现,两者都能实现权限、控制、日志记录等附加的系统级别的功能服务。

但拦截器是基于Java 反射机制实现动态调用,而WEB过滤器是基于方法回调实现的。

3、在com.opensymphony.xwork2.interceptor.Interceptor接口中提供有如下形式的3个方法,他们分别是 init()、destroy()、intercept();其中的intercept()方法返回一个字符串作为结果的逻辑名。

4、拦截器组件的开发实现过程主要分为3个阶段,首先是定义拦截器;然后再在Action中引用;最后配置。

如果将若干拦截器组件按某种逻辑关系相互串接形成一组拦截器,该组拦截器组件程序称为:拦截器链5、在项目中应用拦截器栈可以简化系统中的structs.xml配置文件,而利用<interceptor-stack>标签可以定义一个拦截器栈。

同样,应用全局拦截器也能够简化structs.xml配置文件,在配置定义包下所有的Action组件类都会自动使用全局拦截器。

第八章1.在JSP页面中,可以利用<s:text>标签获得国际化资源信息文件中的信息,而在Action程序中可以利用ActionSupport基类中的gettext()方法获得国际化资源信息文件中的信息。

2.如果某个系统中的全局国际化资源信息的基础名为:baseMessages,则保存中文信息的国际化资源文件名为:baseMessages-zh-cn.proprelies,而保存英语信息的国际化资源文件名为:baseMessages-en-us.proprelies,默认资源信息文件名为:baseMessages.proprelies。

3.Struct2框架中的国际化资源信息文件加载的顺序分别是:当前Action类目录,当前包文件,全局资源文件,如果在3种资源信息文件中都没有提供对应的key键值的提示性信息,将出现错误提示4.在Struct2框架中提供了对WEB表单数据进行校验的技术支持,而且提供两种不同的技术实现方式的支持。

他们分别是编程方式和校验框架。

5.在WEB表单数据校验技术实现中,Action类中的valiate()校验方法只适用于Action程序中的execute()处理器方法发送请求的表单数据校验。

而如果需要对Action类中的doUserLogin()处理器方法进行单表数据校验,则需要在Action类中重写validate()方法。

相关文档
最新文档