Web方面相关:

291.WEB应用中如果有.class和.jar类型的文件一般分别应该放在什么位置?

答:.class文件放在WEB-INF/classes文件下,.jar文件放在WEB-INF/lib文件夹下

292.元素中有一个输入框(< input type='text' name=”username”id=”username”value=””/>,请用JavaScript语言写一行代码,取得这个输入框中的值。

答:document.getElementById(“username”).value;

293.简单描述一下Servlet与JSP的的相同点和区别点。

区别:

JSP是在HTML代码里写JAVA代码,框架是HTML;而Servlet是在JAVA代码中写HTML代码,本身是个JAVA类。

JSP使人们把显示和逻辑分隔成为可能,这意味着两者的开发可并行进行;而Servlet并没有把两者分开。

Servlet独立地处理静态表示逻辑与动态业务逻辑.这样,任何文件的变动都需要对此服务程序重新编译;JSP允许用特殊标签直接嵌入到HTML页面, HTML内容与JAVA内容也可放在单独文件中,HTML内容的任何变动会自动编译装入到服务程序.

Servlet需要在web.xml中配置,而JSP无需配置。

目前JSP主要用在视图层,负责显示,而Servlet主要用在控制层,负责调度

都是Sun公司推出的动态网页技术。

先有Servlet,针对Servlet缺点推出JSP。JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统翻译成Servlet,Servlet再负责响应用户请求。

294.请简单描述下几个您熟悉JavaScript库,它们有哪些作用和特点?

JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时。为了应对这些调整,许多的 JavaScript库应运而生。这些 JavaScript 库常被称为 JavaScript 框架。

jQuery:

Ext JS - 可定制的 widget,用于构建富因特网应用程序(rich Internet applications)。

Prototype

MooTools。

YUI - Yahoo! User Interface Framework,涵盖大量函数的大型库,从简单的 JavaScript 功能到完整的 internet widget。

295.简单描述HTML,CSS,Javascript在Web开发中分别起什么作用?

1、什么是HTML(超文本标记语言 Hyper Text Markup Language),HTML 是用来描述网页的一种语言。

2、CSS(层叠样式表 Cascading Style Sheets),样式定义如何显示 HTML 元素,语法为:selector {property:value} (选择符 {属性:值})

3、JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行

对于一个网页,HTML定义网页的结构,CSS描述网页的样子,JavaScript设置一个很经典的例子是说HTML就像 一个人的骨骼、器官,而CSS就是人的皮肤,有了这两样也就构成了一个植物人了,加上javascript这个植物人就可以对外界刺激做出反应,可以思 考、运动、可以给自己整容化妆(改变CSS)等等,成为一个活生生的人。

如果说HTML是肉身、CSS就是皮相、Javascript就是灵魂。没有Javascript,HTML CSS是植物人,没有Javascript、CSS是个毁容的植物人。

如果说HTML是建筑师,CSS就是干装修的,Javascript是魔术师。

296.当DOM加载完成后要执行的函数,下面哪个是正确的()

A.

JQuery(expression, [context])

B.

JQuery(html, [ownerDocument])

C.

JQuery(callback)

答案:C

297.举例说明JAVA中如何解析xml,不同方式有和优缺点?

答:1. DOM(Document Object Model)

DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。

【优点】

①允许应用程序对数据和结构做出更改。

②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。

【缺点】

①通常需要加载整个XML文档来构造层次结构,消耗资源大。

2. SAX(Simple API for XML)

SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。

选择DOM还是选择SAX? 对于需要自己编写代码来处理XML文档的开发人员来说, 选择DOM还是SAX解析模型是一个非常重要的设计决策。 DOM采用建立树形结构的方式访问XML文档,而SAX采用的是事件模型。

DOM解析器把XML文档转化为一个包含其内容的树,并可以对树进行遍历。用DOM解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用DOM解析器的时候需要处理整个XML文档,所以对性能和内存的要求比较高,尤其是遇到很大的XML文件的时候。由于它的遍历能力,DOM解析器常用于XML文档需要频繁的改变的服务中。

SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的tag.特别是当开发人员只需要处理文档中所包含的部分数据时,SAX这种扩展能力得到了更好的体现。但用SAX解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。

【优势】

①不需要等待所有数据都被处理,分析就能立即开始。

②只在读取数据时检查数据,不需要保存在内存中。

③可以在某个条件得到满足时停止解析,不必解析整个文档。

④效率和性能较高,能解析大于系统内存的文档。

【缺点】

①需要应用程序自己负责TAG的处理逻辑(例如维护父/子关系等),文档越复杂程序就越复杂。

②单向导航,无法定位文档层次,很难同时访问同一文档的不同部分数据,不支持XPath。

3. JDOM(Java-based Document Object Model)

JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。由于是第一个Java特定模型,JDOM一直得到大力推广和促进。正在考虑通过“Java规范请求JSR-102”将它最终用作“Java标准扩展”。从2000年初就已经开始了JDOM开发。

JDOM与DOM主要有两方面不同。首先,JDOM仅使用具体类而不使用接口。这在某些方面简化了API,但是也限制了灵活性。第二,API大量使用了Collections类,简化了那些已经熟悉这些类的Java开发者的使用。

JDOM文档声明其目的是“使用20%(或更少)的精力解决80%(或更多)Java/XML问题”(根据学习曲线假定为20%)。JDOM对于大多数Java/XML应用程序来说当然是有用的,并且大多数开发者发现API比DOM容易理解得多。JDOM还包括对程序行为的相当广泛检查以防止用户做任何在XML中无意义的事。然而,它仍需要您充分理解XML以便做一些超出基本的工作(或者甚至理解某些情况下的错误)。这也许是比学习DOM或JDOM接口都更有意义的工作。

JDOM自身不包含解析器。它通常使用SAX2解析器来解析和验证输入XML文档(尽管它还可以将以前构造的DOM表示作为输入)。它包含一些转换器以将JDOM表示输出成SAX2事件流、DOM模型或XML文本文档。JDOM是在Apache许可证变体下发布的开放源码。

【优点】

①使用具体类而不是接口,简化了DOM的API。

②大量使用了Java集合类,方便了Java开发人员。

【缺点】

①没有较好的灵活性。

②性能较差。

4. DOM4J(Document Object Model for Java)

虽然DOM4J代表了完全独立的开发结果,但最初,它是JDOM的一种智能分支。它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持、XML Schema支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过DOM4J API和标准DOM接口具有并行访问功能。从2000下半年开始,它就一直处于开发之中。

为支持所有这些功能,DOM4J使用接口和抽象基本类方法。DOM4J大量使用了API中的Collections类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然DOM4J付出了更复杂的API的代价,但是它提供了比JDOM大得多的灵活性。

在添加灵活性、XPath集成和对大文档处理的目标时,DOM4J的目标与JDOM是一样的:针对Java开发者的易用性和直观操作。它还致力于成为比JDOM更完整的解决方案,实现在本质上处理所有Java/XML问题的目标。在完成该目标时,它比JDOM更少强调防止不正确的应用程序行为。

DOM4J是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的Java软件都在使用DOM4J来读写XML,特别值得一提的是连Sun的JAXM也在用DOM4J.

【优点】

①大量使用了Java集合类,方便Java开发人员,同时提供一些提高性能的替代方法。

②支持XPath。

③有很好的性能。

【缺点】

①大量使用了接口,API较为复杂。

二、比较

1. DOM4J性能最好,连Sun的JAXM也在用DOM4J。目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件。如果不考虑可移植性,那就采用DOM4J.

2. JDOM和DOM在性能测试时表现不佳,在测试10M文档时内存溢出,但可移植。在小文档情况下还值得考虑使用DOM和JDOM.虽然JDOM的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它确实没有值得推荐之处。另外,DOM仍是一个非常好的选择。DOM实现广泛应用于多种编程语言。它还是许多其它与XML相关的标准的基础,因为它正式获得W3C推荐(与基于非标准的Java模型相对),所以在某些类型的项目中可能也需要它(如在JavaScript中使用DOM)。

3. SAX表现较好,这要依赖于它特定的解析方式-事件驱动。一个SAX检测即将到来的XML流,但并没有载入到内存(当然当XML流被读入时,会有部分文档暂时隐藏在内存中)。

我的看法:如果XML文档较大且不考虑移植性问题建议采用DOM4J;如果XML文档较小则建议采用JDOM;如果需要及时处理而不需要保存数据则考虑SAX。但无论如何,还是那句话:适合自己的才是最好的,如果时间允许,建议大家讲这四种方法都尝试一遍然后选择一种适合自己的即可。

298.char型变量中能不能存储一个中文汉字?

答:1.java采用unicode编码,2个字节(16位)来表示一个字符, 无论是汉字还是数字,字母,或其他语言都可以存储。

2.char 在java中是2个字节,所以可以存储中文

299.一个类可以实现多个接口,但只能继承一个抽象类。

下面接着再说说两者在应用上的区别:

接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。而抽象类在代码实现方面发挥作用,可以实现代码的重用,例如,模板方法设计模式是抽象类的一个典型应用,假设某个项目的所有Servlet类都要用相同的方式进行权限判断、记录访问日志和处理异常,那么就可以定义一个抽象的基类,让所有的Servlet都继承这个抽象基类,在抽象基类的service方法中完成权限判断、记录访问日志和处理异常的代码,在各个子类中只是完成各自的业务逻辑代码,伪代码如下:

public abstract classBaseServlet extends HttpServlet{ public final void service(HttpServletRequest request,HttpServletResponse response) throws IOExcetion,ServletException { 记录访问日志 进行权限判断 if(具有权限){ try{ doService(request,response); } catch(Excetpion e) { 记录异常信息 } } } protected abstract void doService(HttpServletRequest request,HttpServletResponse response) throws IOExcetion,ServletException; //注意访问权限定义成protected,显得既专业,又严谨,因为它是专门给子类用的 } public class MyServlet1 extendsBaseServlet { protected voiddoService(HttpServletRequest request, HttpServletResponse response) throwsIOExcetion,ServletException { 本Servlet只处理的具体业务逻辑代码 } }

父类方法中间的某段代码不确定,留给子类干,就用模板方法设计模式。

备注:这道题的思路是先从总体解释抽象类和接口的基本概念,然后再比较两者的语法细节,最后再说两者的应用区别。比较两者语法细节区别的条理是:先从一个类中的构造方法、普通成员变量和方法(包括抽象方法),静态变量和方法,继承性等6个方面逐一去比较回答,接着从第三者继承的角度的回答,特别是最后用了一个典型的例子来展现自己深厚的技术功底。

300.比较一下Java 和JavaSciprt

答:JavaScript 与Java是两个公司开发的不同的两个产品。Java 是原Sun 公司推出的面向对象的程序设计语言,特别适合于互联网应用程序开发;而JavaScript是Netscape公司的产品,为了扩展Netscape浏览器的功能而开发的一种可以嵌入Web页面中运行的基于对象和事件驱动的解释性语言,它的前身是LiveScript;而Java 的前身是Oak语言。

下面对两种语言间的异同作如下比较:

1)基于对象和面向对象:Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象;JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object-Based)和事件驱动(Event-Driven)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用;

