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企业级系统开发》期末考试试卷(B卷)及答案

适用专业:注:每小题正确选项含1项或多项1.JavaEE的三层结构包括表示层、()。
A.服务层B.中间层C.保存层D.数据层2.下列叙述中不属于HTTP协议中GET方法和POST方法的区别内容是()。
A.提交数据时,POST比GET安全B.提交数据时,POST没有数据量的限制C.GET方法请求的页面可以作为书签D.POST方法请求的页面可以使用邮件发送3. 使用JSP开发Web项目的缺点包括()。
A.不易维护B.方便C.快捷D.不易扩展4. 在JSP中,使用()接收客户端发送的请求数据。
A.request.getParameter();B.request.getAttribute();C.response.getParameter();D.response.getAttribute();5. 浏览Web网页服务默认的端口号是(),Tomcat服务的默认端口是()。
A.80, 8088B.8088, 80C.88, 8080D.80, 80806. HttpServletResponse的()方法用于将一个HTTP请求重定向到另一个URL。
A.sendURL();B.redirectURL();C.sendRedirect();D.getRequestDispatcher();7. 在Servlet生命周期中,对应服务阶段的方法是()。
A.doGet()B.doPost()C.doGet()和doPost()D.service()8. 下列有关Servlet的生命周期,说法不正确的是()。
A.在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例B.在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法C.在销毁阶段,执行destroy()方法后系统立刻进行垃圾回收D.destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法9. 在部署Java Web程序时,()文件夹或文件时必需的。
j2ee考试题汇总

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);★标准答案:A2. 下面( )声明当前页为error页?A.<%@ page errorPage="true" %>B.<%@ page info="error" %>C.<%@ page pageEndcoding="error" %>D.<%@ page isErrorPage="true" %>★标准答案:D3. Java Web应用中往往通过设置不同作用域的属性来达到通讯的目的。
如果某个对象只在同一请求中共享,通过调用哪个类的setAttribute方法设置属性,A.HttpServletRequestB. ServletRequestListenerC. HttpSessionD.ServletContext★标准答案:C4. 使用( )命令来生成 Stub和Skeleton类?A.javac <fully qualified class name of the server>B.rmi <fully qualified class name of the server>C.rmic <fully qualified class name of the server>D.java <fully qualified class name of the server>★标准答案:C5. 在JSP中调用JavaBean时不会用到的标记是:A.B.C.D.★标准答案:C6. executeUpdate返回的类型是A. intB.ResultSetC.booleanD.受影响的记录数量★标准答案:A7. Oracle数据库的JDBC驱动程序类名及完整包路径为A.jdbc.driver.oracle.OracleDriverB.jdbc.oracle.driver.OracleDriverC.driver.oracle.jdbc.OracleDriverD.oracle.jdbc.driver.OracleDriver★标准答案:D8. JSP中可使用一些隐含对象,通过什么可以访问浏览器输入的参数A. paramB. requestScopeC. sessionScopeD.applicationScope★标准答案:A9. 考察以下二个陈述:陈述A: Stub 是表示远程对象的客户端代理。
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应用框架设计与项目开发》试题(附答案)

《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是由微软公司推出的。
J2EE简答题复习(含答案)

