下载

3下载券

加入VIP
  • 专属下载券
  • 上传内容扩展
  • 资料优先审核
  • 免费资料无限下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 JAVA面试题大全JAVA程序员笔试面试题汇总及答案

JAVA面试题大全JAVA程序员笔试面试题汇总及答案.doc

JAVA面试题大全JAVA程序员笔试面试题汇总及答案

lxd6450
2018-09-07 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《JAVA面试题大全JAVA程序员笔试面试题汇总及答案doc》,可适用于IT/计算机领域

、面向对象的特征有哪些方面()抽象:抽象就是忽略一个主题中与当前目标无关的那些方面以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题而只是选择其中的一部分暂时不用部分细节。抽象包括两个方面一是过程抽象二是数据抽象。()继承:继承是一种联结类的层次模型并且允许和鼓励类的重用它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生这个过程称为类继承。新类继承了原始类的特性新类称为原始类的派生类(子类)而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量并且类可以修改或增加新的方法使之更适合特殊的需要。()封装:封装是把过程和数据包围起来对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念即现实世界可以被描绘成一系列完全自治、封装的对象这些对象通过一个受保护的接口访问其他对象。()多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势很好的解决了应用程序函数同名问题。、String是最基本的数据类型吗基本数据类型包括byte、int、char、long、float、double、boolean和short。javalangString类是final类型的因此不可以继承这个类、不能修改这个类。为了提高效率节省空间我们应该用StringBuffer类、int和Integer有什么区别Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类booleanBooleancharCharacterbyteByteshortShortintIntegerlongLongfloatFloatdoubleDouble引用类型和原始类型的行为完全不同并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法它们包括:大小和速度问题这种类型以哪种类型的数据结构存储当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为而原始类型实例变量的缺省值与它们的类型有关。、String和StringBuffer的区别JAVA平台提供了两个类:String和StringBuffer它们可以储存和操作字符ingname){        thisname=name            }  publicvoidplay(){C       ball=newBall("Football")D        Systemoutprintln(ballgetName())    }}、名词解释、问答题【中等题】抽象类和接口有什么区别答:声明方法的存在而不去实现它的类被叫做抽象类(abstractclass)它用于要创建一个体现某些基本行为的类并为该类声明方法但不能在该类中实现该类的情况。不能创建abstract类的实例。然而可以创建一个变量其类型是一个抽象类并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract类的子类为它们父类中的所有抽象方法提供实现否则它们也是抽象类为。取而代之在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。在接口中所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的没有一个有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似除了该实现类不能从接口定义中继承行为。当类实现特殊接口时它定义(即将程序体给予)所有这种接口的方法。然后它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换instanceof运算符可以用来决定某对象的类是否实现了接口。【中等题】接口里定义的成员变量都是使用finalstatic修饰的为什么?答:接口就是提供一种统一的”协议”而接口中的属性也属于“协议”中的成员。它们是公共的静态的最终的常量。相当于全局常量。如果接口可以定义变量但是接口中的方法又都是抽象的在接口中无法通过行为来修改属性。所以接口不能定义变量。第十六章异常处理笔试题、填空题【基础题】在“异常”类最上层的类叫Throwable它有两个直接的子类:Exception和Error。、选择题【基础题】程序员将可能发生异常的代码放在(A)块中后面紧跟着一个或多个(B)块。AtryBcatchCtry、exceptionDexception、try、名词解释、问答题【中等题】运行时异常与一般异常有何异同答:异常表示程序运行过程中可能出现的非正常状态运行时异常表示虚拟机的通常操作中可能遇到的异常是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常但是并不要求必须声明抛出未被捕获的运行时异常【基础题】throw和throws关键字有什么区别?答:throws用于抛出方法层次的异常并且直接由些方法调用异常处理类来处理该异常所以它常用在方法的后面。throw用于方法块里面的代码比throws的层次要低比如trycatch语句块表示它抛出异常但它不会处理它而是由方法块的throwsException来调用异常处理类来处理。throw用在程序中明确表示这里抛出一个异常。  throws用在方法声明的地方表示这个方法可能会抛出某异常。throw是抛出一个具体的异常类产生一个异常。throws则是在方法名后标出该方法会产生何种异常需要方法的使用者捕获并处理。【中等题】JAVA语言如何进行异常处理关键字:throws,throw,try,catch,finally分别代表什么意义?答:Java通过面向对象的方法进行异常处理把各种不同的异常进行分类并提供了良好的接口。在Java中每个异常都是一个对象它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象该对象中包含有异常信息调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序如果出现异常系统会抛出(throws)一个异常这时候你可以通过它的类型来捕捉(catch)它。用try来指定一块预防所有"异常"的程序。紧跟在try程序后面应包含一个catch子句来指定你想要捕捉的"异常"的类型。throw语句用来明确地抛出一个"异常"。throws用来标明一个成员函数可能抛出的各种"异常"。finally为确保一段代码不管发生什么"异常"都被执行一段代码。可以在一个成员函数调用的外面写一个try语句在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句"异常"的框架就放到堆栈上面直到所有的try语句都完成。如果下一级的try语句没有对某种"异常"进行处理堆栈就会展开直到遇到有处理这种"异常"的try语句。【中等题】请说出Java中的异常处理机制的简单原理和应用?答:当JAVA程序违反了JAVA的语义规则时JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException访问的对象时会引发PointerException。另一种情况就是JAVA允许程序员扩展这种语义检查程序员可以创建自己的异常并自由选择在何时用throw关键字引发异常。所有的异常都是javalangThowable的子类。第十七章集合框架笔试题、填空题、选择题【基础题】下面哪个类是实现的Set接口 (C )AVectorBLinkedListCHashSetDHashtable【基础题】下列哪个集合可以存放重复数据(AB)ACollectionBListCMapDSet【基础题】List中能存放一个值吗(A)A可以B可以不过仅仅当List是一个有序的集合的时候C可以当List为空的时候D不可以【中等题】下列程序运行结果是(C)ClassQuestion{publicstaticvoidmain(Stringargs){TreeMapmap=newTreeMap()mapput(“one”,””)mapput(“two”,””)mapput(“three”,””)displayMap(map)}staticvoiddisplayMap(TreeMapmap){Collectionc=mapentrySet()Iteratori=citerator()while(ihasNext()){Objecto=inext()Systemoutprint(otoString())}}}AonetwothreeBCont=three=two=Donethreetwo【提高题】下列哪个类实现了Collection接口(BD)ADictionaryBListCMapDSet、名词解释、问答题【中等题】请说出ArrayList和Vector的区别答:主要从二方面来说同步性:Vector是线程安全的也就是说是同步的而ArrayList是线程序不安全的不是同步的二数据增长:当需要增长时,Vector默认增长为原来一培而ArrayList却是原来的一半【中等题】请说出HashMap和Hashtable的区别答:HashMap与HashTable主要从三方面来说。一历史原因:Hashtable是基于陈旧的Dictionary类的HashMap是Java引进的Map接口的一个实现二同步性:Hashtable是线程安全的也就是说是同步的而HashMap是线程序不安全的不是同步的三值:只有HashMap可以让你将空值作为一个表的条目的key或value【基础题】Collection和Collections的区别答:Collections是个javautil下的类它包含有各种有关集合操作的静态方法。Collection是个javautil下的接口它是各种集合结构的父接口第十八章输入输出笔试题、填空题【基础题】File对象的isFile()方法作用是判断是否是文件getAbsolutePath() 方法作用是获取文件或目录的绝对路径。【基础题】BufferedReader和BufferedWriter以字符流的方式读写文本文件且效率更高。【基础题】FileInputStream和FileOutputStream以字节流的方式读写文本文件。、选择题【基础题】下列哪个类是实体类(BC)AInputStreamBPrintStreamCSocketDReaderEDataInput【提高题】请选择下列程序的运行结果(A)publicclassTestIOapp{publicstaticvoidmain(Stringargs)throwsIOException{StringReaderstingin=newStringReader("test")LineNumberReaderin=newLineNumberReader(stingin)PrintWriterout=newPrintWriter(Systemout)outprintln(inreadLine())outflush()}}AtestBtest:C:testDtest【提高题】请选择下列程序的运行结果(B)publicclassTestIOapp{publicstaticvoidmain(Stringargs)throwsIOException{RandomAccessFilefile=newRandomAccessFile("testtxt","rw")filewriteBoolean(true)filewriteInt()filewriteInt()filewriteLong()filewriteInt()filewriteFloat(f)fileseek()Systemoutprintln(filereadInt())}}ABCDE、名词解释、问答题【中等题】请说出javaioreader和javaioinputstream的区别答:javaioReader和javaioInputStream组成了Java输入类。Reader用于读入位字符也就是Unicode编码的字符而InputStream用于读入ASCII字符和二进制数据。【中等题】java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承请说出他们分别是哪些类?答:字节流字符流。字节流继承于InputStream OutputStream字符流继承于InputStreamReader OutputStreamWriter。在javaio包中还有许多其他的流主要是为了提高性能和使用方便。【中等题】请简述什么是流?答:流是指一连串流动的字符是以先进先出的方式发送和接收数据的通道流分为输入流和输出流输入输出流是相对于计算机内存来说的如果数据输入到内存则称为输入流如果从内存中流出则称为输出流第十九章JDBC笔试题、填空题、选择题、名词解释【基础题】ODBC:OpenDatabaseConnectivity开放数据库互连【基础题】JDBC:JavaDataBaseConnectivityJava数据库连接【基础题】DBMS:DataBaseManagementSystem数据库管理系统【基础题】URL:UniformResourceLocator统一资源定位器URL组成:协议名和资源名protocol:resourceName、问答题【中等题】ClassforName()的作用答:调用该方法返回一个以字符串指定类名的类的对象。此对象用来与特定的数据库连接。【中等题】简述Statement和PreparedStatement的区别?答:无论多少次地使用同一个SQL命令PreparedStatement都只对它解析和编译一次。当使用Statement对象时每次执行一个SQL命令时都会对它进行解析和编译,使用PreparedStatement对象比使用Statement对象的速度更快。【中等题】在connection类中提供了个控制事务的方法分别是:答:setAutoCommit(booleanbln)commit():提交事务rollback():撤销事务【提高题】请简述元数据。答:在SQL中描述数据库或其组成部分的数据称为元数据(区别于那些存在数据库中的实际数据)。我们可以得到三类元数据:关于数据库的元数据、关于结果集的元数据以及关于预备语句参数的元数据。【提高题】ResultSet类中的Cursor方式主要有ResultSetTYPEFORWARDONLYResultSetTYPESCROLLSENSITIVEResultSetTYPESCROLLINSENSITIVE等方式你能详细说明吗。答:ResultSetTYPEFORWARDONLY(为缺省设置):游标只能前进不能后退也就是只能从第一个一直移动到最后一个。ResultSetTYPESCROLLSENSITIVE:允许游标前进或后退并感应到其它ResultSet的光标的移动情形。ResultSetTYPESCROLLINSENSITIVE:允许游标前进或后退并不能感应到其它ResultSet的光标的移动情形。第二十章XML笔试题、填空题【基础题】XML是一种标记语言。【基础题】XML的设计宗旨是传输数据而非显示数据。【基础题】XML文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。、选择题、名词解释【基础题】XML:EXtensibleMarkupLanguage可扩展标记语言【基础题】DTD:DocumentTypeDefinition文档类型定义【基础题】WC:WorldWideWebConsortium万维网联盟【基础题】CSS:CascadingStyleSheets层叠样式单【基础题】XSL:EXtensibleStylesheetLanguage可扩展样式单语言、问答题【中等题】XML文档定义有几种形式?它们之间有何本质区别?答:)两种形式dtdschema。)本质区别:schema本身是xml的可以被XML解析器解析(这也是从DTD上发展schema的根本目的)。【中等题】格式良好的XML文档的标准是必须遵守XML规范中的语法规则应满足的条件主要包括:答:文档应包含一个或多个元素文档中只有一个根元素该元素无任何部分出现在其它元素中元素必须正确关闭元素不得交叉属性值必须加引号【中等题】XML与HTML的主要差异(难度:中)答:XML不是HTML的替代。XML和HTML为不同的目的而设计:XML被设计为传输和存储数据其焦点是数据的内容。HTML被设计用来显示数据其焦点是数据的外观。HTML旨在显示信息而XML旨在传输信息。第二十一章JavaXML应用笔试题、填空题、选择题、名词解释【基础题】DOM:DocumentObjectModel文档对象模型【基础题】SAX:SimpleAPIforXML文档边读入边解析、问答题【提高题】请描述出DOM和SAX解析XML文档各有什么有缺点答:DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的这种结构占用的内存较多而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问。SAX:是事件驱动型的XML解析方式。它顺序读取XML文件不需要一次全部装载整个文件。当遇到像文件开头文档结束或者标签开头与标签结束时它会触发一个事件用户通过在其回调事件中写入处理代码来处理XML文件适合对XML的顺序访问。【中等题】你在项目中用到了xml技术的哪些方面举例说明答:用到了数据存储信息配置两方面。数据存储:可以将数据库中的数据保存成一个xml文件以方便网络传输信息配置:strutsconfigxml是struts框架的核心配置文件,该文件由struts应用程序启动时自动加载,struts会从中读取ActionForm,Action等相关配置第二十二章多线程笔试题、填空题、选择题、名词解释、问答题【提高题】请谈谈进程和线程有什么区别?答:进程一般是对操作系统而言的。例如你打开word编辑文档同时打开outlook收取邮件。我们可以说这时系统内有两个进程在运行。即多个程序几乎在同一时间执行多个任务。线程一般是对某一程序而言的。如上例你打开outlook收新邮件的同时还可以看已下载的邮件这两件事没有相互干扰那么我们说此时这一程序中至少有两个线程在运行。即每一个程序在同一时间内执行多个任务。【中等题】多线程有几种实现方法,都是什么同步有几种实现方法,都是什么答:多线程有两种实现方法分别是继承Thread类与实现Runnable接口同步的实现方面有两种分别是synchronized,wait与notify【中等题】sleep()和wait()有什么区别答:sleep()方法是使线程停止一段时间的方法。在sleep时间间隔期满后线程不一定立即恢复执行。这是因为在那个时刻其它线程可能正在运行而且没有被调度为放弃执行除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时如果线程对一个同步对象x发出一个wait()调用该线程会暂停执行被调对象进入等待状态直到被唤醒或等待时间到。【中等题】启动一个线程是用run()还是start()答:启动一个线程是调用start()方法使线程所代表的虚拟处理机处于可运行状态这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。【中等题】请说出你所知道的线程同步的方法。答:wait():使一个线程处于等待状态并且释放所持有的对象的lock。sleep():使一个正在运行的线程处于睡眠状态是一个静态方法调用此方法要捕捉InterruptedException异常。notify():唤醒一个处于等待状态的线程注意的是在调用此方法的时候并不能确切的唤醒某一个等待状态的线程而是由JVM确定唤醒哪个线程而且不是按优先级。Allnotity():唤醒所有处入等待状态的线程注意并不是给所有唤醒线程一个对象的锁而是让它们竞争。【提高题】请描述出线程存在的几种状态?答:)线程可以正在运行(running)。只要获得CPU时间它就可以运行。)运行的线程可以被挂起(suspend)并临时中断它的执行。)一个挂起的线程可以被恢复(resume允许它从停止的地方继续运行。)一个线程可以在等待资源时被阻塞(block)。)在任何时候线程可以终止(terminate)这立即中断了它的运行。一旦终止线程不能被恢复。【提高题】当一个线程进入一个对象的一个synchronized方法后其它线程是否可进入此对象的其它方法答:不能一个对象的一个synchronized方法只能由一个线程访问。第二十三章网络编程笔试题、填空题、选择题、名词解释【中等题】TCP:TransmissionControlProtocol传输控制协议是一种面向连接的保证可靠传输的协议。通过TCP协议传输得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接以便在TCP协议的基础上进行通信当一个socket(通常都是serversocket)等待建立连接时另一个socket可以要求进行连接一旦这两个socket连接起来它们就可以进行双向数据传输双方都可以进行发送或接收操作。【中等题】UDP:UserDatagramProtocol用户数据报协议UDP是无连接通信协议UDP不保证可靠数据的传输但能够向若干个目标发送数据接收发自若干个源的数据。简单的说如果一个主机向另外一台主机发送数据这一数据就会立即发出而不管另外一台主机是否已准备接收数据。如果另外一台主机收到了数据它不会确认收到与否。【基础题】IP:InternetProtocol互联网协议【基础题】LAN:localareanetwork局域网【基础题】WAN:wideareanetwork广域网、问答题【提高题】什么是网络通信协议答:计算机网络中实现通信必须有一些约定即通信协议对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。【提高题】网络通信接口答:为了使两个结点之间能进行对话必须在它们之间建立通信工具(即接口)使彼此之间能进行信息交换。接口包括两部分:硬件装置:实现结点之间的信息传送软件装置:规定双方进行通信的约定协议【提高题】你能说出TCPIP的层协议吗?答:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层第二十四章JEE和Servlet概述笔试题、填空题【基础题】我们常用的Servlet的版本是。【基础题】Tomcat的核心配置文件是serverxml。【基础题】Tomcat中发布一个WEB应用时通常把Web应用发布在webapps目录下。【基础题】Tomcat将Jsp生成的Servlet源文件和和字节码文件放在work目录下。【基础题】Tomcat的内置编码就是使用了ISO。、选择题、名词解释【基础题】JavaEE:JavaPlatformEnterpriseEdition【基础题】HTTP:HypertextTransferProtocol、问答题【提高题】CS和BS之比较答:CS和BS是当今世界开发模式技术架构的两大主流技术。CS是美国Borland公司最早研发BS是美国微软公司研发。)CS架构软件的优势与劣势a)应用服务器运行数据负荷较轻。b)数据的储存管理功能较为透明。c)CS架构的劣势是高昂的维护成本且投资大。d)传统的CS结构的软件需要针对不同的操作系统系统开发不同版本的软件由于产品的更新换代十分快代价高和低效率已经不适应工作需要。)BS架构软件的优势与劣势a)维护和升级方式简单。b)成本降低选择更多。c)应用服务器运行数据负荷较重。【提高题】JEE规范了服务器端应用系统的开发框架其中最核心的思想就是分层和组件的思想那么分层是哪几层分别有哪些组建?答:分层:共分为四层数据层业务层表述层客户层。组件:三大类即业务逻辑组件(EJBJavaBean组件)、Web组件(JSP和Servlet组件)和客户端组件(应用程序客户端组件或Applet组件)。【提高题】JEE是技术还是平台还是框架?答:JEE本身是一个标准一个为企业分布式应用的开发提供的标准平台。JEE也是一个框架包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。【提高题】JAVA种核心技术你能说出来吗?答:JEE基础技术XML、RMI、JNDI、JMSJEE主要技术JDBC、Servlet、JSP、EJBJEE其它技术JTA、JTS、JavaIDL、JavaMail、JAF【基础题】你能说出哪些JEE开发工具和服务器答:开发工具:Borland公司的JBuilderSun公司的SunJavaStudio开源的IDEEclipse服务器:Apache的TomcatIBM的WebSphereBEA的WebLogic【中等题】说一说Servlet的生命周期答:servlet有良好的生存期的定义包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javaxservletServlet接口的init,service和destroy方法表达。【中等题】什么是Web容器答:实现JEE规范中web协议的应用该协议定义了web程序的运行时环境,包括:并发性,安全性,生命周期管理等等第二十五章Servlet笔试题、填空题、选择题、名词解释、问答题【中等题】什么是Web容器答:实现JEE规范中web协议的应用该协议定义了web程序的运行时环境,包括:并发性,安全性,生命周期管理等等【中等题】说一说Servlet的生命周期答:servlet有良好的生存期的定义包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javaxservletServlet接口的init,service和destroy方法表达。【中等题】JAVASERVLETAPI中forward()与redirect()的区别?(中等)答:前者仅是容器中控制权的转向在客户端浏览器地址栏中不会显示出转向后的地址后者则是完全的跳转浏览器将会得到跳转的地址并重新发送请求链接。这样从浏览器的地址栏中可以看到跳转后的链接地址。所以前者更加高效在前者可以满足需要时尽量使用forward()方法并且这样也有助于隐藏实际的链接。在有些情况下比如需要跳转到一个其它服务器上的资源则必须使用sendRedirect()方法。【基础题】写出Servlet类的基本结构?答:publicclassServletNameextendsHttpServlet{publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{}}【基础题】什么情况下调用doGet()和doPost()?答:Jsp页面中的form标签里的method属性为get时调用doGet()为post时调用doPost()。第二十六章JSP笔试题、填空题、选择题【基础题】在Jsp指令中errorPage(“url”)的意思是(C)A将本页面设置为错误的页面B将本页面中所有的错误的信息保存到url变量中C为本页面指定一个错误页面D没有具体的含义、名词解释【基础题】JSP:JavaServerPage【基础题】JS:JavaScript、问答题【中等题】JSP和Servlet有哪些相同点和不同点他们之间的联系是什么?(中等)答:JSP是Servlet技术的扩展本质上是Servlet的简易方式更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于Servlet的应用逻辑是在Java文件中并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为jsp的文件。JSP侧重于视图Servlet主要用于控制逻辑。【中等题】jsp的四种范围是什么?(中等)答:pageContext否是代表与一个页面相关的对象和属性。一个页面由一个编译好的Javaservlet类(可以带有任何的include指令但是没有include动作)表示。这既包括servlet又包括被编译成servlet的JSP页面request是是代表与Web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面涉及多个Web组件(由于forward指令和include动作的关系)session是是代表与用于某个Web客户机的一个用户体验相关的对象和属性。一个Web会话可以也经常会跨越多个客户机请求application是是代表与整个Web应用程序相关的对象和属性。这实质上是跨越整个Web应用程序包括多个页面、请求和会话的一个全局作用域【中等题】JSP中动态INCLUDE与静态INCLUDE的区别?(中等)答:动态INCLUDE用jsp:include动作实现<jsp:includepage="includedjsp"flush="true">它总是会检查所含文件中的变化适合用于包含动态页面并且可以带参数。静态INCLUDE用include伪码实现,定不会检查所含文件的变化适用于包含静态页面<includefile="includedhtm">【中等题】jsp有哪些动作作用分别是什么(中等)答:JSP共有以下种基本动作jsp:include:在页面被请求的时候引入一个文件。jsp:useBean:寻找或者实例化一个JavaBean。jsp:setProperty:设置JavaBean的属性。jsp:getProperty:输出某个JavaBean的属性。jsp:forward:把请求转到一个新的页面。jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记jsp如何使用注释? 答:)<>))****)<!>【中等题】get和post的区别?(难)答:Form中的get和post方法在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下:)Get是用来从服务器上获得数据而Post是用来向服务器上传递数据。)Get将表单中数据的按照variable=value的形式添加到action所指向的URL后面并且两者使用“”连接而各个变量之间使用“”连接Post是将表单中的数据放在form的数据体中按照变量和值相对应的方式传递到action所指向URL。)Get是不安全的因为在传输过程数据被放在请求的URL中而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中然后放在某个地方这样就可能会有一些隐私的信息被第三方看到。另外用户也可以在浏览器上直接看到提交的数据一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。)Get传输的数据量小这主要是因为受URL长度限制而Post可以传输大量的数据所以在上传文件只能使用Post(当然还有一个原因将在后面的提到)。)Get限制Form表单的数据集的值必须为ASCII字符而Post支持整个ISO字符集。)Get是Form的默认方法。第二十七章JSP内置对象笔试题、填空题、选择题、名词解释【基础题】JSP:JavaServerPages,JSP是在Servlet技术上发展起来的已经成为JEE技术应用中非常重要的一个组成部分。JSP是结合HTML、Java代码、JavaScript代码等内容一起处理信息的动态网页技术在BS开发架构中主要用于处理客户端的信息。(简单)、问答题【中等题】Request对象的主要方法有哪些?(中等)答:setAttribute(Stringname,Object):设置名字为name的request的参数值getAttribute(Stringname):返回由name指定的属性值getAttributeNames():返回request对象所有属性的名字集合结果是一个枚举的实例getCookies():返回客户端的所有Cookie对象结果是一个Cookie数组getCharacterEncoding():返回请求中的字符编码方式getContentLength():返回请求的Body的长度getHeader(Stringname):获得HTTP协议定义的文件头信息getHeaders(Stringname):返回指定名字的requestHeader的所有值结果是一个枚举的实例getHeaderNames():返回所以requestHeader的名字结果是一个枚举的实例getInputStream():返回请求的输入流用于获得请求中的数据getMethod():获得客户端向服务器端传送数据的方法getParameter(Stringname):获得客户端传送给服务器端的有name指定的参数值getParameterNames():获得客户端传送给服务器端的所有参数的名字结果是一个枚举的实例getParameterValues(Stringname):获得有name指定的参数的所有值getProtocol():获取客户端向服务器端传送数据所依据的协议名称getQueryString():获得查询字符串getRequestURI():获取发出请求字符串的客户端地址getRemoteAddr():获取客户端的IP地址getRemoteHost():获取客户端的名字getSession(Booleancreate):返回和请求相关SessiongetServerName():获取服务器的名字getServletPath():获取客户端所请求的脚本文件的路径getServerPort():获取服务器的端口号removeAttribute(Stringname):删除请求中的一个属性【基础题】JSP中动态INCLUDE与静态INCLUDE的区别?(简单)答:动态INCLUDE用jsp:include动作实现  它总是会检查所含文件中的变化适合用于包含动态页面并且可以带参数  静态INCLUDE用include伪码实现,定不会检查所含文件的变化适用于包含静态页面【基础题】JSP有哪些内置对象作用和分别是什么?答:JSP共有以下种基本内置组件(可与ASP的种内部组件相对应): request用户端请求此请求会包含来自GETPOST请求的参数response网页传回用户端的回应pageContext网页的属性是在这里管理session与请求有关的会话期applicationservlet正在执行的内容out用来传送回应的输出configservlet的构架部件pageJSP网页本身exception针对错误网页未捕捉的异常第二十八章EL表达式和JSTL标记库笔试题、填空题【基础题】EL表达式的格式是:用美元符号($)定界内容包括在花括号({})中。【基础题】JSTL由四个定制标记库core、format、xml、sql和一个函数库组成。、选择题、名词解释【基础题】EL表达式:ExpressionLanguage表达式语言它是为了便于存取数据而定义的一种语言JSP之后才成为一种标准。【基础题】JSTL:JSPStandardTagLibraryJSP标准标签库、问答题【中等题】JSTL与传统JSP开发手段的区别和优势是什么?答:传统的JSP开发会使用脚本元素在页面中嵌入程序源代码(通常是Java代码)对于这样的JSP页面其软件维护任务的复杂度大大增加了。JSTL使JSP作者可以减少对编制脚本元素的需求甚至可以不需要它们并避免了相关的维护成本。【中等题】EL表达式的隐含对象及其作用(至少说出个)?答:)applicationScope  应用程序范围内的scoped变量组成的集合)cookie  所有cookie组成的集合)header HTTP请求头部字符串)headerValues HTTP请求头部字符串集合)initParam  全部应用程序参数名组成的集合)pageContext  当前页面的javaxservletjspPageContext对象)pageScope 页面范围内所有对象的集合)param 所有请求参数字符串组成的集合)paramValues  所有作为字符串集合的请求参数)requestScope 所有请求范围的对象的集合)sessionScope 所有会话范围的对象的集合第二十九章Web监听器和过滤器笔试题、填空题【基础题】Web监听器的种类可以分为:Servlet上下文(ServletContext)监听、Http会话(HttpSession)监听和请求(ServletRequest)监听。【基础题】如果要编写一个过滤器需要实现javaxservletFilter接口。、选择题、名词解释、问答题【基础题】过滤器的作用是什么?答:截取从客户端发过来的请求并进行处理对数据进行重新编码过滤掉客户的某些不应出现的词汇可以验证用户是否已经登陆。第三十章会话跟踪笔试题、填空题【基础题】在Servlet中我们可以使用HttpServletRequest对象的getSession()方法获取session对象。【基础题】使用Session进行数据传递时调用session对象的getAttribute()方法需要传入的参数类型是String返回的数据类型是Object。、选择题【基础题】从session中获取数据的方法是:(D)getParameter()getCreationTime()getAttributeNames()getAttribute()、名词解释、问答题四种会话跟踪技术(中等)答:会话作用域ServletsJSP页面描述page否是代表与一个页面相关的对象和属性。一个页面由一个编译好的Javaservlet类(可以带有任何的include指令但是没有include动作)表示。这既包括servlet又包括被编译成servlet的JSP页面request是是代表与Web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面涉及多个Web组件(由于forward指令和include动作的关系)session是是代表与用于某个Web客户机的一个用户体验相关的对象和属性。一个Web会话可以也经常会跨越多个客户机请求application是是代表与整个Web应用程序相关的对象和属性。这实质上是跨越整个Web应用程序包括多个页面、请求和会话的一个全局作用域第三十一章MVC笔试题、填空题【基础题】DAO类属于MVC中的模型层,Servlet类属于MVC中的控制层,JSP属于MVC中的视图层、选择题、名词解释【基础题】MVC:MVC是ModelViewController三个英文单词的所写是一种流行的软件设计模式。即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离这样一个应用被分成三个层模型层、视图层、控制层。【基础题】DAO:DataAccessObject数据访问接口【基础题】VO:valueobject值对象、问答题【中等题】简述MVC三个层次的作用。)视图(View):代表用户交互界面一个应用可能有很多不同的视图MVC设计模式对于视图的处理仅限于视图上数据的采集和处理。)模型(Model):就是业务流程状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作模型接受视图请求的数据并返回最终的处理结果。业务模型的设计是MVC最主要的核心部分。业务模型包含一个很重要的模型数据模型。数据模型主要指实体对象的数据保存(持久化)所有有关数据库的操作只限制在该模型中。)控制(Controller):可以理解为从用户接收请求,将模型与视图匹配在一起共同完成用户的请求。控制层并不做任何的数据处理。【中等题】简述MVC的优缺点。优点:开发效率高。松耦合程序灵活性和扩展性好。代码重用度更高。易于人员分工。缺点:)代码复杂度增加。)代码数量增加。)不适合开发小型项目。第三十二章国际化笔试题、填空题【基础题】资源文件的后缀名是properties。【基础题】一个资源文件的名称是appenUSproperties,其中app是指基本名称,en是指语言编码,US是指国家编码。【基础题】资源文件中可以添加不同国家的语言字符,编写完成后需要转换称Unicode编码。、选择题【基础题】资源文件通常放置在WEB工程的(A)中。Aclasses目录BWEB根目录Ctomcat根目录DWEBINF目录、名词解释【基础题】IN:国际化(internationalization)的简称。指的是在软件设计阶段就应该使软件具有支持多种语言和地区的功能。、问答题第三十三章上传与下载笔试题、填空题【中等题】如果tomcat的安装路径是c:tomcat,已经将一个名称为test的WEB应用程序发布到tomcat中,在一个servlet中使用thisgetServletContext()getRealPath("")方法得到的路径是c:tomcatwebappstest。【基础题】文件上传功能中,页面表单的请求方式应设成POST表单类型应设成multipartformdata,使用<inputtype=”file”>表单元素、选择题【中等题】如果需要在url中传递中文参数,需要对中文进行编码,应该采取以下哪个方法(A)。AURLEncodeencode()BURLDecoderdecode()CrequestsetCharacterEncoding()DresponsesetCharacterEncoding()、名词解释、问答题第三十四章Struts笔试题、填空题【基础题】Struts的核心配置文件名称是strutsconfigxml。【基础题】Struts的标记库有strutshtml标记库,strutsbean标记库,strutslogic标记库,strutsnested标记库,strutstiles标记库。【基础题】Struts中使用<html:errors>标记显示错误消息使用<bean:message>标记显示资源文件中的数据,使用strutslogic标记库执行页面逻辑处理。【基础题】在ActionForm中定义FormFile类型的属性可以方便的处理上传。【基础题】一个Action通常可以配置一个或多个ActionForard,ActionForward必须配置name和path两个属性。、选择题、名词解释【基础题】Strtus:Struts是一个非常流行的MVC框架,是Apache软件基金会Jakarta项目中的一个子项目Struts采用JSP作为MVC的视图,采用JavaBean充当模型部分,由ActionServlet具体指定的Action动作类作为控制器负责视图与模型之间的交互。、问答题【中等题】简述Struts的工作流程。)控制器读取配置文件进行初始化工作。)控制器接收Http请求并从ActionConfig中找出对应于该请求的Action子类如果没有对应的Action控制器直接将请求转发给JSP或者静态页面。)在控制器调用具体的Action的execute方法之前ActionForm对象将利用Http请求中的参数来填充自已。还可以在ActionForm类中调用validate方法来检查请求参数的合法性并且可以返回一个包含所有错误信息的ActionErrors对象。)执行具体的的Execute的方法它负责执行相应的业务逻辑。执行完后返回一个ActionForward对象控制器通过该ActionForward对象来进行转发工作。第三十五章Hibernate笔试题、填空题【基础题】Hibernate关注应用程序的持久层。【基础题】ORM指的是对象和关系的映射。【基础题】面向关系概念中的表对应与面向对象概念中的类表中的行对应与对象表中的字段对应与属性。【基础题】Hibernate的核心配置文件名称通常是hibernatecfgxml,对象关系映射文件名称通常是类名加上hbmxml组成。【中等题】Hibernate对象的三种状态瞬时状态,持久状态,脱管状态。【中等题】Hibernate的对象检索方式有OID检索方式HQL检索方式QBC检索方式本地SQL检索方式。、选择题、名词解释【基础题】名词解释Hibernate:Hibernate是一个开放源代码的对象关系映射框架它对JDBC进行了非常轻量级的对象封装使得Java程序员可以使用对象编程思维来操纵数据库。、问答题第三十六章AJAX笔试题、填空题AJAX的核心对象是XMLHttpRequest。AJAX中发送请求的方法是send()服务器返回数据如果是文本用responseText属性访问如果是xml用responseXML属性访问。通常要判断XMLHttpRequest对象的readyState等于并且服务器的状态码等于时进行后续处理。、选择题、名词解释AJAX:AJAX全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML)是一种创建交互式网页应用的网页开发技术。、问答题简述AJAX应用和传统WEB应用的区别。传统WEB应用是页面完全刷新,简单操作也导致重新加载页面全部数据。AJAX应用是部分刷新页面只作必要的数据交换并且可以异步访问服务器端。第三十七章Spring笔试题、填空题、选择题、名词解释SpringSpring是一个开源框架它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外Spring是非侵入式的:典型地Spring应用中的对象不依赖于Spring的特定类。控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC一个对象依赖的其它对象会通过被动的方式传递进来而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面Spring提供了面向切面编程的丰富支持允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务()管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点例如日志或事务支持。容器Spring包含并管理应用对象的配置和生命周期在这个意义上它是一种容器你可以配置你的每个bean如何被创建基于一个可配置原型(prototype)你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而Spring不应该被混同于传统的重量级的EJB容器它们经常是庞大与笨重的难以使用。框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中应用对象被声明式地组合典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等)将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。、问答

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/151

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利