2)解释和编译:Java 的源代码在执行之前,必须经过编译;JavaScript 是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行;

3)强类型变量和类型弱变量:Java采用强类型变量检查,即所有变量在编译之前必须作声明;JavaScript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型;

4)代码格式不一样。

补充:上面列出的四点是原来所谓的标准答案中给出的。其实Java和JavaScript最重要的区别是一个是静态语言,一个是动态语言。目前的编程语言的发展趋势是函数式语言和动态语言。在Java中类(class)是一等公民,而JavaScript中函数(function)是一等公民。对于这种问题,在面试时还是用自己的语言回答会更加靠谱。

301.什么时候用assert?

答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后, assertion检查通常是关闭的。在实现中,断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true;如果表达式计算为false,那么系统会报告一个AssertionError。

断言用于调试目的:

assert(a > 0); // throws an AssertionError if a <= 0

断言可以有两种形式:

assert Expression1;

assert Expression1 : Expression2 ;

Expression1 应该总是产生一个布尔值。

Expression2 可以是得出一个值的任意表达式;这个值用于生成显示更多调试信息的字符串消息。

断言在默认情况下是禁用的,要在编译时启用断言,需使用source 1.4 标记:

javac -source 1.4 Test.java

要在运行时启用断言,可使用-enableassertions 或者-ea 标记。

