java面试题大全-葵花宝典-培训班总结出现率比较高的面试题.docx

上传人:李司机 文档编号:6029593 上传时间:2023-09-16 格式:DOCX 页数:56 大小:261.30KB
返回 下载 相关 举报
java面试题大全-葵花宝典-培训班总结出现率比较高的面试题.docx_第1页
第1页 / 共56页
java面试题大全-葵花宝典-培训班总结出现率比较高的面试题.docx_第2页
第2页 / 共56页
java面试题大全-葵花宝典-培训班总结出现率比较高的面试题.docx_第3页
第3页 / 共56页
java面试题大全-葵花宝典-培训班总结出现率比较高的面试题.docx_第4页
第4页 / 共56页
java面试题大全-葵花宝典-培训班总结出现率比较高的面试题.docx_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《java面试题大全-葵花宝典-培训班总结出现率比较高的面试题.docx》由会员分享,可在线阅读,更多相关《java面试题大全-葵花宝典-培训班总结出现率比较高的面试题.docx(56页珍藏版)》请在三一办公上搜索。

1、EJB1:EJB:答:EnterpriseJavaBean相当于DCoM,即分布式组件。它是基于JaVa的远程方法调用(RMl)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如WebSpere、WebLogiC这样的容器中,日B客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。答:Enterprisejavabean容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通

2、过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。RMI:(RemoteMethodInvocation)远程方法调用答:RMI(RemoteMethodInvocation,远程方法调用)是用JaVa在JDKLl中实现的,它大大增强了JaVa开发分布式应用的能力。JaVa作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMl就是开发百分之百纯JaVa的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的JaVa版本。但是传统RPC并不能很好地应用于分布式对象系统。而JaVaRMl则支持存储于不同地址空间的程序级对象之间彼此进行通信

3、,实现远程对象之间的无缝远程调用。2:EJB种类、作用答:EntityBean用于描述一个永久的对象。SessionBean描述任务或者工作流的模型,并且协调Bean之间的交互。Message-DriverBean用在基于J2EE应用程序中处理异步JMS消息。3:实体bean,CMP,BMP写法区别?答:CMPentitybean不需要在bean中编写数据库操作的代码;可以让容器做这件事。BMPentitybean在bean类中直接编写数据库调用,以及对固定存储的任意类型的访问,来管理bean的持久性。4:FMd与SeleCt方法的区别?答:FinderSelect返回值单对象或者集合,是该b

4、ean类型的EJBObject(s),EJBLocaIObject(三).单个或者多个(集合或集)对象.是该bean类型或CMR相关类型EJBObject(s)或EJBLocalObject(三)也可能是CMP(域),CMP的集合或一个CMR域.声明位置在远程和/或本地home接口中Bean类中的抽象方法方法名FindXxxOEjbSelectXxxbean类可见度公开给客户端面向entitybean类内部,供其他bean方法使用实例Bean池任意随机bean实例当前实例,但若调用来自home方法,则为任意随机实例.5:主接口方法的定义与写法?答:生命周期方法建方法该方法的返回值是bean的组

5、件接口,写法为CreatXxx无状态sessionbean必须个且仅有个无参的创建方法.有状态sessionbean必须含有至少一个创建方法.Entitybean可以有0至多个创建方法.Finder方法-Finder方法对于entitybean有效,通过它可以在数据库中查找到entitybean对应的持久性数据.每一个entitybean的home接口必须有一个TIndByPrimaryKey方法,并以实体的主键为参数.可以定制Finder方法.Home方法-Home方法也仅对entitybean有效.Home方法能够返回任意类型的序列化对象,但并不实际生成bean的实例.6:主接口与组件接口

6、的区别?答:主接口提供EJB客户端对bean的访问.定义了bean的生命周期方法,并提供了bean的基本生命周期管理功能,如创建,删除,查找.messagedrivernbean不含有home接口.组件接口是由enterprisebean的客户端用来取得bean的访问能力.它定义了对于客户端可见的业务方法.组件接口中的业务方法必须符合bean类中的实现.7、JMS消息传递的方式?答:点到点(POint-to-point)消息通过队列进行发送.发布与订阅(PUbIiSh-and-subscribe,pub/SUb)消息通过标题传递.8、EJB客户端访问后台EJB的代码?答:p192,p1939、