J2EE简答题复习(含答案)1、forward和sendRedirect的区别forward是request的方法,sendRedirect是response的方法,使用forward延续之前的请求,地址栏地址不会转变,使用sendRedirect会开启新的请求,地址栏地址转换2、视图层调用了服务层好不好,该怎么办?不好,因为视图层和服务层之间还有控制层,不应该越级调用3、Service层的简介在内存中以对象的形式处理业务逻辑4、有人认为MVC模式对M的支持很弱,为什么?因为mvc模式的m中,只有对象的get、set和validate方法,只支持领域对象,广义上的m应该包括实体对象和服务对象5、普通的Action只有一个execute()方法,有何缺点,如何改进?只有一个execute()方法导致类的数目太多改进:把一个execute()方法变成多个方法,在url中加入某变量,在配置文件中设置参数,告知核心控制器调用哪个方法6、AOP能代替OOP吗?不能。
AOP侧重实现功能,而OOP侧重对象,AOP实现多种功能,并把这些功能植入各个对象,不能代替,应该两种结合起来使用7、何谓IOC控制反转,也叫DI,依赖注入,由容器为类注入某些对象,在配置文件中配置,类的实例要向容器申请。
8、Struts中自定义控制器的方法execute()的参数及解释public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {return mapping.findForward("error");}ActionMapping 作用就是帮助控制其将请求映射到操作ActionForm 作用就是接受和存储表单form中接受的数据(相当于bean)Request 请求Response 回复9、如何引入struts下载struts的jar包,在web.xml中以servlet的方式配置该类,来映射到某些类10、servletContext能否做购物车能,但是这种做法不提倡,servletContext相当于jsp中的application,会涵括整个项目的所有人的购物车信息,会使得结构复杂,对服务器而言,负担比较大1。
J2EE开发基础(习题卷14)