要在运行时选择禁用断言,可使用-da 或者-disableassertions 标记。

要在系统类中启用断言,可使用-esa 或者-dsa 标记。还可以在包的基础上启用或者禁用断言。可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。

302.UML是什么?UML中有哪些图?

答:UML是统一建模语言(Unified Modeling Language)的缩写,它发表于1997年,综合了当时已经存在的面向对象的建模语言、方法和过程,是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。使用UML可以帮助沟通与交流,辅助应用设计和文档的生成,还能够阐释系统的结构和行为。UML定义了多种图形化的符号来描述软件系统部分或全部的静态结构和动态结构,包括:用例图(use case diagram)、类图(class diagram)、时序图(sequence diagram)、协作图(collaboration diagram)、状态图(statechart diagram)、活动图(activity diagram)、构件图(component diagram)、部署图(deployment diagram)等。在这些图形化符号中,有三种图最为重要,分别是:用例图(用来捕获需求,描述系统的功能,通过该图可以迅速的了解系统的功能模块及其关系)、类图(描述类以及类与类之间的关系,通过该图可以快速了解系统)、时序图(描述执行特定任务时对象之间的交互关系以及执行顺序,通过该图可以了解对象能接收的消息也就是说对象能够向外界提供的服务)。

用例图:

web程序员面试技巧和注意事项(2022最新Web方面相关面试题解析)(1)

web程序员面试技巧和注意事项(2022最新Web方面相关面试题解析)(2)

web程序员面试技巧和注意事项(2022最新Web方面相关面试题解析)(3)

303.XML 文档定义有几种形式?它们之间有何本质区别?解析XML 文档有哪几种方式?

答: XML文档定义分为DTD和Schema两种形式;其本质区别在于Schema本身也是一个XML文件,可以被XML解析器解析。对XML的解析主要有DOM(文档对象模型)、SAX、StAX(JDK 1.6中引入的新的解析XML的方式,Streaming API for XML) 等,其中DOM处理大型文件时其性能下降的非常厉害,这个问题是由DOM 的树结构所造成的,这种结构占用的内存较多,而且DOM 必须在解析文件之前把整个文档装入内存,适合对XML 的随机访问(典型的用空间换取时间的策略);SAX是事件驱动型的XML解析方式,它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML 的顺序访问;如其名称所暗示的那样,StAX把重点放在流上。实际上,StAX与其他方法的区别就在于应用程序能够把XML作为一个事件流来处理。将XML作为一组事件来处理的想法并不新颖(事实上 SAX 已经提出来了),但不同之处在于StAX允许应用程序代码把这些事件逐个拉出来,而不用提供在解析器方便时从解析器中接收事件的处理程序。

304.你在项目中哪些地方用到了XML?

答: XML的主要作用有两个方面:数据交换(曾经被称为业界数据交换的事实标准,现在此项功能在很多时候都被JSON取代)和信息配置。在做数据交换时,XML将数据用标签组装成起来,然后压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再从XML文件中还原相关信息进行处理。目前很多软件都使用XML来存储配置信息,很多项目中我们通常也会将作为配置的硬代码(hard code)写在XML文件中,Java的很多框架也是这么做的。

305.用JavaScript实现用正则表达式验证,某个字符串是合法的6位数字的邮编的函数

Function testE(ss){ var reg=/^[1-9][0-9]{5}$/; if(req.test(ss)){ alert(“邮编OK”) }else{ alert(“邮编格式不正确”); } }

306.请使用JQuery将页面上的所有元素边框设置为2pix宽的虚线?

$(“*”).css(“border”,”2px dashed”)

307.如何设定JQuery异步调用还是同步调用?

答案:调用jQuery中的ajax函数,设置其async属性来表明是异步还是同步,如下:

$.ajax({async:true//表示异步,false表示同步})

308.说出3条以上firefox和IE的浏览器兼容问题?

答案:兼容firefox的 outerHTML,FF中没有outerHtml的方法

IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象.解决方法:统一使用[]获取集合类对象.

IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义属性.解决方法:统一通过getAttribute()获取自定义属性

309.请用Jquery语言写出ajax请求或者post请求代码

$.post(“show”,{uname=”张三”,pwd=”123”},function(data){ alert(data) })

310.body中的onload ()函数和jQuery中document.ready()有什么区别?

答案:ready 事件的触发,表示文档结构已经加载完成(不包含图片等非文字媒体文件)

onload 事件的触发,表示页面包含图片等文件在内的所有元素都加载完成。

311.jQuery中有哪几种类型的选择器?

答案:

基本选择器

层次选择器

基本过滤选择器

内容过滤选择器

可见性过滤选择器

属性过滤选择器

子元素过滤选择器

表单选择器

表单过滤选择器

312.EasyUI中datagrid刷新当前数据的方法?

答案:使用reload()即可

313.分别写出一个div居中和其中的内容居中的css属性设置

Div居中:

margin:auto 0px;

内容居中:

text-align:center;

314.概述一下session与cookie的区别

答案:

存储角度:

Session是服务器端的数据存储技术,cookie是客户端的数据存储技术

解决问题角度:

Session解决的是一个用户不同请求的数据共享问题,cookie解决的是不同请求的请求数据的共享问题

生命周期角度:

Session的id是依赖于cookie来进行存储的,浏览器关闭id就会失效

Cookie可以单独的设置其在浏览器的存储时间。

315.JavaScript 中 null和 undefined 是否有区别?有哪些区别?

答案:

赋值角度说明:

null 表示此处没有值,undefined表示此处定义了但是没有赋值

从数据转换角度:

Null在做数值转换时会被转换为0,undefined会被转换为NaN

316.Servlet中的doPost和doGet方法有什么区别?它们在传递和获取参数上有什么区别?

答案:

区别:doPost用来处理post请求,doGet用来处理get请求,获取参数:获取的参数是相同的都是HttpServletRequest \HttpServletResponse

317.请写出一段jQuery代码,实现把当前页面中所有的a元索中class 属性为“view-link”的链接都改为在新窗口中打开

答案:$(“a[class=view-link]”).attr(“target”,”_blank”)

318.如下JavaScript代码的输出为:

var scope ="global scope"; function checkscope() { var scope ="local scope”; return function() { return scope} } console.log (checkscope()());

319.Jquery中’.get()’与’.eq()’的区别

eq返回的是一个jquery对象 get返回的是一个html对象

320.如何给weblogic定内存的大小?

在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M

321.TCP为何采用三次握手来建立连接,若釆用二次握手可以吗,请说明理由?

三次握手是为了防止已失效的连接请求再次传送到服务器端。 二次握手不可行,因为:如果由于网络不稳定,虽然客户端以前发送的连接请求以到达服务方,但服务方的同意连接的应答未能到达客户端。则客户方要重新发送连接请求,若采用二次握手,服务方收到重传的请求连接后,会以为是新的请求,就会发送同意连接报文,并新开进程提供服务,这样会造成服务方资源的无谓浪费

322.以下HTTP相应状态码的含义描述正确的是()

A.

200ok表示请求成功

B.

400不良请求表示服务器未发现与请求URL匹配内容

C.

404未发现表示由于语法错误儿导致服务器无法理解请求信息

D.

500内部服务器错误,无法处理请求

答案:D

分析:

A 200ok 表示的意思是一切正常。一般用于相应GET和POST请求。这个状态码对servlet是缺省的;如果没有调用setStatus方法的话,就会得到200。

B 400 表示指出客户端请求中的语法错误

C 404 客户端所给的地址无法找到任何资源

323.JSP页面包括哪些元素?()

A.

JSP命令

B.

JSP Action

C.

JSP脚本

D.

JSP控件

答案:C

分析:JSP页面元素构成如下,因此ABD错误

A 200ok 表示的意思是一切正常。一般用于相应GET和POST请求。这个状态码对servlet是缺省的;如果没有调用setStatus方法的话,就会得到200。

B 400 表示指出客户端请求中的语法错误

C 404 客户端所给的地址无法找到任何资源

web程序员面试技巧和注意事项(2022最新Web方面相关面试题解析)(4)

324.Ajax有四种技术组成:DOM,CSS,JavaScript,XmlHttpRequest,其中控制文档结构的是()

A.

DOM

B.

CSS

C.

JavaScript

D.

XmlHttpRequest

答案:A

325.下面关于session的用法哪些是错误的?()

A.

HttpSession session=new HttpSession();

B.

String haha=session getParameler(:haha”);

C.

session.removeAttribute(“haha”);

D.

session.setAttribute(:haha:);XmlHttpRequest

答案:A

326.Jsp九大内置对象

答案:1、request对象

request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。

2、response对象

response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。

3、session对象

session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。

4、application对象

application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。

5、out 对象

out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

6、pageContext 对象

pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。

7、config 对象

config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。

8、page 对象

page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。

9、exception 对象

exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。

327.如何配置一个servlet?

在web.xml中使用如下标签:

<servlet> <servlet-name></servlet-name> <servlet-class></servlet-class> </servlet> <servlet-mapping> <servlet-name></servlet-name> <url-pattern></url-pattern> </servlet-mapping> 或者使用注解方式: @WebServlet(name="servlet", urlPatterns={"/*"})

328.JavaScript,如何定义含有数值1至8的数组?

答: var arr=[1,2,3,4,5,6,7,8]

329.以下JavaScipt语句会产生运行错误的是_()

A.

var obj=( );

B.

var obj=[ ];

C.

var obj=//;

D.

var obj=1;

答案:AC

330.在JSP中,下面__()__块中可以定义一个新类:

A.

<% %>

B.

<% ! %>

C.

<%@ %>

D.

<%=%>

答案:B

分析:B <% ! %> 可用作声明

A不正确

C为引用xxx,比如<% @page xxxxx%>

D为表达式

331.HTML含义和版本变化

HTML含义:

Hyper Text Markup Language 超文本标记语言,是一种用来制作“网页”的简单标记语言;用HTML编写的超文本文档称为HTML文档,HTML文档的扩展名是html或者htm

版本变化:

HTML1.0——在1993年6月作为IETF工作草案发布(并非标准)

HTML 2.0——1995年11月作为RFC 1866发布

HTML 3.2——1997年1月14日,W3C推荐标准

HTML 4.0——1997年12月18日,W3C推荐标准

HTML 4.01(微小改进)——1999年12月24日,W3C推荐标准

HTML 5—2014年10月28日,W3C推荐标准HTML文档结构;

HTML 5.1 - 2016年

HTML 5.2 – 2018年最新版本

HTML 5.3 is coming…

332.什么是锚链接

锚链接是带有文本的超链接。可以跳转到页面的某个位置,适用于页面内容较多,超过一屏的场合 。分为页面内的锚链接和页面间的锚链接 。

例如:1F2F

跳转到2F标记位置

说明:

1.在标记位置利用a标签的name属性设置标记。

2.在导航位置通过a标签的href属性用#开头加name属性值即可跳转锚点位置。

333.HTML字符实体的作用及其常用字符实体

有些字符,比如说“<”字符,在HTML中有特殊的含义,因此不能在文本中使用。想要在HTML中显示一个小于号“<”,需要用到字符实体:<或者<

字符实体拥有三个部分:一个and符号(&),一个实体名或者一个实体号,最后是一个分号(;)

常用字符实体:

显示结果

描述

实体

实体号

空格

<

小于

<

<

>

大于

>

&#

&

and符号

&

&

'

单引号

' (IE不支持)

'

"

引号

"

"

£

英镑

£

£

¥

人民币元

¥

¥

§

章节

¥

¥

©

版权

©

©

334.HTML表单的作用和常用表单项类型

表单的作用:

利用表单可以收集客户端提交的有关信息。

常用表单项类型:

input标签type属性

功能

input标签type属性

功能

text

单行本框

reset

重置按钮

password

密码框

submit

提交按钮

radio

单选按钮

textarea

文本域

checkbox

复选框

select

下拉框

button

普通按钮

hidden

隐藏域

335.表格、框架、div三种HTML布局方式的特点

优点

缺点

应用场合

表格

方便排列有规律、结构均匀的内容或数据

产生垃圾代码、影响页面下载时间、灵活性不大难于修改

内容或数据整齐的页面

框架

支持滚动条、方便导航 节省页面下载时间等

兼容性不好,保存时不方便、应用范围有限

小型商业网站、论坛后台管理

Div

代码精简、提高页面下载速度、表现和内容分离

比较灵活、难于控制

复杂的不规则页面、业务种类较多的大型商业网站

336.form中input设置为readonly和disabled的区别

readonly

disabled

有效对象

.只针对type为text/password有效

对所有表单元素有效

表单提交

当表单元素设置readonly后,表单提交能将该表单元素的值传递出去。

当表单元素设置disabled后,表单提交不能将该表单元素的值传递出去。

337.CSS的定义和作用

CSS的定义:CSS是Cascading Style Sheets(层叠样式表)的简称。

CSS是一系列格式规则,它们控制网页内容的外观。CSS简单来说就是用来美化网页用的。

CSS的具体作用包括:

使网页丰富多彩,易于控制。

页面的精确控制,实现精美、复杂页面 。

338.CSS2常用选择器类型及其含义

选择器名称

案例

语法格式

标签选择器

h3{font-size:24px;font-family:"隶书“; }< h3>JSP< /h3>

元素标签名{样式属性}

类选择器

.red {color:#F00;} < li class="red">Oracle< /li>

. 元素标签class属性值{样式属性}

ID选择器

#p1 {background-color:#0F0;} < p id="p1">content< /p>

#元素标签id属性值{样式属性}

包含选择器

div h3{color:red;} < div> < h3>CSS层叠样式表< /h3> < /div>

父元素标签 子元素标签{ 样式属性 }

子选择器

div>ul{color:blue;} < div> < ul> < li>测试1 < ol> < li>嵌套元素< /li> < li>嵌套元素< /li> < li>嵌套元素< /li> < li>嵌套元素< /li> < /ol> < /li> < li>测试1< /li> < li>测试1< /li> < /ul> < /div>

父元素标签名>子元素名{ 样式属性 }

339.引入样式的三种方式及其优先级别

三种引用方式:

1. 外部样式表(存放.css文件中)

不需要style标签

< link rel=”stylesheet” href=”引用文件地址” />

2. 嵌入式样式表

< style type=“text/css”>

p{color:red;}

< /style>

3.内联样式

标签属性名为style

< p style=“color:red;”>< /p>

优先级级别:内联定义最高、内部CSS次之、外部CSS优先级最低。。

340.盒子模型

盒子模型类似于生活中的盒子,具有4个属性,外边距,内边距,边框,内容。

外边距:margin,用于设置元素和其他元素之间的距离。

内边距:padding,用于设置元素内容和边框之间的距离。

边框:border,用于设置元素边框粗细,颜色,线型。

内容:width,height,用于设置元素内容显示的大小。

web程序员面试技巧和注意事项(2022最新Web方面相关面试题解析)(5)

例如:

<style> body{ margin: 0; /*取消body默认的外边距*/ } #img1{ width:200px; /*设置图片的宽度*/ border: 2px solid black; /*设置图片边框*/ margin: 5px; /*设置图片外边距(表示该图片与其他图片的距离为5px)*/ padding:10px; /*设置图片与边框之间的距离*/ } #img2{ height: 200px; /* 设置图片的高度*/ border: 2px solid black; /*设置图片的边框*/ margin: 5px; /*设置图片外边距*/ padding: 20px; /*设置图片与边框之间的距离*/ } </style> <img id="img1" src="img/2.jpg" /> <img id="img2" src="img/lss.jpg" />

341.JavaScript语言及其特点

Javascript一种基于对象(object-based)和事件驱动(Event Driven)的简单的并具有安全性能的脚本语言。特点:

解释性: JavaScript不同于一些编译性的程序语言,例如C、C 等,它是一种解释性的程序语言,它的源代码不需要经过编译,而直接在浏览器中运行时被解释。

基于对象: JavaScript是一种基于对象的语言。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。

事件驱动: JavaScript可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的响应,是以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,此动作称为“事件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。

跨平台:JavaScript依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。

342.JavaScript常用数据类型有哪些

1、数值型(Number):整数和浮点数统称为数值。例如85或3.1415926等。

2、字符串型(String):由0个,1个或多个字符组成的序列。在JavaScript中,用双引号或单引号括起来表示,如“您好”、‘学习JavaScript’等。 不区分单引号、双引号。

3、逻辑(布尔)型(Boolean):用true或false来表示。

4、空(null)值(Null):表示没有值,用于定义空的或不存在的引用。

要注意,空值不等同于空字符串""或0。

5、未定义(Undefined)值:它也是一个保留字。表示变量虽然已经声明,但却没有赋值。

除了以上五种基本的数据类型之外,JavaScript还支持复合数据类型,包括对象和数组两种。

343.html语法中哪条命令用于使一行文本折行,而不是插入一个新的段落? (B)

A.

< TD>

B.

< BR>

C.

< P>

D.

< H1>

分析:

A < td>定义标准表格

C < p>表示文本一个段落

D < h1>表示对文本标题进行强调的一种标签

344.Ajax的优点和缺点

优点:减轻服务器的负担,按需取数据,最大程度的减少冗余请求,局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验,基于xml标准化,并被广泛支持,不需安装插件等,进一步促进页面和数据的分离

缺点:AJAX大量的使用了javascript和ajax引擎,这些取决于浏览器的支持.在编写的时候考虑对浏览器的兼容性.

345.怎样防止表单刷新重复提交问题?(说出思路即可)

JS脚本方式:

第一种:定义全局变量,在form提交前判断是否已有提交过

<script> var checkSubmitFlg = false; function checkSubmit(){ if(checkSubmitFlg == true){ return false; } checkSubmitFlg = true; return true; } </script> <form action="" onsubmit="return checkSubmit();"> </form>

第二种:单击提交按钮后,立刻禁用改按钮

第三种:单击提交按钮后,弹出屏蔽层,防止用户第二次点击

346.JQuery.get()和JQuery.ajax()方法之间的区别是什么?

JQuery.ajax()是对原生的javaScript的ajax的封装,简化了ajax的步骤,用户可用JQuery.ajax()发送get或者post方式请求,Jquery.get()是对ajax的get方式的封装,只能发送get方式的请求。

347.Jquery里的缓存问题如何解决?例如($.ajax()以及$.get())

$.ajax()请求时候加上cache:false的参数,如:

$.ajax({ type : "get", url : "XX", dataType : "json", cache:false, success : function(json) { } });

$.get()请求时候加上时间,如:

$.get("url","data" new Date(),function(data){});

348.Javascript是面向对象的,怎么体现Javascript的继承关系?

Javascript里面没有像java那样的继承,javascript中的继承机制仅仅是靠模拟的,可以使用prototype原型来实现

349.Javascript的有几种种变量。变量范围有什么不同?

可以分为三种

1、原生类型(string,number,boolean)

2、对象(Date,Array)

3、特殊类型(var vara;(只什么没有定义),var varb = null;(定义一个变量并赋值为null))

350.Js如何获取页面的dom对象

1、直接获取

//1.1 -- id方式获取

var varid = document.getElementById("unameid");

//1.2 -- name获取(获取的是数组对象)

var varname = document.getElementsByName("sex");

//1.3 -- 元素获取(获取的是数组对象)

var varinput = document.getElementsByTagName("input");

2、间接方式获取

//2.1 父子关系 --childNodes

var varchilds = document.getElementById("div01").childNodes;

//2.2 子父关系--parentNode

var varfather2 = document.getElementById("unameid").parentNode;

//2.3 兄弟之间相互获取 nextSibling:下一个节点 previousSibling:上一个节点

351.Servlet API中forward() 与redirect()的区别?

答:为实现程序的模块化,就需要保证在不同的Servlet之间可以相互跳转,而Servlet中主要有两种实现跳转的方式:FORWARD方式与redirect方式。

Forward() : 是服务器内部的重定向,服务器直接访问目标地址的URL,把那个URL的响应内容读取出来,而客户端并不知道,因此在客户端浏览器的地址栏里不会显示跳转后的地址,还是原来的地址。由于在整个定向的过程中用的是同一个Request,因此FORWARD会将Request的信息带到被定向的JSP或Servlet中使用。

Redirect():则是客户端的重定向,是完全的跳转,即客户端浏览器会获取跳转后的地址,然后重新发送请求,因此浏览器中会显示跳转后的地址。同时,由于这种方式比FORWARD方式多了一次网络请求,因此其效率低于FORWARD方式,需要注意到的是,客户端的重定向可以通过设置特定的HTTP 头或写JavaScript脚本来实现。

鉴于以上的区别,一般当FORWARD方式可以满足需求时,尽可能的使用FORWARD方式。但在有些情况下,例如,需要跳转到一个其他服务器上的资源时,则必须使用redirect 方式。

352.Session域和request域什么区别?

作用域:存放数据,获取数据(传递数据)

有效的作用域:生命周期,作用范围

httpServeltRequest:

生命周期:一次请求之间

作用范围:所有被请求转发过的servlet都能获取到

httpSession:

生命周期:一次会话

作用范围:所有的servlet都可以获取到

servletContex:

生命周期:从项目开始运行到服务器关闭

作用范围:所有的servlet都可以获取到

作用域如何选用?

httpServeltRequest:和当前请求有关的信息

httpSession:和当前用户有关的信息

servletContex:访问量比较大,不易更改

353.页面中有一个命名为bankNo的下拉列表,写js脚本获取当前选项的索引值,如果用jquery如何获取

var a = document.getElementsByName("bankNo")[0].value;

var b = $("select[name=bankNo]").val();

354.写出要求11位数字的正则表达式

^[1-9]\d{10}$

355.分别获取指定name、Id的javascript对象,如果用jquey如何获取

js: id--document.getElementById("id"); name--document.getElementsByName("name"); jquery id--$("#id"); name--$("元素名称[name="name值"]");

356.一个页面有两个form,如何获取第一个form

用id方式获取;document.getElementById("id");

357.如何设置一个层的可见/隐藏

可见 : document.getElementById("divid").style.display = "block";

隐藏 : document.getElementById("divid").style.display = "none";

358.描述JSP中动态INCLUDE与静态INCLUDE的区别?

动态导入

1、会将多个jsp页面分别再编写成java文件,编译成class文件

2、jsp文件中允许有相同的变量名,每个页面互不影响

3、当java代码比较多优先选用动态导入

4、效率相对较低,耦合性低

静态导入

1、会将多个jsp页面合成一个jsp页面,再编写成java文件,编译成class文件

2、jsp文件中不允许有相同的变量名

3、当java代码比较少或者没有java代码是优先选用静态导入

4、效率相对较高,耦合性高

359.列举JSP的内置对象及方法

request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。

response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)

out对象是javax.jsp.JspWriter的一个实例,提供了几个方法使你能用于向浏览器回送输出结果

pageContext表示一个javax.servlejt.sp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。

session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息

applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息

config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。

page表示从该页面产生的一个servlet实例

Exception异常

360.列举jsp的四大作用域

page、request、session、application

361.html和xhtml的区别是什么?

HTML与XHTML之间的差别,粗略可以分为两大类比较:一个是功能上的差别,另外是书写习惯的差别。关于功能上的差别,主要是XHTML可兼容各大浏览器、手机以及PDA,并且浏览器也能快速正确地编译网页。

因为XHTML的语法较为严谨, 所以如果你是习惯松散结构的HTML编写者,那需要特别注意XHTML的规则。但也不必太过担心,因为XHTML的规则并不太难。下面列出了几条容易犯的错误,供大家引用。

1:所有标签都必须小写

在XHTML中,所有的标签都必须小写,不能大小写穿插其中,也不能全部都是大写。看一个例子。

错误:< Head>< /Head>< Body>< /Body>

正确:< head>< /head>< body>< /body>

2:标签必须成双成对

像是< p>...< /p>、< a>...< /a>、< div>...< /div>标签等,当出现一个标签时,必须要有对应的结束标签,缺一不可,就像在任何程序语言中的括号一样。

错误:大家好< p>我是muki

正确:< p>大家好< /p>< p>我是muki< /p>

3:标签顺序必须正确

标签由外到内,一层层包覆着,所以假设你先写div后写h1,结尾就要先写h1后写div。只要记住一个原则“先进后出”,先弹出的标签要后结尾。

错误:< div>< h1>大家好< /div>< /h1>

正确:< div>< h1>大家好< /h1>< /div>

4:所有属性都必须使用双引号

在XHTML 1.0中规定连单引号也不能使用,所以全程都得用双引号。

错误:< div style=font-size:11px>hello< /div>

正确:< div style="font-size:11px">hello< /div

5:不允许使用target="_blank"

从XHTML 1.1开始全面禁止target属性,如果想要有开新窗口的功能,就必须改写为rel="external",并搭配JavaScript实现此效果。

错误:< a href="http://blog.mukispace.com" target="_blank">MUKI space< /a>

正确:< a href="http://blog.mukispace.com" rel="external">MUKI space< /a>

362.你做的页面用哪些浏览器测试过?这些测试的内核分别是什么?

1、Trident内核代表产品Internet Explorer,又称其为IE内核。 Trident(又称为MSHTML),是微软开发的一种排版引擎。使用Trident渲染引擎的浏览器包括:IE、傲游、世界之窗浏览器、Avant、腾讯TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。

2、Gecko内核代表作品Mozilla ,FirefoxGecko是一套开放源代码的、以C 编写的网页排版引擎。Gecko是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox、Netscape6至9

3、WebKit内核代表作品Safari、Chromewebkit , 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,主要用于Mac OS系统,它的特点在于源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。主要代表作品有Safari和Google的浏览器Chrome。

4、Presto内核代表作品OperaPresto, 是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。

363.你遇到了哪些浏览器的兼容性问题?怎么解决的?

答:因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况;这是我们常见的兼容性问题。

解决方法:

1、针对不同的浏览器写不同的代码

2、使用jquery屏蔽浏览器差异

遇到不同的兼容问题,需要针对前端进行兼容适配;

364.你知道的常用的js库有哪些?

1.moment.js

举个例子:

用js转换时间戳为日期

let date = new Date(1437925575663); let year = date.getFullYear() '-'; let month = ( date.getMonth() 1 < 10 ? '0' (date.getMonth() 1) : date.getMonth() 1 ) '-'; let day = date.getDate(); ... return year month day; 用moment.js return moment(1437925575663).format('YYYY-MM-DD HH:mm:ss')

2.chart.js

绘制简单的柱状图,曲线图,蛛网图,环形图,饼图等完全够用,用法比较简单。

3.D3.js

功能太强大了,看首页就知道了,感觉没有什么图d3绘不出来的。

4.Rx.js

很好的解决了异步和事件组合的问题。

5.lodash.js

365.Js中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?

alter(),confirm(),prompt()

366.谈谈js的闭包

答:闭包无处不在,比如:jQuery、zepto的核心代码都包含在一个大的闭包中,所以下面我先写一个最简单最原始的闭包,以便让你在大脑里产生闭包的画面:

function A(){ function B(){ console.log("Hello Closure!"); } return B; } var C = A(); C();//Hello Closure!

这是最简单的闭包。

有了初步认识后,我们简单分析一下它和普通函数有什么不同,上面代码翻译成自然语言如下:

(1)定义普通函数 A

(2)在 A 中定义普通函数 B

(3)在 A 中返回 B

(4)执行 A, 并把 A 的返回结果赋值给变量 C

(5)执行 C

把这5步操作总结成一句话就是:

函数A的内部函数B被函数A外的一个变量 c 引用。

把这句话再加工一下就变成了闭包的定义:

当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。

因此,当你执行上述5步操作时,就已经定义了一个闭包!

这就是闭包。

367.写一段js,遍历所有的li,将每个li的内容逐个alert出来

<body> <ul> <li>张三:123</li> <li>李四:456</li> <li>王五:789</li> <li>赵六:147</li> <ul> <body>

function test(){ var varli = document.getElementsByTagName("li"); for (var i=0;i<varli.length;i ) { alert(varli[i].innerText); } }

368.页面上如何用JavaScript对多个checkbox全选

//全选 function checkAll(){ //获取复选框对象--数组对象 var varcheck = document.getElementsByName("name"); //alert(varcheck.length); //遍历for for(var i=0;i<varcheck.length;i ){ varcheck[i].checked = true; } }

369.写一个简单的JQuery的ajax

<script type="text/javascript" src="js/jquery-1.9.1.js" charset="utf-8"></script> <script type="text/javascript"> function testJqAjax(){ //url :请求地址 //type :请求的方式 get/post //data :请求的参数(json/String) //cache:true(走缓存 ) false(不走缓存) //result:当ajax发送成功后会调用success后面的函数,result:相当于形参,返回的数据 //async:是否为异步请求 默认true异步 , false同步 $.ajax({ url:"TestJqAjax", type:"get", /* data:"uname=zhangsan&realname=张三丰", */ data:{uname:"zhangsan",realname:"张三丰"}, cache:false, async:false, success:function(result){ alert(result); } }); } //ajax的get方式的请求 function jqAjaxGet(){ //url,[data],[callback](当ajax发送成功后调用的函数) $.get("TestJqAjax",{uname:"zhangsan",realname:"张三丰"},function(result){ alert(result); }); } function jqAjaxPost() { //url,[data],[callback](当ajax发送成功后调用的函数) $.post("TestJqAjax",{uname:"zhangsan",realname:"张三丰"},function(result){ alert(result); }); } </script>

370.Js截取字符串abcdefg的efg

function test2(){ var str = "abcdefg"; var substr = str.substring(4); alert(substr); }

371.http的请求头信息包含了什么?

请求行(请求方式,资源路径,协议和协议版本号)

若干请求头

请求实体内容

372.http的响应码200,404,302,500表示的含义分别是?

200 - 确定。客户端请求已成功

302 - 临时移动转移,请求的内容已临时移动新的位置

404 - 未找到文件或目录

500 - 服务器内部错误

373.Servlet中request对象的方法有?

/获取网络信息 private void getNet(HttpServletRequest req, HttpServletResponse resp) { System.out.println("TestHttpRequest.getNet(获取客户端的ip):" req.getRemoteAddr()); System.out.println("TestHttpRequest.getNet(获取客户端的端口):" req.getRemotePort()); System.out.println("TestHttpRequest.getNet(获取服务器的ip):" req.getLocalAddr()); System.out.println("TestHttpRequest.getNet(获取服务器的端口):" req.getLocalPort()); } //获取实体内容 private void getContent(HttpServletRequest req, HttpServletResponse resp) { //获取单条信息 String uname = req.getParameter("uname"); //获取多条信息,数组格式 String[] favs = req.getParameterValues("fav"); //遍历数组 //判断 if(favs!=null&&favs.length>0){ for (int i = 0; i < favs.length; i ) { System.out.println("TestHttpRequest.getContent(fav):" favs[i]); } } String un = req.getParameter("un"); System.out.println("TestHttpRequest.getContent():" uname "--" favs "--" un); } //获取请求头信息 private void getHeads(HttpServletRequest req, HttpServletResponse resp) { //获取单条头信息 //System.out.println("TestHttpRequest.getHeads(获取请求头信息-浏览器头信息):" req.getHeader("User-Agent")); //获取所有头信息--返回枚举类型 Enumeration strHeads = req.getHeaderNames(); //遍历枚举类型 while (strHeads.hasMoreElements()) { String strhead = (String) strHeads.nextElement(); System.out.println("TestHttpRequest.getHeads(获取头信息):" req.getHeader(strhead)); } } //获取请求行的信息 private void getLines(HttpServletRequest req, HttpServletResponse resp) { System.out.println("TestHttpRequest.getLines(请求方式***):" req.getMethod()); System.out.println("TestHttpRequest.getLines(资源路径):" req.getRequestURI()); System.out.println("TestHttpRequest.getLines(地址):" req.getRequestURL()); System.out.println("TestHttpRequest.getLines(协议):" req.getScheme()); System.out.println("TestHttpRequest.getLines(协议的版本号):" req.getProtocol()); System.out.println("TestHttpRequest.getLines(获取参数信息):" req.getQueryString()); System.out.println("TestHttpRequest.getLines(项目名称***):" req.getContextPath()); }

374.Javascript的常用对象有哪些

常用对象包括日期对象Date,字符串对象String,数组对象Array

//获取并显示系统当前时间

function testDate(){ var date = new Date(); var fmtDate = date.getFullYear() "-" (date.getMonth() 1) "-" date.getDate() "-" date.getHours() ":" date.getMinutes() ":" date.getSeconds(); alert(fmtDate); }

//获取出’sxt’的下标位置

function testString(){ var str = 'welcome to beijingsxt'; alert(str.indexOf('sxt')); }

//遍历数组信息

function testArray(){ var arr = new Array('a',123,'c',true,'e'); for(var item in arr){ document.write(arr[item] " "); } }

375.DOM和BOM及其关系

BOM浏览器对象模型,由一系列对象组成,是访问、控制、修改浏览器的属性的方法。

DOM文档对象模型,由一系列对象组成,是访问、检索、修改XHTML文档内容与结构的标准方法。

web程序员面试技巧和注意事项(2022最新Web方面相关面试题解析)(6)

web程序员面试技巧和注意事项(2022最新Web方面相关面试题解析)(7)

所有的面试题目都不是一成不变的,特别是像一线大厂,上面的面试题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。最后给大家分享Spring系列的学习笔记和面试题,包含spring面试题、spring cloud面试题、spring boot面试题、spring教程笔记、spring boot教程笔记、最新阿里巴巴开发手册(63页PDF总结)、2022年Java面试手册。一共整理了1184页PDF文档。私信博主(777),祝大家更上一层楼!!!

web程序员面试技巧和注意事项(2022最新Web方面相关面试题解析)(8)

,