7、有状态sessionbean与无状态sessionbean的区别?答:SlatefUlsessionbean维护客户端会话状态.它们必须属于一个且只属于一个客户端.激活/钝化,开销大.statelesssession不维护一个客户端的会话状态它们被放入实例池中,因此可被多个用户共用,开销小,效率高。10、本地视图与远程视图的区别?答:远程视图-它的想法就是远程调用将在两台不同JVM之间执行.远程调用这些操作使得相关网络开销会更高与对象的位置无关.也不会在乎是否在一个JVM.本地视图-它的想法就是本地调用将在相同的JVM中执行.没有网络开销.操作效率更高,因为客户端使用本地对象调用bean上的服

8、务,限制在本地实现中,而且不需要做到与位置无关.11:CMT事物属性TransactionClientsTransactionAssociatedwithEJBMethodMandatory-ExceptionAANever*RequiredAExceptionBAARequiresNew*AABSupportsAANotSupported*A-MandatC)ry-当使用这个值时,bean方法被调用时必须有一个事务己经处在运行中.NeVer-如果在现有事务中调用此bean,容器将抛出java.rmi.RemotException.Required-bean方法必须总是在事务上下文中执行.Re

9、quiresNew-当方法被调用的时候,bean总会需要启动一个新的事务Supports可以参与到正在运行的事务中,但这个事务并不是必须的.NotSUPPOrted-该值意味着在事务中bean或者方法根本不能被调用.12:事务属性AClD答:原子性一一个事务要么完全执行,要么根本不执行。一致性一一个事务在它完成后不能留下系统的不一致性。隔离性所有的事务不许允许在执行的时候不受其他进程或者事务的干涉0持久性一在事务期间,所有提交的变更数据必须写入持久的数据存储器,并且应该能在硬件和软件失效中保存下来。13:实体Bean的三个状态:答:no-stateBean实例还没有创建。pooledBean实

10、例被创建,但还没有和一个EJBObject关联。ready与EJBObject相关联。若断开关联则回到pooledo14:JMSJMS消息模型答:JaVaMeSSageSerViCe(JMS)是一个JAVAAPI,用来访问面向消息中间件(MOM)服务。JMS为JaVa程序生成、发送、接收和读取异步消息提供通用的方法。JMS模型:点到点和发布与订阅point-to-point消息通过队列进行发送。消息由消息生产者(客户端)放入队列中。消息消费者有责任从队列中取出消息。当给定的消息只能被给定的消费者接收时,使用P2P。这种情况下,该给定信息只有一个消费者。PUbliSh-and-subscribe

11、(简称pub/sub)消息通过标题传递。由生产者将消息发布为标题。消息可以被任何订阅该标题的消费者收到。通过这种方法,一个消息可以被多个消费者接收或处理。15:EJB客户端类型答:SessionbeanSerVIetjava应用JaVaAPPlet非JaVa客户端16$ORM答:ORM对象-关系映射(ObjeCt-RelationMaPPing)模式是指在单个组件中负责所有实体域对象的持久化,封装数据访问细节17:EJB是基于哪些技术实现的?EJB包括SessionBeanEntityBean、MessageDrivenBean,基于JNDl、RMRJAT等技术实现。18:说出SessionB

12、ean和EntityBean的区别SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。对于客户机,SeSSiOnBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。对于客户机,EntilyBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。19:StatefulBean和StatelessBean的区别。SessionBean还可以再细分为StatefulSessionBean与StatelessSessionB

13、ean,这两种的SeSSiOnBean都可以将系统逻辑放在method之中执行,不同的是StatefulSessionBean可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的StatefulSessionBean的实体。StatelessSessionBean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫StatelessSessionBean的时候,EJBContainer并不会找寻特定的StatelessSessionBean的实体来执行这个methodo换言之,很可能数个使用者在执行某个StatelessSessionBean的methods时,会是同

14、一个Bean的Instance在执行。从内存方面来看,StatefulSessionBean与StatelessSessionBean比较,StatefulSessionBean会消耗J2EEServer较多的内存,然而StatefulSessionBean的优势却在于他可以维持使用者的状态。20:EJB与JAVABEAN的区别?JavaBean是可复用的组件,对JaVaBean并没有严格的规范,理论上讲,任何一个JaVa类都可以是一个Bean。但通常情况下,由于JaVaBean是被容器所创建(如TOmCat)的,所以JaVaBean应具有一个无参的构造器,另外,通常JavaBean还要实现S