J2EE开发基础(习题卷14)第1部分:单项选择题,共58题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]System.out.println("5" + 2);的输出结果应该是A)52B)7C)2D)5答案:A解析:2.[单选题]JSP 页面中静态的HTML和XML内容称为( )A)JSP 动作元素B)内置对象C)模板元素D)JSP 脚本元素答案:C解析:3.[单选题]下列限制只能为false的标签是?A)@AssertFalseB)@NullC)@DecimalMin(value)D)@IsFalse答案:A解析:4.[单选题]以下那一个不是Page命令中的有效属性? ( )A)importB)exportC)errorPageD)session答案:B解析:5.[单选题]更新数据的Mapper.xml的标签是什么[题]A)InsertB)SelectC)UpdateD)Delete答案:C解析:6.[单选题]下列选项中,不属于JSP的内置对象的是()A)request 对象B)cookie 对象D)application 对象答案:B解析:7.[单选题]在持久化层,对象分为的状态不包括?( )A)瞬时(Transient)B)新建(New)C)脱管(DetacheD)D)持久(Persistent)答案:B解析:8.[单选题]现在session 中没有任何属性,阅读下面2 个JSP 中的代码,将分别输出() 。
<%out.println(session.getAttribute("svse"));%><%session.invalidate();out.println(session.getAttribute("s vse"));%>A)null, 异常信息B)null, nullC)异常信息,异常信息D)异常信息, null答案:A解析:9.[单选题]使用MyBatis Generator自动工具生成的文件不包含(?)[题]A)EntityB)DAO籿C)SqlMap.xmlD)Mapper XML答案:A解析:10.[单选题]从“员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select 语句正确( )A)Select * from 员工where 姓名=’%玛丽_’B)Select * from 员工where 姓名like ‘ _玛丽%’C)Select * from 员工where 姓名like ‘%玛丽%’D)Select * from 员工where 姓名=’ _玛丽_’答案:C解析:11.[单选题]下面对Spring框架的持久化支持说法错误的是A)Spring没有自己的持久化方案,它集合了现有的流行持久化框架B)Spring采用JDBC模板封装了JDBC的数据库操作C)Spring对各种持久化技术提供了统一的编程方式D)Spring将数据库访问的checked异常转换为运行时异常答案:C解析:12.[单选题]在某个JSP页面中存在这样一行代码,<%= “2” + “4” %> 运行该JSP后,以下说法正确的是( )A)这行代码没有对应的输出B)这行代码对应的输出时6C)这行代码对应的输出时2413.[单选题]以下不属于Session 的方法的是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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方法永远直接返回实体类。
load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。
8、Action接受用户参数输入,主要有哪几种方式?我们常用的是哪一种?1.Action属性接收参数;2.Domain modal(域模型)接收参数;3.Modal driven接收参数。
常用第一种跟第二种9、在struts中实现一个action有哪几种方式?最常用的是哪种?1.定义一个普通的类,类中只要有一个public String execute()方法且返回一个字符串即可。
2.定义一个类,实现Action接口,xwork2.Action这个包的3继承xwork2.ActionSupport这个类。
最常用的是第三种10、在struts.xml中Result的type常用的有四种类型1)dispatcher 2)redirect 3)chain 4)redirectAction哪些是服务器跳转?哪些是客户端跳转?dispatcher和chain是服务器端跳转,所以客户端只发起一次请求redirect和redirectAction是客户端跳转,所以客户端发起两次请求。
11、j2ee是技术还是平台还是框架?它主要包含哪些技术,列举并简单描述2到3个技术?J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE 也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
JDBC:是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
RMI:RMI协议调用远程对象上的方法。
它使用了序列化方式在客户端和服务器端传递数据。
RMI是一种被EJB使用的更底层的协议。
12、MVC的各个部分都有哪些技术来实现?如何实现?MVC是Model-View-Controller的简写。
"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。
这些组件可以进行交互和重用。
13、什么是JNDI?JNDI是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API 映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。
14、举例并简单描述2到3种动态网页开发技术。
1、PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。
PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。
2、ASP,它是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
ASP的网页文件的格式是.asp,现在常用于各种动态网站中。
15、简单描述浏览器输入http://localhost:8088/myFirstweb/Firstservlet访问web资源的过程(也就是servlet工作的时序图)(提示,解释地址→用端口号和地址访问服务器→访问资源)。
1.浏览器会将请求打包成http请求数据包,发送给web服务器,2.web服务器中的servlet引擎解析请求并封装为一个HttpServletRequest 对象(包含了请求数据),同时创建个HttpServletResponse对象。
3.servlet调用servlet的service()方法,并将HttpServletReque,HttpServletResponse对象作为参数传递给servlet实例4. servlet可以从HttpServletRequest对象中获得请求数据,并处理,当然,servlet也可能要访问数据库。
然后将处理之后的结果放到HttpServletResponse中。
5.servlet引擎从HttpServletResponse中取数据,并将数据打包成http数据包发送给浏览器。
16、开发servlet服务器程序三种方法。
开发servlet有三种方法:a,实现servlet接口; b,继承GenericServet; c,继承HttpServlet17、通过httpservlet去开发servlet,需要重写doGet和doPost 方法。
这是常用的方式,请简述Get与Post方法的区别。
(1)get是从服务器上获取数据,post是向服务器传送数据。
在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
(2)对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
(3)GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
(4)安全性问题。
使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。
所以,还是使用 post为好。
18、简述http返回包中的状态码200,302,404,500的意义。
[200] 请求已成功,请求所希望的响应头或数据体将随此响应返回。
[302] 请求的资源现在临时从不同的URI响应请求。
[404] 请求失败,请求所希望得到的资源未被在伺服器上发现。
[500] 伺服器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理.19、简述请求重定向(response.sendRedirect)和请求转发(getRequestDispatcher forward)的区别。
1、forward()只能将请求转发给同一个Web应用中的组件,而sendRedirect()方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到其他站点的资源。
2、sendRedirect()方法重定向的访问过程结束后,浏览器地址栏中显示的URL 会发生改变,由初始的URL地址变成重定向的目标URL;而调用forward()方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。
3、forward()方法的调用者与被调用者之间共享相同的request对象和response对象;而sendRedirect()方法调用者和被调用者使用各自的request 对象和response对象,它们属于两个独立的请求和响应过程。
20、Hibernate拒绝连接、服务器崩溃的原因?最少写三个?1. db没有打开2. 网络连接可能出了问题3. 连接配置错了4. 驱动的driver,url是否都写对了5. LIB下加入相应驱动,数据连接代码是否有误6. 数据库配置可能有问题7. 当前联接太多了,服务器都有访问人数限制的8. 服务器的相应端口没有开,即它不提供相应的服务9 hibernate有哪些缓存,分别怎么使用?10 你对hibernate的了解到了一个什么样的程度?11 写出一个sql语句体现hibernate中一对多的关系21、Update()和saveOrUpdate()的区别?update()方法操作的对象必须是持久化了的对象。