15、erialiZable接口用于实现Bean的持久性。JavaBean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。EnterpriseJavaBean相当于DCoM,即分布式组件。它是基于JaVa的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如WebspereWebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。21:EJB包括(SessionBean5EntityBean)说出他

16、们的生命周期,及如何管理事务的?SessionBean:StatelessSessionBean的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个StatefUISeSSiOnBean时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用StatefulSessionBean的方法时容器会把调用分派到与此客户机相关联的Bean实例。EntityBean:EntityBeans能存活相对较长的时间,并且状态是持续的。只要数据库中

17、的数据存在,Entitybeans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,EntitybeanS也是存活的。EntityBeanS生命周期能够被容器或者BeanS自己管理。EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),SunMiCroSyStemS的TranSaeIionService(JTS)JavaTransactionAPI(JTA),开发组(X0pen)的XA接口。22. EJB有哪些角色和对象一个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循SUn公司提供的EJ

18、B规范,以保证彼此之间的兼容性。这六个角色分别是日B组件开发者(EnterpriseBeanProvider)、应用组合者(APPIiCationASSembIer)、部署者(Deployer)EJB服务器提供者(EJBServerProvider)EJB容器提供者(EJBCOntainerProVider)、系统管理员(SyStemAdminiStrator)三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类23. EJB容器提供的服务有哪些?主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。24. EJB的几种类型会话(

19、Session)Bean,实体(Entity)Bean消息驱动的(MessageDriven)Bean会话Bean又可分为有状态(Stateful)和无状态(StateIeSS)两种实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种25. EJB需直接实现它的业务接口或HOme接口吗,请简述理由。远程接口和HOme接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。26. 在J2EE内,WAR和EAR文件分别代表什么。WARiWeb归档;包含一个web工程所有组件的压缩文件。EAR:企业归档;包含一个企业应用所有

20、组件的压缩文件。Hibernate1. HibenIate的检索方式答:导航对象图检索OID检索HQL检索QBC检索本地SQL检索2. Forward与Global-Forward的区别答:Forward是根据Actionreturn的值找到对应的JSP页。当多个Action共同return同一个值时,可将这个Forward元素写在Global-Forward中。3. 持久化对象的三种状态,代表含义。答:临时状态一刚用new语句创建,未被持久化,不处于SeSSiOn的缓存中。持久化状态一已经被持久化,处于SeSSiOn的缓存中。游离态一已经被持久化,但不处于SeSSiOn的缓存中。4、三种检索

21、策略是什么,分别适用于哪种场合?答:立即检索一优点:对应用程序完全透明,缺点:SeleCt语句数目多。适用:类级别。延迟检索一优点:由应用程序决定加载哪些对象,可以避免执行多余的SeleCt语句以及避免加载不需要访问的对象,节省内存空间,提高检索效率。缺点:应用程序如果要访问游离态的代理类实例,必须保证它在持久化时已经被初始化。适用:一对多或多对多关联。应用程序不需要立即访问或者根本不会访问的对象。迫切左外连接检索:优点:对应用程序完全透明,不管对象处于持久化状态还是游离状态,应用程序都可以方便的从一个对象导航到另一个与它相关联的对象。使用了外连接,select语句数目少。缺点:可能会加载程序

22、不许要访问的对象。复杂的数据库表连接形象检索性能。适用:一对一或多对一关联。应用程序需要立即访问的对象。数据库系统具有良好的表连接性能。4、ORM解决的不匹配问题(域模型与关系模型之间存在的不匹配)答:域模型是面向对象的,关系模型是面向关系的。域模型中有继承关系,关系模型中不能直接表示继承关系。域模型中有多对多关联关系,关系模型中通过连接表来表示多对多关联关系。域模型中有双向关联关系,关系模型中只有单向参照关系,而且总是many参照One方。域模型提倡精粒度模型,关系模型提倡粗粒度模型。5、映射继承关系的三种方式?P424答:(1)继承关系树的每个具体类对应一张表:在具体类对应的表中,不仅包含

23、和具体类属性对应的字段,还包括与具体类的父类属性对应的字段。(2)继承关系树的根类对应一张表:在根类对应的表中,不仅包括根类属性对应的字段,还包括根类的所有子类属性对应的字段。(3)继承关系树中的每个类对应一张表,每个表中只包括和这个类本身属性对应的字段,子类的表参照父类对应的表。6、Session的find()方法以及Query接口的区别。答案SeSSion类的find()方法以及QUery接口都支持HQL检索方式。这两者的区别在于,前者只是执行一些简单HQL查询语句的便捷方法,它不具有动态绑定参数的功能,而且在Hibemate3.x版本中,已经淘汰了find。方法;而QUery接口才是真正

24、的HQL查询接口,它提供了以上列出的各种查询功能。7. ibernate的配置文件(hibernate.properties)中hibernate.show_sql=true/flase在开发阶和测试段应设置为O在发布阶段应设置为();truefalse8. 映射一对多双向关联关系中设置SET元素:请写出级联保存和更新、级联删除应在Set元素中需要设置那些子元素?(标明关系、避面重复执行多余SQL语句)Namecascadekeycolumnone-to-manyinverselist要的实现类有那些?并按照存储结构、机制简单的说一下。1.inkedListArryListVectore1.i

25、nkedList采用链表数据结构、ArryLiSt代表大小可变的数组。Vector与ArryList功能比较相似,区别在于Vector采用同步、ArryList没有采用。10:以下哪个不是Hibernate的检索方式:A、导航对象图检索B、OID检索C、ORM检索D、QBC检索E、本地SQL检索F、HQL检索答案:C11 .持久化类的类名是CustomerJava,写出相应的映射文件名。答案:Customer.hbm.xml12 .继承的三种方式(1)继承关系树的每个具体类对应一张表:在具体类对应的表中,不仅包含和具体类属性对应的字段,还包括与具体类的父类属性对应的字段。(2)继承关系树的根类

26、对应一张表:在根类对应的表中,不仅包括根类属性对应的字段,还包括根类的所有子类属性对应的字段。(3)继承关系树中的每个类对应一张表,每个表中只包括和这个类本身属性对应的字段,子类的表参照父类对应的表。13 .SeSSiOn接口是Hibemate应用使用最广泛的接口。SeSSiOn也被称为持久化管理器,它提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。14 .请简述Session的特点有哪些?答案:(1)不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个SeSSiOn实例。(2)Session实例是轻量级的,所谓轻量级是指它的创建和销毁不需要消耗太多的资源。这意味着在

27、程序中可以经常创建或销毁Session对象,例如为每个客户请求分配单独的Session实例,或者为每个工作单元分配单独的Session实例。(3)在SeSSion中,每个数据库操作都是在一个事务(transaction)中进行的,这样就可以隔离开不同的操作(甚至包括只读操作)。12、Hibernate中采用XML文件来配置对象-关系映射的优点有那些?答案:Hibemate既不会渗透到上层域模型中,也不会渗透到下层数据模型中。软件开发人员可以独立设计域模型,不必强迫遵守任何规范。数据库设计人员可以独立设计数据模型,不必强迫遵守任何规范。对象-关系映射不依赖于任何程序代码,如果需要修改对象-关系映

28、射,只需修改XML文件,不需要修改任何程序,提高了软件的灵活性,并且使维护更加方便。13、在HibenIate应用中JaVa对象的状态有哪些?答案:1临时状态(transient):刚刚用new语句创建,还没有被持久化,不处于SeSSion的缓存中。处于临时状态的JaVa对象被称为临时对象。2持久化状态(PerSiStent):已经被持久化,加入到SeSSion的缓存中。处于持久化状态的JaVa对象被称为持久化对象。3游离状态(detached):已经被持久化,但不再处于SeSSion的缓存中。处于游离状态的JaVa对象被称为游离对象。14、叙述Session的缓存的作用答案:(1)减少访问数

29、据库的频率。应用程序从内存中读取持久化对象的速度显然比到数据库中查询数据的速度快多了,因此Session的缓存可以提高数据访问的性能。(2)保证缓存中的对象与数据库中的相关记录保持同步。当缓存中持久化对象的状态发生了变换,SeSSiOn并不会立即执行相关的SQL语句,这使得SeSSion能够把几条相关的SQL语句合并为一条SQL语句,以便减少访问数据库的次数,从而提高应用程序的性能。15、比较Hibernate的三种检索策略优缺点;答案:1立即检索;优点:对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便的从一个对象导航到与它关联的对象;缺点:1.SeleCt语句太多

30、;2.可能会加载应用程序不需要访问的对象白白浪费许多内存空间;2延迟检索:优点:由应用程序决定需要加载哪些对象,可以避免可执行多余的SeIeCt语句,以及避免加载应用程序不需要访问的对象。因此能提高检索性能,并且能节省内存空间;缺点:应用程序如果希望访问游离状态代理类实例,必须保证他在持久化状态时己经被初始化;3迫切左外连接检索优点:1对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便地冲一个对象导航到与它关联的对象。2使用了外连接,select语句数目少;缺点:1可能会加载应用程序不需要访问的对象,白白浪费许多内存空间;2复杂的数据库表连接也会影响检索性能;16、多

31、个事务并发运行时的并发问题有哪些?答案第一类丢失更新;脏读;虚读;不可重复读;第二类丢失更新;17、ORM解决的不匹配问题(域模型与关系模型之间存在的不匹配)答:域模型是面向对象的,关系模型是面向关系的。域模型中有继承关系,关系模型中不能直接表示继承关系。域模型中有多对多关联关系,关系模型中通过连接表来表示多对多关联关系。域模型中有双向关联关系,关系模型中只有单向参照关系,而且总是many参照One方。域模型提倡精粒度模型,关系模型提倡粗粒度模型。18、SeSSiOn的清理和清空有什么区别?session清理缓存是指按照缓存中对象的状态的变化来同步更新数据库;清空是session关闭;19.请

32、简述Session的特点有哪些?答案:(1)不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个SeSSiOn实例。(2)Session实例是轻量级的,所谓轻量级是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建或销毁Session对象,例如为每个客户请求分配单独的Session实例,或者为每个工作单元分配单独的Session实例。(3)在SeSSion中,每个数据库操作都是在一个事务(transaction)中进行的,这样就可以隔离开不同的操作(甚至包括只读操作)。20.如下图A、B、C请添上字段,通过表C建立表A、表B的双向关系(要求简单连线)表AJsp&se

33、rvlet1三个Statment区别,用法Statment,基本的;PreParedStatement是可编译的,提高效率,CalIableStatment,存储过程2 Cookic答:临时CoOkie存在于内存中,(公话),长时COokiC存在于硬盘上长时CoOlkie和临时CoOkie路径问题3 Servlet调试方式几种方法答:使用打印语句,使用TOMCAT日志,返回错误页面,使用IDE集成,重起服务器,直接查看HTML源代码,分别处理请求和响应数据。4 .Cookie与SeSSiOll的区别是:SeSSion为短对话,COOkie可以设置任意时间的有效期。5 .Get请求和PoSt请求

34、区别答:aPost是通过Http中的Post机制将表单中的数据提交道Action所制定的程序Get方法是通过Url请求来提交表单数据的。bGet适用于传输数据量小于IK数据,执行效率高。POSt传输数据量较大,但也有限量。6 .SerVlet生命周期答:Servlet的生命周期始于将它装入Web服务器的内存时,并在终止或重新装入Servlet时结束。包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。描述servlet的生命周期,谁来控制servlet的生命周期,servlet生命周期在J

35、2EE规范中是如何来定义的服务器实例化一个SerVIet对象,容器运行其init方法,请求到达时运行其SerViCe方法,service方法根据请求的类型调用(doGet,doPost)方法,当服务器决定将实例销毁时调用其destory方法7、Servlet和Jsp的区别?答:Servlet是直接执行的文件Jsp是要被通过编译形成Servlet后才执行。8 .JSP构架模型Modell:纯jsp维护难,代码可复用性差Model2:jsp+javabean在jsp中使用USebean标签,代码在jsp中本质同Model1Mvc:jsp+servlet+javabean9 .JSP隐含变量requ

36、est response pageContext session application config outpage exception用户端请求,此请求会包含来自GET/POST请求的参数网页传回用户端的回应网页的属性是在这里管理与请求有关的会话期servlet正在执行的内容servlet的构架部件用来传送回应的输出(用来向客户端输出数据)JSP网页本身针对错误网页,未捕捉的例外(异常)10 .四大共享范围答:a、page当前页面。b、session同一个网站内。c、request从上一页到下一个页面。d、application同一个网站内。11 .MVC如何理解MVC答:MVC是Mode

37、l-ViewController的简写。nModeln代表的是应用的业务逻辑(通过JaVaBear1,EJB组件实现),,View,是应用的表示面(由JSP页面产生),Controller,*是提供应用的处理过程控制(一般是一个ServE),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。12 .JSP生命周期请求#1请求#2谓求#3请求#4页I请求#5请求#6JSP页面转换成SerVIetYesNoNoNoYesNoServletttvlYesNoNoNoYesNo创建SerVlet实例并或入服务需的内存YesNoYesNoYesNoinit(或

38、类似的函数)被调用YesNoYesNoYesNodoGet(或类似的函数)被调用YesYesYesYesYesYes12、JSP中动态INCLUDE与静态INCLUDE的区别?动态INCLUDE用jsp:inc1ude动作实现,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面13.Forword和SendRedireCt区别答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏

39、中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward。方法,并且,这样也有助于隐藏实际的链接但在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用SendRedireet()方法。forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数

40、都可以获取。14 .从BeanFaCtOy或APPIiCatiOnCOnteXt是通过什么模式取得实例的?如果要取得多个实例在配制文件中要怎样做映射答:是通过单态模式取得实例的,在配制文件中可以改,好像是isthread设成false15 .jsp有哪些动作?作用分别是什么?答:JSP共有以下6种基本动作jsp:include:在页面被请求的时候引入一个文件。JspzuseBean:寻找或者实例化一个JavaBean()JspzsetProperty:设置JavaBean的属性。JspigetProperty:输出某个JaVaBean的属性。jsp:forward:把请求转到一个新的页面。js

41、p:plugin:根据浏览器类型为JaVa插件生成OBJECT或EMBED标记16 .请简述Session的特点有哪些?答案:(1)不是线程安全的(2) Session实例是轻量级的(3) (3)Session中,每个数据库操作都是在一个事务(transaction)中进行的17 .叙述Session的缓存的作用答案:(1)减少访问数据库的频率。(2)保证缓存中的对象与数据库中的相关记录保持同步。18、如何设置/取得Beall中的属性值?答:设置属性值vjsp:SetPrOPertyname=haha”,property=*获取从上一个表单中提交过来的,与Bean中变量名字相同的所有属性.取得

42、属性值:相当于:19、JavaBean的使用:或者VjSp:USeBeanid=nameclass-,sist.md5,scope=,page,20、实现页面跳转的两种法:答:a、b、21、include指令标签:简单的代码复制。include动作标签:获取inc2.jsp的执行结果。22、页面之间的值传递:答:a、设置Session变量:session.setAttributeC*name*7,sisf,);获取SeSSion变量:session.getAttribute(name);b、地址方式传递:ShOW.jsp?id=变量值23、内置对象的作用域分为4种:答:a、page当前页面。b

43、、session同一个网站内。c、request从上一页到下一个页面。d、application同一个网站内。24、获取SeSSiOIlID:;判断session是否有效:session.isNew();25、使用Cookie对象答:Cookieck=newCookie(name,sist);写入:response.addCookie(ck);读取:Cookieck=request.getCookies();If(ck=null)fbr(inta=O;a30、servlet中如何A、从HTML表单中获得参数request.getParameterNames();enumer;request.g

44、etParameter();Stringb、如何获得请求头部的信息Enumerationenumer=request.getHeaderNames();While(enumer.HasMoreEIementsO)(Stringheader=enumer.next();Stringresult=request.getHeader(header);Out.print(result);)C如何获得客户COokie的信息request.getCookies();arrayd、如何设置response的头部信息response.setHeader();e如何设置响应的ContenttyPeresponse.setContentType(4texthtmlCharSet=Ut。8);f、如何获得I/O流、text流、二进制流g如何从当前的SerVlet重定向到其他的URLresponse.sendRedirect(44urP,)RequstDispatcherrd=request.getRequstDispatcher(t4ur,)R

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号